Anteprima parziale del testo
Scarica Informatica-Informatica WORD e più Tesi di laurea in PDF di Fondamenti di informatica solo su Docsity!
5/6/25, 11:25 PM ‘about:blank 111233 Informatica WORD Contenuti AO - Introduzione all'informatica Informatica come disciplina La progettazione dei contenuti di questo insegnamento di Informatica si fonda sulla concezione dell'informatica come disciplina scientifica e non soltanto sul ruolo che l'informatica ha assunto nella società contemporanea. A tal fine, si riporta di seguito un passo significativo del Manifesto dell'informatica, un documento uficiale che Îl GRIN ( , l'Associazione Italiana dei Docenti di Informatica, ha sottoscritto per definire il corretto approccio alla disciplina informatica e al suo insegnamento. L'informatica è un elemento essenziale della società moderna, non solo perché necessaria al normale svolgimento di quotidiane attività, ma anche in quanto il suo sviluppo plasma e determina quello dell'intera società. Non esiste campo dell'attività umana in cui le scoperte dell'informatica non abbiano lasciato il segno. L'uso del calcolatore, infatti, è uscito dai campi tradizionali del calcolo scientifico per entrare în tutte le aree della produzione industriale, dalla medicina all'editoria. Due miliardi di persone si collegano ad Internet. Centinaia di milioni di miliardi (i numero non è un errore di battitura) di transistor - i componenti elementari delle tecnologie dell'informazione - popolano i prodotti che ci circondano, dall'automobile all'elettrodomestico, dalla pompa di benzina al videogioco, per l'equivalente della metà del valore economico di questi oggetti. Centinaia di miliardi di istruzioni software, manifestazioni di intelligenza umana, animano questi componenti e attraverso di essi tutti i processi che caratterizzano la nostra società moderna. nel linguaggio comune il termine “informatica” viene usato per riferirsi a tre aspetti tra loro distinti, seppur collegati: 1. operativo: un insieme di applicazioni e manufatti (i computer); 2. tecnologico: una tecnologia che realizza quelle applicazioni; 3. culturale: una disciplina scientifica che fonda e rende possibile quella tecnologia. L'informatica come insieme di applicazioni è la percezione della persona comune; "conoscere l'informatica” significa “saper usare le applicazioni”. L'informatica come tecnologia è la percezione del tecnico (del perito, del laureato, dello specialista, ciascuno al suo livello di competenza); “conoscere l'informatica” significa in questo caso “saper realizzare le applicazioni”. L'informatica come scienza dovrebbe essere invece patrimonio di ogni persona con educazione superiore. Come i principi della fisica, della matematica o della chimica sono utili anche e soprattutto come modello interpretativo della realtà, e non perché chi li conosce possa diventare un fisico, un matematico, 0 un chimico, così i principi fondamentali dell'informatica sono in grado di fornire modelli di interpretazione e una strumentazione culturale utile nella vita comune della persona colta che deve affrontare le sfide del mondo moderno. In altre parole, si può pensare all'informatica come alla scienza che si occupa dei seguenti temi: 1/139 5/6/25, 11:25 PM ‘about:blank 111233 Informatica WORD lo studio dei fondamenti teorici della scienza dell'informazione; la definizione di algoritmi per l'elaborazione automatica delle informazioni; la realizzazione (implementazione) di questi algoritmi; e, infine, l'uso del calcolatore. In definitiva, l'informatica non riguarda | computer più di quanto l'astronomia riguardi i telescopi. Lo studio dell'informatica è quindi importante perché lo sviluppo di algoritmi consente di accrescere le facoltà creative, logiche e cognitive dell'individuo; l'informatica è intrinsecamente multidisciplinare: ogni disciplina prevede una opportuna forma di organizzazione e trattamento delle informazioni; l'informatica offre strumenti per modellare i formalmente problemi e poterne affrontare la risoluzione in modo eficiente ed eficace; le tecnologie dell'informazione sono diventate strategiche in numerosi ‘ambiti applicativi. Esse non solo semplificano lo svolgimento di compiti realizzabili anche senza calcolatore, ma offrono vantaggi sul lungo termine altrimenti non accessibili Branche dell'informatica Nel sentire comune, l'informatica è vista come una disciplina monolitica. Ogni volta che si pensa ad un informatico, si immagina un esperto capace di risolvere qualsiasi problema legato all'uso dei calcolatori. In realtà l'informatica è una disciplina complessa dove si possono riconoscere numerose specializzazioni. Pertanto, è possibile, per non dire frequente, che un esperto sviluppi le proprie competenze rispetto a un sottoinsieme di specializzazioni. A titolo esemplificativo, senza alcuna pretesa di completezza, elenchiamo alcune specializzazioni della disciplina informatica Teoria dell'informazione o Teoria della computazione 9 Algoritmi e struttuze dati e Teoria dei linguaggi di programmazione Informatica applicata Architettura dei calcolatori e Sistemi e architetture (information Technology - IT} Reti di calcolatori Basi di dati 2/139 5/6/25, 11:25 PM ‘about:blank 111233 Informatica WORD accorgersi delle vere potenzialità della macchina di Babbage: sebbene fosse stata progettata per svolgere solo calcoli matematici, Ada riconobbe la possibilità di programmare la macchina per altri fini. In questa versatilità risiede la principale differenza tra un: trice tradizion Nel 1854, le idee di Leibniz vennero riprese da George Boole, che pubblica la propria algebra booleana, creando un sistema nel quale è possibile trattare ogni relazione logica attraverso l'utilizzo di formule algebriche. Le operazioni (come l'addizione, la sottrazione e la moltiplicazione) vengono sostituite da iche con valori di congiunzione, disgiunzione e negazione utilizzando solamente numeri binari (ossia costituiti dalle sole cifre 0 e 1) Alla fine del XIX secolo, Herman Hollerith, un funzionario statunitense dell'uficio per il censimento, sviluppò una macchina tabulatrice, sempre a schede perforate, per Il successo e la richiesta di queste macchine fu tale che nel 1896 Hollerith fondò la Tabulating Machine Company, che nel 1924 divenne la International Business Machine (IBM). Tra gli antenati degli anni '30 del calcolatore, figura il Memex, macchina immaginaria progettata da Vannevar Bush. L'idea era quella di un sistema di iviazione di i . Il dispositivo era descritto come una scrivania dotata di schermi traslucidi, una tastiera, un set di pulsanti e delle leve. Il Memex avrebbe reso possibile la creazione da parte dell'utente di collegamenti tra foto e documenti, e per questo mativo viene oggi ricordato come primo supporto per l'approccio all'ipertesto. Sempre nella prima metà degli anni ‘30, Kurt Gòdel enunciò i suoi famosi teoremi di incompletezza. Oltre a rappresentare un caposaldo nel campo della logica matematica, con importanti implicazioni di ordine filosofico, vero di Alan Turin, matematico, logico e crittoanalista inglese. Egli formalizzò un modello di calcolatore universale (la Macchina di Turing, mai costruita realmente), dimostrò come ogni funzione calcolabile si possa eseguire attraverso un algoritmo installato su una Macchina di Turing, ma dimostrò anche come per alcuni algoritmi non sia possibile sapere a priori se siano eseguibili in un tempo finito o infinito. Tra le implicazioni più importanti della Macchina di Turing si sottolinea come essa_introduca una netta separazione tra la macchina fisica da una parte, e | delle gli algoritmi astratti dall'altra. Le basi teoriche per lo sviluppo dei moderni calcolatori sono ora mature. L'evoluzione del calcolatore Generazione 1: | tubi a vuoto (valvole) Nel 1939, fu la volta del matematico e fisico John Vincent Atanasoft e del suo allievo Clifford Berry, i quali costruirono l'Atanasoft Berry Computer, meglio noto come ABC. Si tratta del primo calcolatore digitale totalmente elettronico, ma mai brevettato. 4/139 5/6/25, 11:25 PM ‘about:blank 111233 Informatica WORD Nel 1945, John von Neumann definisce l'architettura per calcolatori digitali pro " dispositivi moderni di questo tipo. La peculiarità dell'architettura di von Neumann risiede nel fatto che dati e programmi condividono la stessa memoria. Nel 1946 venne presentato l'ENIAC, il primo calcolatore elettronico basato interamente su tecnologia a valvole. Progettato presso l'Università della Pennsyivania, fu il primo vero calcolatore dell'era elettronica in quanto eliminava tutti i dispositivi meccanici. L'ENIAC era in grado di compiere operazioni molto complesse in pochissimo tempo per l'epoca, ma pesava 300 tonnellate e occupava 170 metri quadrati. Quella delle dimensioni rimase per lungo tempo una delle più grandi sfide dell'industria dei calcolatori. Nel 1948, Claude Shannon introdusse il termine bit (contrazione di binary digit), da lui coniato per designare l'unità elementare binaria di informazione {vero e falso, 0 0 e 1). Generazione 2: | transistor Nel 1954, l'IBM propose il primo calcolatore commerciale con memoria su nastro magnetico. Tra le più importanti innovazioni di quegli anni, vi furono l'uso del transistor al posto dei tubi a vuoto e l'evoluzione dei linguaggi di programmazione. Nel 1959 venne lanciato l’IBM 705, che usava il FORTRAN, un linguag: di programmazione molto più vicino a quello umanatispetto alle istruzioni comprensibili dal calcolatore. I problemi principali che ostacolavano la diffusione commerciale del calcolatore restavano i costi elevati e la dimensione di queste macchine. Generazione 3: | circuiti integrati Il problema delle dimensioni durò fino al 1964, quando l'azienda italiana Olivetti introdusse Programma 101, da molti considerato il primo personal computer (PC) della storia, in quanto disponeva delle principali caratteristiche dei grandi calcolatori dell'epoca, ma era suficientemente compatto da stare su una scrivania. Tuttavia, non aveva uno schermo: le informazioni erano trasmesse all'utente per mezzo di un nastro di carta stampata. Parallelamente, la Digital Equipement Corporation introdusse il suo primo minicomputer, Il PDP-8, dotato di uno schermo molto rudimentale (sostanzialmente un oscilloscopio). Generazione 4: Il microprocessore Agli inizi degli anni ‘70, la Intel Corporation sviluppò il microprocessore, il primo circuliaditagtsta Spada dicontenere l'intera unità di calcolo di un calcolatore. In seguito, venne commercializzato quello che viene oggi considerato il primo PC della storia per come lo intendiamo oggi, l'Apple II, con il suo sistema operativo chiamato Apple Dos. 5/139 5/6/25, 11:25 PM ‘about:blank 111233 Informatica WORD Si sottolinea inoltre come l'eficacia e la complessità di un algoritmo dipendano anche dall'organizzazione dei dati a disposizione dell'algoritmo per la risoluzione del problema. Esistono molti modi di organizzare i dati, ognuno dei quali ha pregi e difetti. In genere gli aspetti più rilevanti di cui tenere conto sono: + la quantità di spazio occupato; + la velocità con cui è possibile reperire un determinato dato; + _la facilità con cui si possono aggiungere, modificare o eliminare dati. Infine, un programma può essere definito come un algoritmo scritto in un linguaggio comprensibile al calcolatore, che utilizza dati organizzati secondo una determinata strategia ed è vincolato alle risorse disponibili e alle condizioni al contorno del calcolatore sul quale il programma viene eseguito. Contenuti G1 - Co. ‘a dell'informazione Informazione e codifica L'informazione può essere definita come un mediante una rappresentazione simbolica ed inseri ipterpretativo. nerale, per rappr; re le informazioni è possibile Aidiicle sistemi Moi diversi, Ad , come mostrato nella Figura 2.1, X.IBtdre. delalfabeto, i numeri i ri romani 0 ancora i segnali Fa) egro sito die mente usati per rappresentare e orfunicdn e informazioni LILUI IM... () iguira 2.1. Sistemi di simboli per la rappresentazione di informazioni. Esiste dunque una corrispondenza arbitraria fra ogni singolo simbolo e l'informazione che esso intende rappresentare. Questa corrispondenza viene chiamata codifica dell’informazione. UMIGEATA FUMARE e di regole. Queste ultime sono definire l'uss.e.Il significato dei simboli. Codificare zione-significa-determinare una corrispondenza fra i segni di un iti che costituiscono l'informazione e il suo significato. 7/139 5/6/25, 11:25 PM ‘about:blank 111233 Informatica WORD Figura 2.2. Due diverse codifiche del divieto di fumo. Di una stessa informazione sono possibili diverse codifiche che usano regole e segni diversi. Ad esempio, in un ristorante si può trovare un cartello con la scritta “vietato fumare” o più semplicemente il simbolo della sigaretta con il divieto. Nonostante l'informazione sia sempre la stessa, ossia che in quel ristorante non si può fumare, per trasmetterla si possono utilizzare codici (cioè simboli) anche molto diversi tra loro. Come costruire un co e Si voglia costruire un codice per comunicare a uno studente il voto conseguito a un esame universitario senza usare la normale numerazione in trentesimi. Le possibili informazioni che Il codice deve poter rappresentare sono: “insuficiente”, i voti da diciotto a trenta e il voto “trenta e lode”. Per prima cosa, si deve individuare un insieme di simboli che costituisca il codice, avendo cura di definire un simbolo per ognuna delle informazioni da rappresentare. Ci sarà quindi bisogno di 15 simboli diversi e si dovrà associare ad ogni simbolo la corrispondente informazione, definendo un’opportuna tabella di codifica come nell'esempio della Figura 2.3. informazione __| Simbolo Insurtisienta |! te) 6 TT) s 2 CI Fa s Ei I 2A ti E) & 26 x di 2 30 i SI eos 1 8/139 5/6/25, 11:25 PM ‘about:blank 111233 Informatica WORD Fiaturazzioni MbsiF®a eselnpio di tabella di codifica basata sui quattro aan sgnsice gti 18 sE 19 20 21 2 G 2 G 24 5% 25 si 26 $5 27 5% 28 $% 29 %I 30 “e 30 e lode #5 Figura 2.4. Esempio di codice peri voti di un esame universitario basato su quattro simboli. In questo modo, dato un voto, la lunghezza del messaggio codificato sarà pari a due simboli, il doppio rispetto all'unico simbolo richiesto dal codice della Figura 2.3. Si noti inoltre che sono importanti tanto i simboli quanto la posizione che questi occupano nel messaggio. Infatti il significato di "15" è ben diverso da dolo Codifica binaria REI La rappresentazione dell'informazione numerita può adottare varie tecniche. Normalmente si usa la numerazione decimale posizionale, dove una cifra assume un valore dipendente dalla posizione che occupa nel numero. Per esempio, la cifra “2” nel numero 1 vale *10° (dove 0 è la posizione occupata dal 2 nel numero in esame) e nel numero 987 vale *10° (dove 3 è la posizione occupata dal 2 nel numero in esame). Adottando una numerazione in base 10 si hanno 10 cifre con le quali costruire i numeri: 0, 1, 2, 3, 4, 5, 6,7,8 e 9. Esistono molti altri tipi di numerazione in cui ilnumero di cifre è minore a 10, come ad esempio nella numerazione inari; jed Leibniz e si basa sull'utilizzo di soltanto due cifre: 0 e 1. La differenza è che mentre nella numerazione decimale il valore si misura in potenze di 10, nel caso della numerazione binaria il valore si misura in potenze di 2. A parità di valore da 10/139 5/6/25, 11:25 PM ‘about:blank 111233 Informatica WORD scrivere con la numerazione binaria, è necessario impiegare molte più cifre. Questo tipo di numerazione divenne fondamentale con l'avvento dei calcolatori elettronici, poiché le due cifre 0 e 1 sono intuitivamente associabili ai due possibili stati fisici del calcolatore, come ad esempio passaggio/non-passaggio di corrente attraverso un cavo elettrico; polarizzazione/non-polarizzazione di una sostanza magnetizzabile; carica elettrica positiva/negativa di una sostanza. Per manipolare ed elaborare informazioni (numeri, testo, immagini, audio, video), il calcolatore ha bisogno che queste siano codificate attraverso un codice composto dai soli simboli di 0 e 1. Tale rappresentazione dell'informazione prende il nome di rappresentazione binaria o rappresentazione digitale. Un bit (binary digit) rappresenta l'unità minima di informazione, ossia una sola unità informativa che può avere valore 0 o 1. Per poter rappresentare un numero maggiore di informazioni sarà necessari Ad esempio, si supponga di voler fornire una rappresentazione binaria del codice della Figura 2.4. Ogni informazione, cioè ogni possibile voto, deve avere {irerrappresentazigne binaria diversa dalla codifica degli altri voti, come hotrato reltà Figura 2.5 CERO soc Figura 2.5. Esempio di codifica binaria per i voti di un esame universitario. Si noti che, poiché il numero di simboli che costituiscono il codice binario è due (0 e 1), la lunghezza di ogni informazione è maggiore rispetto all'esempio della Figura 2.4 in cui si erano usati quattro simboli, All'aumentare del un simbolo, aumenta la quantità di informazioni rappresentabili. Ad esempio, nel caso in ro), il numero di bit determina il valore massimo rappresentabile, mentre nel caso di un numero irrazionale (con virgola), il numero di bit determina implicitamente anche la precisione con cui è possibile rappresentarlo, Nel primo caso sono frequenti le rappresentazioni a 8, 16 e 32 bit, mentre nel secondo caso sono più comuni rappresentazioni a 32 e 11/139 5/6/25, 11:25 PM 111233 Informatica WORD | codici attualmente più utilizzati per rappresentare digitalmente i testi sono: . un codice di 8 bit (1 byte) un codice che può essere usato a 8, 16 o 32 bit (1,204 byte) e che codifica i caratteri usati in quasi tutte le lingue vive e in alcune lingue morte, nonché simboli matematici e chimici, cartografici, l'alfabeto Braille, ideogrammi, ecc. In base al numero di bit usati prende il nome di UTF-8, UTF-16 0 UTF-32 (per garantire la compatibilità tra i diversi sistemi, la codifica dell'ASCII Esteso è uguale a quella di UTF-8) Il fatto che un codice “sia di 8 bit” significa che la rappresentazione di un singolo carattere occupa 8 bit (ad esempio, la lettera “a” nella codifica ASCII è rappresentata dal codice 01100001) e che, complessivamente, il codice è in grado di rappresentare fino a 2*=256 caratteri diversi. Questa considerazione è generalizzabile: dato un codice di N bit possiamo dire che ogni carattere di quel codice occupa N bit e che complessivamente il codice può rappresentare fino a 2* caratteri diversi. Il primo alfabeto codificato è stato l'alfabeto anglosassone. Questo primo codice venne chiamato ASCII (American Standard Code for information Interchange). In origine l’ASCII era a 7 bit, cioè esistevano 27=128 diverse combinazioni di bit per la rappresentazione dei caratteri. Questo significa che ASCII a 7 bit è in grado di rappresentare fino a 128 caratteri diversi. oumio: ‘about:blank 13/139 5/6/25, 11:25 PM 111233 Informatica WORD ‘about:blank 14/139 5/6/25, 11:25 PM 111233 Informatica WORD ‘about:blank 16/139 5/6/25, 11:25 PM 111233 Informatica WORD ‘about:blank 17/139 5/6/25, 11:25 PM 111233 Informatica WORD ‘about:blank 19/139 5/6/25, 11:25 PM 111233 Informatica WORD ‘about:blank 20/139