






Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Questo testo tratta della storia tecnologica e scientifica dell'informatica, dall'epoca delle macchine calcolatrici a ingranaggi fino ai moderni computer digitali. Viene descritto il lavoro pionieristico di John von Neumann e la nascita della informazione automatica. Il documento illustra inoltre i concetti di hardware, software, dati, rappresentazione delle informazioni, il bit e il byte.
Tipologia: Appunti
1 / 11
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!







Libro: informatica per lingue e scienze della mediazione linguistica
Effettuare calcoli a mente o “a mano” è un’attività noiosa e incline all’errore quindi per secoli
l’uomo ha cercato di porre rimedio a questo fatto “automatizzando” il calcolo.
È stata la prima “macchina di calcolo” che risale al V millennio e non è molto diverso da un foglio
di carta poiché il calcolo è sempre fatto da noi e mi aiuta solo a leggere il risultato. La logica e la
correttezza dell’operazione dipendono unicamente dall’utente.
Bisogna aspettare ino al XVII secolo d.C. La Pascalina è il primo grande passo avanti: la logica
dell’operazione è controllata dalla macchina (solo somme e differenze). Le moltiplicazioni e
divisioni potevano essere calcolate mediate ripetizioni di addizioni. Si può quindi pensare di
affrontare il problema modificando la macchina in modo da introdurre le divisioni e le
moltiplicazioni.
Nuovi problemi: radice quadrata? Algoritmo? etc. Non si sta spostando il problema ma lo si
rimanda quindi il vero problema è che la logica che governa le operazioni è “cablata” nella
macchina calcolatrice.
La soluzione è di trattare tale logica come parte dell’input della macchina (ovvero il computer
poiché il computer è programmabile , invece la calcolatrice fa solo quello che i suoi circuiti gli
permettono di fare).
Introdotta da Charles Babbage intorno al 1840, è il primo esempio di macchina di calcolo
programmabile (vengono forniti gli addendi e la logica dell’operazione). Babbage era molto avanti
rispetto ai suoi tempi poiché la tecnologia non era ancora sviluppata a sufficienza e l’esigenza di
automatizzare il calcolo non era forte, per questi motivi le sue idee non ebbero il successo che
avrebbero meritate e furono dimenticate per quasi un secolo.
Le idee di Babbege vennero “riscoperte” nella prima metà del ‘900 da Alan Turing e da John von
Neumann; Turing è uno dei padri dell’informatica e moltissime sue idee sono attuali anche oggi ->
LA MACCHINA DI TURING: riprende l’idea di Babbage ed è un modello astratto di calcolatore: è un
“esperimento mentale” (modello astratto), non una macchina effettivamente costruibile, pensata
per studiare i limiti di ciò che è calcolabile automaticamente, è universale perché può calcolare
tutto ciò che è calcolabile in modo automatico. Alla base del suo funzionamento c’è la stessa idea
alla base della macchina analitica.
John von Neuman invece descrive un calcolatore effettivamente costruibile che è ancora oggi il
modello su cui si basano i computer moderni.
INFORMATICA: definizione
· Informatica in inglese: information and communication technology: informatica come
tecnologia, risvolti fisico-matematici e ingegneristici del calcolo automatico; teorie e
tecniche di comunicazione
· Computer science: informatica come scienza basata su modellizzazione, formalizzazione e
verifica sperimentale. “Computer science is no more about computers than astronomy is
about telescopes.” (E. Dijkstra)
STORIA TECNOLOGICA (in generale)
· 1600: macchine calcolatrici a ingranaggi (Pascal etc.)
· 1800: macchine con schede perforate e primi programmi (Babbage etc.)
· 1920: erano chiamati computer gli impiegati che eseguivano calcoli numerici
· 1940: macchine e relay meccanici (Bell Laboratories, Mark I presso Harvard University e
· 1950: macchine dei von Neumann (schede perforate, nastri magnetici, transitor, circuiti
stampati)
· 1980: microcomputer (home computer, personal computer)
STORIA SCIENTIFICA (in generale)
· 300 a.C.: algoritmo di Euclide per MCD
· 1800: Boole (metodi puramente simbolici per modellare il ragionamento)
· 1930: Church, Turing (modello formale astratto di computer, computer come macchina
universale, promblemi che un computer non può risolvere)
· 1940: Shannon (teoria dell’informazione)
· 1950/60: Dijkstra etc. (algoritimi fondamentali, linguaggi di programmazione etc.)
· 1970: Codd etc. (database relazionali, crittografia a chiave pubblica ovvero messaggi segreti
etc.)
INFROMATICA: informazione automatica ovvero l’insieme di processi e delle tecnologie che
consentono la creazione, la raccolta, l’elaborazione, l’immagazzinamento e la diffusione
dell’informazione. Le tecnologie informatiche hanno tre funzioni principali:
un nuovo processo di elaborazione
interessanti o più utili
Il calcolatore NON inventa nuove informazioni.
· Grandi sistemi informatici (prenotazioni aeree, previsioni del tempo etc.)
· Piccoli sistemi informatici (orologi, telefoni etc.)
I computer non elaborano solamente i numeri ma possono elaborare anche testi, immagini, suoni
etc. ed è sufficiente che l’informazione sia rappresentabile in modo digitale.
I SEGNALI possono essere ANALOGICI o DIGITALI:
interferenze (luminosità).
off). I vantaggi del digitale: semplice, non ambiguo (non sensibile alle interferenze), riproducibile
senza errori.
Segnale binario: discreto su due valori ed è l’elemento di base per rappresentare le informazioni;
semplice e può rappresentare (quasi) ogni informazione. Bit=binary digit (cifra binaria)
Viene realizzato:
· Presenza/assenza di carica elettrica
· Direzione di magnetizzazione
· Presenza/assenza di corrente/tensione
· Passaggio/non passaggio di luce
Un BIT può assumere due valori (0 e 1), quindi con un bit possiamo rappresentare due
informazioni (si/no, vero/falso etc.)
ES: 0=no 1=sì, oppure 0=giù 1=su, oppure 0=off 1=on, oppure 0=falso 1=vero
Come fare per rappresentare più di due informazioni usando i bit?
Combiniamo più bit per rappresentare ogni informazione 2 bit -> 4 informazioni:
Es.: Un esame con 4 possibili esiti: insufficiente (00), sufficiente (01), buono (10), ottimo (11)
Con 1 bit: 0 e 1 (due informazioni)
Con 2 bit: 0 0, 0 1, 1 0, 1 1, 0 0, 0 1, 1 0, 1 1 (4 informazioni)
Con 3 bit: 0 0 0, 0 0 1, 0 1 0, 0 1 1, 1 0 0, 1 0 1, 1 1 0, 1 1 1 (8 informazioni)
Etc.
Con N bit si rappresentano 2N informazioni. ( tabella slide )
Problema inverso: se abbiamo K informazioni, di quanti bit abbiamo bisogno per rappresentarle?
Dobbiamo utilizzare un numero di bit sufficiente per esprimerle tutte, per cui dobbiamo scegliere
N in modo che 2N ≥ K
ESEMPIO: per rappresentare 61 informazioni diverse si devono usare N bit tali che 2N ≥ 61 quindi
5 non sono sufficienti poiché 2 elevato alla 5 fa 32, ne servono quindi 6 poiché 2 elevato alla 6 f 64.
Riassumendo:
Quindi: per rappresentare K informazioni, si devono usare N bit, in modo che 2N ≥ K
È stato attribuito un significato particolare ai gruppi di 8 bit -> 8 bit formano un byte (2 elevato
all’ottava quindi 256 informazioni diverse). Il byte viene utilizzato (insieme al bit) come unità di
misura per esprimere la capacità della memoria, la potenza di un calcolatore, la velocità di
trasmissione di una linea (usato per comodità). Tabelle slide (unità di misura).
Distinzione tra numerale e numero:
(es. 6, sei, sia, VI sono numerali che rappresentano tutto lo stesso numero)
Decimale: "alfabeto" di 10 cifre di base -> 0,1,2 etc. -> es. numerale 245:
La potenza di 10 da considerare dipende dalla posizione della cifra.
Notazione posizionale : la posizione di una cifra in un numerale indica il suo peso in potenze di 10
e i pesi sono:
Es. il numerale 3704 in notazione decimale (o in base 10) rappresenta la quantit à̀ rappresentare 2 informazioni: 3704 ovvero
310alla3 + 710alla2 + 010alla1 + 410alla0 = 3000 + 700 + 0 + 4 = 3704 (numero)
N.B.: siamo abituati a usare il sistema a base 10 per rappresentare i numeri. Pertanto, è comune
“confondere” numero e numerale. Se vogliamo evitare ambiguit à̀ rappresentare 2 informazioni, usiamo la notazione -> 3704 10
Binario : "alfabeto" di 2 cifre di base -> 0,1. Il numero di cifre coincide con il numero di bit. Es. 101
2 : 1 volta 2alla2, 0 volte 2alla1, 1 volta 1alla0.
La potenza di 2 da considerare dipende dalla posizione della cifra.
Notazione posizionale : la posizione di una cifra in un numerale indica il suo peso in potenze di 2 e i
pesi sono:
Quando si è definito il numero di cifre con cui si rappresentano i numeri, si definisce anche il
massimo numero rappresentabile. È possibile rappresentare numeri pi ù̀ rappresentare 2 informazionigrandi a spese della
precisione. ( Esempio numerale 345 10 slide pag.44)
Conversione da base 2 a base 10 :
02alla2 + 12alla1 + 0*2alla0 = 16+8+2=26 10 = 26 ovvero somma di potenze di 2. Osservazione:
un numero binario che termina con 0 è pari, altrimenti con 1 è dispari. Perch é́? Perché́ gli altri? Perch é́? Perché́ gli altri gli altri
addendi sono sicuramente pari!
Conversine da base 10 a base 2 : numerale 6 10 -> esempio su slide da pag. 77 in poi.
Rappresentazione dei caratteri : Per rappresentare i caratteri, occorre stabilire una convenzione
per la corrispondenza tra configurazione di bit e carattere: codice ASCII -> American Standard
Code for Information Interchange.
N.B.: uno standard è necessario per permettere lo scambio di informazioni testuali.
Questo codice usa i 7 bit meno significativi di un byte (2alla7 = 128 diversi caratteri
rappresentabili). Rappresenta (oltre ad altri caratteri) le lettere dell’alfabeto anglosassone
maiuscole e minuscole, le cifre, i segni di punteggiatura.
Nel codice ASCII le lettere maiuscole hanno associato un codice pi ù̀ rappresentare 2 informazionipiccolo delle lettere
minuscole. Di conseguenza, se chiediamo a un computer di ordinare alfabeticamente
(lessicograficamente) le parole “abete” e “Zacinto”, le metter à̀ rappresentare 2 informazioniin questo ordine: 1 Zacinto 2 abete
-> problema: insufficiente per rappresentare i comuni segni diacritici (per es. lettere accentate) ->
soluzione: codice ASCII esteso che usa 8 bit -> ovvero massimo 2alla8 (256) e raddoppia quindi i
caratteri rappresentabili.
N.B.: le cifre da 0 a 9 rappresentate in ASCII sono caratteri (simboli) e non quantit à̀ rappresentare 2 informazioninumeriche,
quindi:
non facciamo calcoli aritmetici
stringhe (sequenze di caratteri) “3” e “20431”, le metter à̀ rappresentare 2 informazioniin questo ordine: prima 20431 e poi 3.
Problema :
cinese o giapponese) quindi non esiste un unico ASCII esteso, ma uno (o pi ù̀ rappresentare 2 informazioni) diverso per ogni
lingua è però problematico rappresentare testi complessi, che comprendano sistemi di scrittura
diversi.
Soluzione : definire uno standard (cio è̀ rappresentare 2 informazioniuna convenzione) che:
Ovvero -> unicode e ISO/IEC 10646 che coprono quasi tutte le lingue del mondo. Utilizzano fino 4
byte per ogni carattere.
UTF (Unicode Transformation Format) definisce come codificare il numero di un carattere Unicode
come sequenza di bit:
compatibile con ASCII: i caratteri codificati con 8 bit coincidono con i caratteri ASCII. Quindi la più
usata per e-mail e pagine web.
Windows.
Vi sono varie tecniche utilizzate per memorizzare in modo digitale un’immagine, e poi elaborarla,
per semplificare, immaginiamo di dover codificare un'immagine in bianco e nero; l'immagine viene
suddivisa da una griglia formata da linee a distanza costante. ( foto slide pag. 108 e seguenti ) ->
ogni quadrato derivante da tale suddivisione viene chiamato pixel (picture element) e pu ò̀ rappresentare 2 informazioniessere
codificato in binario con la convenzione che:
Problema : per avere una sequenza di bit, in quale ordine leggere i pixel? Occorre una
convenzione: nella slide assumiamo da sx a dx, e dal basso verso l'alto. Non sempre però il
contorno della figura coincide con le linee della griglia ma digitalizzando un'immagine si ha sempre
un'approssimazione dell'immagine stessa.
Come avere quindi un'immagine più fedele? Aumentando la risoluzione, cio è̀ rappresentare 2 informazioniil numero dei pixel (e
rimpiccioliamo i quadratini della griglia di campionamento).
La rappresentazione di un’immagine mediante la codifica dei pixel viene chiamata codifica bitmap.
PERÒ con un solo bit per pixel si possono codificare solo DUE colori quindi per codificare più
informazioni dobbiamo usare più bit (tonalità di grigio -> per ogni quadratino si stabilisce il livello
medio di grigio).
Problema : come associare una rappresentazione binaria a ogni possibile colore di un pixel? Con il
truecolor che ha tre colori primari (rosso, verde e blu -> RGB), sono diversi dai colori primari usati
per gli inchiostri. Gli altri colori vengono ottenuti sommando i tre colori primari (monitor e
televisori), quindi abbiamo 256 valori possibili per ogni colore primario, 3 byte per ogni pixel
(3alla8) ovvero circa 16 milioni di colori.
Esistono tecniche di compressione delle immagini che consentono di ridurre la dimensione dello
spazio occupato. Per esempio, una tecnica consiste nel codificare aree dello stesso colore in modo
“abbreviato”. Ci sono due tipi di tecniche di compressione:
1. Lossless ovvero senza perdita di informazione cioè quando decomponiamo l'immagine, questa
è identica all'originale (es. gif).
2. Lossy invece causa la perdita di informazione cioè il processo di compressione "scarta" alcuni
dati, quando si decomprime l'immagine, questa è diversa dall'originale ma degradata in qualità;
a quale scopo? Perché la compressione lossy permette di risparmiare molto più spazio rispetto
alla tecnica lossless (es. jpeg)
1. Dati 6 bit, quante informazioni distinte si possono rappresentare?
Risposta : 26=64 informazioni distinte
2. Quante informazioni distinte si possono rappresentare con un byte?
Risposta : 1 byte = 8 bit, 28=256 informazioni distinte
3. Quanti bit si devono utilizzare per rappresentare 20 informazioni distinte?
Risposta : almeno 5 bit, perch é́? Perché́ gli altri 25=32 ≥ 20 (4 bit non sono sufficienti, perch é́? Perché́ gli altri 24=16 < 20).
Se la domanda mi chiedesse la stessa cosa ma per i byte la risposta sarebbe un byte perché in bit
sarebbe 2
5 e dato che un byte sono 8 bit scelgo l’unità di misura più vicina perché non posso
scomporre il byte.
4. Quanti byte occupa la parola “letterature” scritta in ASCII esteso?
Risposta : 11 (in ASCII esteso, un carattere corrisponde a un byte), conto ogni lettera come un byte
quindi sono 11 byte, in bit sarebbero 88 perché 11 x 8.
5. Quanti byte occupa la frase “l’inglese, il francese” scritta in ASCII esteso?
Risposta : 22 perché oltre a contare ogni lettera come un byte devo contare spazi, apostrofi,
virgole etc.
6. Quanti byte occupa la parola “cinese” rappresentata in UNICODE?
Risposta : con UTF-8 (i byte sono da 1, da 2 o da 4) quindi possono essere da 6, 12 o 24 byte, gli
ultimi due sono caratteri speciali (dato che sono caratteri presenti anche in ASCII e UTF-8 è
compatibile con ASCII, 6 byte).
Con UTF-16, (i byte sono da 2 o 4) quindi possono essere 12 o 24 byte, 24 per i caratteri speciali (in
realt à̀ rappresentare 2 informazioni12 byte).
7. Le parole “Shakespeare” e “shakespeare” hanno la stessa rappresentazione in ASCII?
Risposta : no
8. Le parole città e citta’ hanno la stessa rappresentazione in ASCII?
Risposta : no
9. Quanti byte occupa un suono della durata di 5 secondi registrato in qualit à̀ rappresentare 2 informazioni CD, cio è̀ rappresentare 2 informazionicampionato
a 44100 Hz (44100 campioni per secondo) con 16 bit per ogni campione?
Risposta : 5 * 44100 * 2 = 441000 byte. Se l’incognita è la durata dividerò lo spazio (es. 6000) diviso
la frequenza (es. 100) il risultato (60) saranno i secondi della durata.
10. Un secondo di suono campionato a 512 Hz occupa 1 KB. Quanti valori distinti possono avere i
campioni?
Risposta : 1 KB = 1024 byte; numero di campioni = 1 * 512 = 512; ogni campione contiene
1024/512 = 2 byte; 2 byte = 16 bit; 216 valori distinti
11. Un'immagine truecolor è formata da 400x400 pixel. Quanto spazio occupa?
Risposta : Ogni pixel richiede 3 byte; l'immagine ha 400 * 400 = 160 000 pixel; l'immagine occupa
160 000 * 3 byte = 480 000 byte (= 3 840 000 bit)
12. Hai ricevuto un messaggio di posta elettronica da un amico. Il messaggio contiene:
un testo di 300 caratteri scritto in ASCII esteso,
un'immagine truecolor di 120x150 pixel.
Risposta : quanti byte occupa il messaggio? Testo: 300 byte. Immagine: ogni pixel richiede 3 byte;
l'immagine ha 120 * 150 = 18 000 pixel;
l'immagine occupa 3 * 18 000 = 54 000 byte.
Testo + immagine: 300 + 54 000 = 54 300 byte
13. Un'immagine di 300x400 pixel occupa 15 000 byte. L'immagine è a colori oppure in bianco e
nero?
Risposta : l'immagine ha 300 * 400 = 120 000 pixel e occupa 15 000 * 8 = 120 000 bit. Quindi ad
ogni pixel corrisponde un bit, e l'immagine è in bianco e nero, perché 120000 diviso 8 che sono i
byte trovo 15000.
14. Quanto spazio occupa un'animazione di 100x100 pixel truecolor, formata da 6 frame?
Risposta : ogni frame ha 100 * 100 = 10 000 pixel; ogni pixel richiede 3 byte; ogni frame occupa 10
000 * 3 = 30 000 byte; l'immagine animata occupa 30 000 * 6 = 180 000 byte.
15. Codificate i seguenti numeri nella corrispondente rappresentazione decimale:
n
17. Dato il numero 862 10
qual è il numero minimo di bit che si devono usare per la su
rappresentazione binaria?
Risposta : numero minimo di bit: 10 ( 10
Dalla 18 in poi di solito non vengono messe all’esame.