Upload
buitu
View
223
Download
1
Embed Size (px)
Citation preview
Fondamenti di Informatica
Corso di Laurea in Scienze dell'Educazione, 2014-15
Lorenzo Bettini
http://www.di.unito.it/~bettini
Informatica 2
Informazioni generali Ricevimento studenti su appuntamento
Dipartimento di Informatica, Ufficio 9 Via Pessinetto 12 (Fermata Amedeo di
Savoia, tram 3-9)
Informatica 3
Informazioni generali Lezioni:
Lunedì 16:00 - 18:00, aula 15 PN; Martedì 16:00 - 18:00, aula 15 PN; Mercoledì 16:00 - 18:00, aula 15 PN; per tre settimane (18 ore)
Avvisi sul sito del corso materiale per il corso:
http://www.di.unito.it/~bettini
Informatica 4
Cosa faremo Glossario di informatica (incompleto) Introduzione alla programmazione con Scratch
Informatica 5
Esame Progetto Scratch
– Con eventuali modifiche da fare durante l'esame
Interrogazione sulla parte del glossario
Informatica 6
Glossario (di massima) Concetti di base: Hardware Software
Sistema operativo Programmi di base
Reti di calcolatori Internet Programmi per l’accesso alla rete
A.A. 2013-14 Informatica 7
Breve Introduzione
Informatica 8
Macchina di Von Neumann John von Neumann (1903-1957) Macchina di Von Neumann:
definizione rigorosa e completa del concetto di: elaboratore elettronico programma memorizzato
Altri avevano avuto idee simili (Eckert e Mauchly) Von Neumann inquadrò una teoria matematica
coerente e sviluppò in una teoria generale delle macchine intelligenti.
Informatica 9
Macchina di Von Neumann John von Neumann (1903-1957) Macchina di Von Neumann:
definizione rigorosa e completa del concetto di: elaboratore elettronico programma memorizzato
Altri avevano avuto idee simili (Eckert e Mauchly) Von Neumann inquadrò una teoria matematica
coerente e sviluppò in una teoria generale delle macchine intelligenti.
Informatica 10
Software
Hardware
Architettura di Von Neumann
1) .....2) .....3) .....4) ..... .....
1) .....2) .....3) .....4) ..... .....
7 8 94 5 61 2 3
0
-+/*
00123
Unità di controllo
Unità aritmetica
Procedimento
Memoria
Input
Output
Informatica 11
Hardware-Software Componenti Hardware:
Componenti interne/esterne del PC; Monitor; Stampante; ecc...
Componenti Software: Sistema Operativo (Windows, MacOS, Linux, …); Programmi (Editor di testi, Fogli di calcolo, …);
A.A. 2013-14 Informatica 12
Rappresentazione dell’Informazione
Informatica 13
Rappresentazione dell’Informazione Necessità di rappresentare le informazioni in un
formato opportuno per il computer Rappresentazioni equivalenti della stessa
informazione Funzioni di trasformazione da una rappresentazione
ad un'altra– Il computer deve capire cosa gli diamo in
input– Noi dobbiamo capire cosa il computer ci dà in
output
Informatica 14
Rappresentazione dell’Informazione
I dati che il calcolatore deve elaborare devono essere rappresentati in modo adeguato: codifica digitale.
Le informazioni vengono rappresentate per mezzo di segnali.
Nella codifica digitale l’elemento base dell’informazione è il bit (binary digit).
Informatica 15
Il bit Un bit può assumere i valori 0 e 1.
La scelta è legata a ragioni tecnologiche; Corrisponde ad es. a “passaggio di corrente” /
“assenza di corrente” In realtà: -5 volt / +5 volt
Informatica 16
Algebra di Bool AND:
OR:
NOT:
Informatica 17
Rappresentazione dei Dati... I dati vengono rappresentati con sequenze di
bit, usando una convenzione. Es:
00 -> ‘a’ 01 -> ‘b’ 10 -> ‘c’ 11 -> ‘d’
Una sequenza di due bit cipermette di rappresentare4 differenti informazioni.
Informatica 18
Codifica dell’Informazione È il processo che fa corrispondere ad
un’informazione una configurazione di cifre binarie
L’associazione tra un’informazione ed una configurazione di bit è solo una convenzione Ma deve essere la stessa tra tutti coloro che
devono condividere l’informazione!
Informatica 19
Con 3 bit… 000 001 010 011 100 101 110 111
Si hanno 8 configurazioni possibili
Informatica 20
Generalizzando… Con 1 bit si codificano 2=21 info Con 2 bit si codificano 4=22 info Con 3 bit si codificano 8=23 info … Con n bit si codificano 2n info Per rappresentare M informazioni sono
necessari almeno N bit, dove N è tale che 2N ≥ M
Informatica 21
Byte 8 bit = 1 byte È l’unità di base per la memorizzazione fisica
delle informazioni
Raggruppamento a 4
1110 1100bit più significativo bit meno significativo
Informatica 22
Codifica dei caratteri ASCII (American Standard Code for IInformnformationion Interchange):
Informatica 23
Codice ASCII Utilizza 7 bit per codificare i simboli (128
simboli) In realtà sono memorizzati 8 bit (l’ottavo è 0) ASCII esteso: usa anche l’ottavo e codifica
simboli speciali di vari alfabeti (lettere accentate, lettere greche…)
Non standard: i simboli in più possono avere codifiche differenti nei sistemi operativi e nei programmi o in paesi differenti
Inserire caratteri tramite codice: Alt + codice (digitato sul tastierino numerico)
Informatica 24
Codifica di una parola Come sequenza di codifiche ASCII:
La parola “cane” sarà 01100011 01100001 01101110 01100101
Viceversa data una sequenza di bit la scomponiamo in gruppi di byte e si determina il carattere che corrisponde ad ogni gruppo di 8 bit
Informatica 25
Codifica universale UNICODE: un nuovo codice che utilizza 16
bit (65536 configurazioni) Compatibile con quello ASCII (le prime
configurazioni coincidono) Al momento codifica i simboli di quasi tutti gli
alfabeti moderni (circa 35000 simboli)
Informatica 26
Rappresentare i numeri... Rappresentare i numeri come sequenze di
caratteri: 234 -> 00110010 00110011 00110100
Ma adesso come possiamo eseguire le operazioni aritmetiche?!
Informatica 27
Flashback… Caratteristiche del sistema di numerazione a
base decimale Numerale: rappresentazione di un numero in un
sistema di numerazione Numero: l’entità astratta indipendentemente dalla
rappresentazione Il numerale 15 (cifra “1” seguita dalla cifra “5”)
denota nel sistema decimale il numero 15, interpretato nel seguente modo:
1 decina + 5 unità
Informatica 28
In base 10Il numeralecncn-1…c1c0 (in cui 0 ≤ ci ≤ 9)
in base 10 denota il numero cn*10n
+ cn-1*10n-1 + … + c1*101 + c0*100
Esempio:234 = 2*102 + 3*101 + 4*100 = 200+30+4Cioè2 centinaia + 3 decine + 4 unità
Informatica 29
Notazione posizionaleIl numerale
cncn-1…c1c0 (in cui 0 ≤ ci ≤ b-1)
in base b denota il numero cn*bn
+ cn-1*bn-1 + … + c1*b1 + c0*b0
Con N cifre è possibile rappresentare numeri:da 0 a bN-1
La posizione della cifra è cruciale.Non avviene ad es. nella numerazione romana
Informatica 30
Rappresentazione binaria Le cifre sono solo 0 ed 1
– (infatti siamo in base 2) Notazione più compatta per rappresentare I
numeri di quella con codifica ASCII È facile eseguire operazioni aritmetiche su
questa rappresentazione
Informatica 31
Rappresentazione binaria Riprendiamo la formula generalecn*bn
+ cn-1*bn-1 + … + c1*b1 + c0*b0
In questo caso b è 2 Esempio, numerale 1011
1*23 + 0*22 + 1*21 + 1*20 =
8 + 0 + 2 + 1 = 11 (base 10) Si scrive 10112 = 1110
Informatica 32
La rappresentazione in base b I numerali in base b
– contengono solo cifre da 0 a b-1; Se b>10 si usano le prime lettere dell’alfabeto (infatti
10 non è una cifra ma due); Es.
100011-> numerale binario (base 2) 988909 -> numerale decimale (base 10) FA87F1 -> numerale esadecimale (base 16)
Base 16: 816 = 810, 916 = 910, A16 = 1010, B16 = 1110, C16 = 1210, D16 = 1310, E16 = 1410, F16 = 1510,
Informatica 33
Cambio di base (da b a 10) Per cambiare di base si utilizza la seguente
formula matematica:
cn*bn + cn-1*bn-1 + … + c1*b1 + c0*b0
Es: 100011-> 35 FA87F1 -> 16418801 (A=10,B=11,...)
Informatica 34
Cambio di base (da 10 a b) Per ottenere la rappresentazione in base b del
numero decimale n: La codifica di 0 in base b è 0; Sia n/b = n’ con resto r; Sia n’b la codifica in base b di n’; La codifica in base b di n sarà: n’br;
Si veda l'esempio successivo
Informatica 35
Esempiorisultato resto
345/2 172 1
172/2 86 0
86/2 43 0
43/2 21 1
21/2 10 1
10/2 5 0
5/2 2 1
2/2 1 0
1/2 0 1 bit più significativo
bit meno significativo
34510 = 1010110012
Informatica 36
Tutto dipende dalla base
Informatica 37
Somme binarie... Stessa regola del decimale (si mantiene la
posizionalità): 0+0 = 0 con riporto di 0 0+1=1+0=1 con riporto di 0 1+1=0 con riporto di 1
Es:
Overflow
Informatica 38
Con codifica ASCIISi perderebbe la posizionalità:00110011 (codifica di 3) +00111000 (codifica di 8) =01101011 (codifica di k)
E si otterrebbe un risultato senza senso
Informatica 39
Le immagini... Vengono rappresentate come griglie di
sequenze di bit. Ogni sequenza identifica
La tonalità di grigio Il colore
Devono subire un procedimento di digitalizzazione/discretizzazione
Informatica 40
Esempio...
Informatica 41
Qualità dell’immagine... Nelle immagini a colori ogni quadratino, detto
pixel, (picture element) costituisce la codifica del colore;
Le dimensioni di un’immagine vengono determinate dal numero di pixel
Maggiore è il numero dei pixel maggiore è la risoluzione
Migliore sarà la qualità dell'immagine digitalizzata
Informatica 42
Colori come numeri... Ogni colore viene scomposto in componenti:
Rosso; Verde (Green); Blu.
Per distinguere 256 colori sono necessari 8 bit per la codifica di ciascun pixel
Un’immagine 640*480 richiederebbe 307200 byte Di solito si utilizzano tecniche di compressione
Informatica 43
Risoluzione... I pixel vengono utilizzati per identificare la
risoluzione: nei monitor (1024*768, 640*480,...); negli schermi degli smartphone; nelle macchine fotografiche digitali; negli scanner.
Informatica 44
Compressioni grafiche BMP (nessuna compressione)
Buona fedeltà Grosso spazio
GIF (compressione senza perdita di informazione) Codifica solo 256 colori
PNG (evoluzione del GIF, 24 bit) JPEG (compressione con perdita)
Ottimo compromesso
Informatica 45
I Suoni... Un segnale analogico viene convertito in
sequenze di segnali digitali:
Informatica 46
I Suoni... Un segnale analogico viene convertito in
sequenze di segnali digitali:
Informatica 47
Rappresentazione analogica Descrive esattamente l’analogo della quantità
fisica in esame Fornisce una descrizione continua dell’onda
sonora Le rappresentazioni analogiche non sono
adatte al mondo dell’informatica: L’aritmetica dei calcolatori è finita Non è possibile trattare con informazioni di tipo
continuo
Informatica 48
Approssimazione digitale Fornire un’approssimazione digitale (discreta)
che possa essere memorizzata e trattata da un elaboratore
Si effettuano dei campionamenti sull’onda Tanto più è la frequenza di campionamento
Tanto più precisa è la sua digitalizzazione Tanto più spazio è richiesto per la memorizzazione
Scegliere un campionamento che non permetta all’orecchio umano di percepire la differenza con l’originale e che richieda poco spazio per la memorizzazione
Informatica 49
Formati sonori WAV: fedeltà come CD, una canzone circa
30Mb MP3: formato compresso
Una canzone circa 3Mb Differenza molto poco percepibile
MIDI (Music Instrument Digital Interface): Rappresentazione testuale di una canzone Ci vuole un interprete per riprodurre i suoni Non può memorizzare dei suoni reali
Informatica 50
I diversi formati... Immagini e suoni vengono memorizzati
utilizzando differenti formati allo scopo di: Diminuire le dimensioni; Mantenere una qualità “accettabile”;
Informatica 51
Archivi di dati Rappresentazione di informazioni più
complesse Informazioni strutturate: composte a partire
dalle informazioni elementari Facilità di aggiornamento e recupero delle
informazioni memorizzate
Informatica 52
Archiviare dati Esempio: una banca
Nome Indirizzo Numero di conto Disponibilità sul conto
Raggruppare i dati di ogni singolo cliente Le informazioni che riguardano un cliente
devono poter essere viste come un unico blocco logico
Informatica 53
File (archivio) Un file è costituito da un elenco di record Un record è costituito da un insieme di campi
(logicamente correlati fra loro) Un campo è un insieme di byte:
Informazione numerica Informazione alfanumerica Immagine, suono, video…
Informatica 54
Tipi di file Strutturati (data base): sequenza di record
Record a lunghezza costante Record a lunghezza variabile
Di testo: l’informazione è semplicemente una sequenza di caratteri (record=carattere)
Informatica 55
Tipi di accesso Accesso sequenziale (possibile con qualsiasi
tipo di file) Accesso diretto (si deve conoscere l’indirizzo
di un record all’interno del file) Accesso con chiave (un file a parte, detto
“indice”, tiene memorizzata la relazione fra chiave di un record ed il suo indirizzo)