Informatica 1 Hardware e Software ing. Luigi Puzone 1 Riepilogo Nella lezione scorsa abbiamo visto i seguenti concetti di base Dati e informazioni e loro ciclo di elaborazione Hardware e Software Tipologie di computer Analogico e digitale 2 1
Dati e informazioni Un dato è ciò che è immediatamente presente alla conoscenza (può essere, ad esempio, una misura) Una sua elaborazione può portare alla conoscenza di una informazione. 3 Ciclo di elaborazione dell Informazione (Informatica di base 3ed. Curtin D.P. et al McGrawHill) 4 2
Hardware Hardware le parti fisiche della macchina, I componenti elettronici e meccanici del computer e delle periferiche. Scheda Madre Mouse Tastiera Video Stampante 5 e Software Software, l insieme di programmi che consentono alla macchina di funzionare e svolgono le funzioni richieste dall utente: Il Sistema Operativo Programmi applicativi: Office Automation Calcolo Grafica Multimedia 6 3
Computer L elaboratore, il computer può essere visto come una macchina che svolge automaticamente una funzione ben precisa: l elaborazione dei dati. L automatismo avviene tramite il passaggio di energia elettrica attraverso i circuiti e i componenti elettronici del computer 7 Tipologie di computer Indipendentemente dalla loro tipologia i computer sono caratterizzati da: Capacità di svolgere uno o più compiti Capacità di calcolo Capacità di memorizzazione 8 4
Tipologie di computer Supercomputer (architetture parallele) Mainframe Server (cenni ai server Blade e il grid computing) Workstation Desktop Notebook Tablet PC Network computer Palmari Smartphone 9 Segnali analogici 10 5
Segnali digitali 11 Bit Il bit (binary digit) è l unità minima di informazione che può essere memorizzata, può assumere solo due stati non passa corrente, passa corrente due valori 0 e 1 12 6
Bit Il bit (binary digit), è l unità minima di informazione che può essere memorizzata, e può assumere solo due stati (non passa, passa corrente) e quindi due valori (0 e 1). Per rappresentare un entità significativa (numero, lettera, simbolo, etc.) sono necessari più bit, raggruppati generalmente in configurazioni multiple dette parole o word. 13 Bit e Byte La lunghezza della parola può essere diversa da macchina a macchina e può variare da un minimo di 8 bit (byte), procedendo per multipli: 16, 32, 64 bit, etc. (Informatica di base 3ed. Curtin D.P. et al McGrawHill) 14 7
Grandezze: Bit, Byte, KB, MB, TB Il byte 8 bit (byte), viene utilizzato per indicare la capacità della memoria. I multipli sono: Kilobyte (Kbyte o KB) Megabyte (Mbyte o MB) Gigabyte (Gbyte o GB) Terabyte (Tbyte o TB) = 1024 byte; = 1024Kilobyte = 1024Megabyte; = 1024Gigabyte 15 Grandezze: Bit, Byte, KB, MB, TB (Informatica di base 3ed. Curtin D.P. et al McGrawHill) 16 8
Sistemi numerici Sistema binario Il sistema numerico che usa soltanto le due cifre 0 e 1 è denominato sistema binario Tutti i dati trattati da un elaboratore sono rappresentati, per motivazioni tecnologiche, in termini di sequenze di cifre binarie. 17 Sistemi numerici sistema decimale vs binario All interno di un elaboratore tutti i dati possono essere rappresentati in termini di presenza o assenza di corrente elettrica o meglio da due valori di tensione elettrica differenti corrispondenti a due cifre: 0 1 Il sistema di numerazione decimale si basa su dieci cifre 0 1 2 3 4 5 6 7 8 9 18 9
Sistemi numerici concetto di codifica L informazione elementare trattata da un elaboratore è espressa in termini di numeri binari. Se, ad esempio, pensassimo di voler rappresentare direttamente in un elaboratore le cifre da 0 a 9 dovremmo utilizzare circuiti, piuttosto complessi da progettare e realizzare, che siano in grado di distinguere almeno 9 segnali diversi fra loro. Se pensiamo anche alla necessità di rappresentare anche i caratteri a-z, A-Z e i segni di punteggiatura 19 Ad esempio: Sistemi numerici Cifre, stringhe di cifre 139 e 1001001 sono rappresentazioni di numeri mediante stringhe di cifre 20 10
Sistemi numerici sistemi di numerazione posizionali La rappresentazione di numeri mediante stringhe di cifre è detta: sistema di numerazione posizionale 21 Sistemi numerici Sistema di numerazione posizionale Ingredienti di un sistema di numerazione posizionale: una base di numerazione b alcune cifre a j un alfabeto di simboli A 22 11
Sistemi numerici Numerazione posizionale In un sistema di numerazione posizionale di base (o radice) b (dove b è un numero intero maggiore di 1) si utilizza un certo numero di cifre a j (con valore minore di b) appartenenti a un alfabeto di simboli A. 23 Sistemi numerici Numerazione posizionale Ciascun numero N sarà quindi rappresentato attraverso una stringa di cifre del tipo: (N) b = a s a s-1 a s-2 a 1 a 0 a -1 a -2 a -k 24 12
Sistemi numerici Numerazioni posizionali Il valore del numero N (N) b = a s a s-1 a s-2 a 1 a 0 a -1 a -2 a -k sarà dato dal polinomio: V(N)=a s b s +a s-1 b s-1 + a 1 b+ a 0 + a -1 b -1 +a -2 b -2 + a -k b -k In una rappresentazione posizionale ciascuna cifra a j è moltiplicata per il peso b dipendente dalla sua posizione nella stringa. 25 Sistemi numerici Esempio di numerazione posizionale: La Numerazione Decimale Ad esempio: 2134,25 Per evidenziare che è espresso in base 10 viene scritto nella forma che segue: il suo valore è: 2134,25 10 2 10 3 + 1 10 2 + 3 10 1 + 4 10 0 + 2 10-1 + 5 10-2 Nella rappresentazione in base 10 si usano 10 cifre ed esse sono: 0 1 2 3 4 5 6 7 8 9 26 13
Sistemi numerici Esempio di numerazione posizionale: La Numerazione Decimale il suo valore è: 2134,25 10 migliaia centinaia decine unità decimi centesimi 2 10 3 + 1 10 2 + 3 10 1 + 4 10 0 + 2 10-1 + 5 10-2 27 Sistemi numerici Esempio di numerazione posizionale: La Numerazione Ottale Ad esempio il numero in base 8 il suo valore è: 2134,25 8 2 8 3 + 1 8 2 + 3 8 1 + 4 8 0 + 2 8-1 + 5 8-2 (*) Se ne deduce anche che nella rappresentazione in base 8 si usano 8 cifre: 0 1 2 3 4 5 6 7 (*) corrisponde al numero decimale: 1116,328125 28 14
Sistemi numerici Numerazioni posizionali: Esadecimale vs Decimale Un altra rappresentazione significativa è quella in base 16. il numero di cifre (o simboli) in una rappresentazione in base 16 è pari a 16. Per rappresentare le prime 10 cifre posso usare le cifre decimali (0,1,2,3,4,5,6,7,8,9) ma per le altre? prendo in prestito le lettere dell alfabeto latino e quindi avrò: (10) 10 = (A) 16 ; (11) 10 = (B) 16 ; (12) 10 = (C) 16 (13) 10 = (D) 16 ; (14) 10 = (E) 16 ; (15) 10 = (F) 16 29 Sistemi numerici Esempio di numerazione posizionale: La Numerazione Decimale Ad esempio: A1F7 Per evidenziare che è espresso in base 16 viene scritto nella forma che segue: il suo valore è: A1F7 16 10 16 3 + 1 16 2 + 15 16 1 + 7 16 0 Se ne deduce anche che nella rappresentazione in base 16 si usano i 16 simboli: 0 1 2 3 4 5 6 7 8 9 A B C D E F 30 15
Sistemi numerici Esempio di numerazione posizionale: La Numerazione Binaria Il numero di cifre (o simboli) in una rappresentazione in base b è pari a b Il numero di cifre (o simboli) in una numerazione binaria (ossia in base 2) è pari a 2 ed è costituito dalle cifre Per cui il numero ha come valore : 0 1 11001010 12 7 + 12 6 + 02 5 + 02 4 + 12 3 + 02 2 + 12 1 + 02 0 31 Sistemi numerici Numerazioni posizionali: Esadecimale vs Decimale vs Ottale vs Binaria Il numero di cifre (o simboli) in una rappresentazione in base b è pari a b Il numero di cifre (o simboli) in una rappresentazione in base 16 è pari a 16 ed è costituito dalle cifre (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) Il numero di cifre (o simboli) in una rappresentazione in base 10 è pari a 10 ed è costituito dalle cifre (0,1,2,3,4,5,6,7,8,9) Il numero di cifre (o simboli) in una rappresentazione in base 8 è pari a 8 ed è costituito dalle cifre (0,1,2,3,4,5,6,7) Il numero di cifre (o simboli) in una rappresentazione in base 2 è pari a 2 ed è costituito dalle cifre (0,1) 32 16
Sistemi numerici Numerazioni posizionali: Esadecimale vs Decimale vs Ottale vs Binaria Tabella di confronto: binario esadecimale decimale ottale 0000 = 0 = 0 = 0 0001 = 1 = 1 = 1 0010 = 2 = 2 = 2 0011 = 3 = 3 = 3 0100 = 4 = 4 = 4 0101 = 5 = 5 = 5 0110 = 6 = 6 = 6 0111 = 7 = 7 = 7 1000 = 8 = 8 = 10 1001 = 9 = 9 = 11 1010 = A = 10 = 12 1011 = B = 11 = 13 1100 = C = 12 = 14 1101 = D = 13 = 15 1110 = E = 14 = 16 1111 = F = 15 = 17 33 Sistemi numerici Passaggio da una base di numerazione all altra Abbiamo quindi visto i concetti di numerazione posizionale e valore di un numero come somma di un polinomio. Come si fa a passare da un sistema di numerazione all altro? Se voglio convertire il numero N da una base di numerazione b a una base c devo fare in modo tale da trovare una stringa di cifre che sia in grado di rappresentare quel numero. 34 17
Sistemi numerici Passaggio da una base di numerazione all altra Se voglio convertire il numero N da una base di numerazione b a una base c devo fare in modo tale da trovare una stringa di cifre che sia in grado di rappresentare quel numero. Dal punto di vista pratico per ottenere l equivalente in base c di un numero in base b (con b>c) bisogna dividerlo per c individuando di volta in volta il quoziente e il resto della divisione 35 Sistemi numerici Esempio: Passaggio da una base decimale a base 2 Convertiamo il numero 10 in base 2: ossia r 3 r 2 r 1 r 0 Numero Quoziente Resto 10 2 = 5 0 5 2 = 2 1 2 2 = 1 0 1 2 = 0 1 Per cui il numero (10) 10 diventa (1010) 2 36 18
Sistemi numerici Esempio: Passaggio da una base decimale a base 2 Numero Quoziente Resto 10 2 = 5 0 5 2 = 2 1 2 2 = 1 0 1 2 = 0 1 1 0 1 0 37 38 19
Sistemi numerici Numerazioni posizionali: Esadecimale vs Decimale vs Ottale vs Binaria Tabella di confronto: binario esadecimale decimale ottale 0000 = 0 = 0 = 0 0001 = 1 = 1 = 1 0010 = 2 = 2 = 2 0011 = 3 = 3 = 3 0100 = 4 = 4 = 4 0101 = 5 = 5 = 5 0110 = 6 = 6 = 6 0111 = 7 = 7 = 7 Analizzando questa tabella scopriamo che Ciascun gruppo di 3 bit può essere convertito direttamente in un numero ottale; Ciascun gruppo di 4 bit può essere convertito direttamente in un numero esadecimale 39 Codifica Da quanto detto si evince che i numeri binari vengono utilizzati sia per effettuare delle operazioni sia, soprattutto, per rappresentare all interno dell elaboratore numeri, testi o, comunque, qualunque grandezza di tipo analogico che trasformiamo nella sua equivalente digitale. 40 20
Analogico Digitale (Informatica di base 3ed. Curtin D.P. et al McGrawHill) 41 Esempio di codifica: Il codice Morse (Informatica di base 3ed. Curtin D.P. et al McGrawHill) 42 21
Codifica: Tabella ASCII dei caratteri Un primo esempio significativo di CODIFICA è la rappresentazione dei caratteri utilizzati normalmente nel loro equivalente all interno di un computer. ASCII = American Standard Code for Information Interchange La tabella ASCII è un codice usato per la rappresentazione dei caratteri di testo attraverso delle stringe binarie. In particolare si utilizza un byte per rappresentare un diverso carattere della tastiera (lettere, numeri, segni). 43 Codifica: Tabella ASCII dei caratteri Lo standard ASCII, in realtà, sarebbe costituito da soli 128 caratteri e quindi i primi 128 byte (da 00000000 a 01111111), sarebbero sufficienti a rappresentarli tutti. Standard Americano e i caratteri rappresentabili sarebbero solo quelli americani 44 22
Codifica: Tabella ASCII dei caratteri Nella tabella ASCII standard si trovano le cifre numeriche, le lettere maiuscole e minuscole (maiuscole e minuscole hanno codici ASCII differenti) la punteggiatura, i simboli aritmetici e altri simboli ($, &, %, @, #, ecc.). Essendo stata concepita in America, la tabella ASCII standard non comprende le lettere accentate I primi 32 byte della tabella standard sono inoltre riservati per segnali di controllo e funzioni varie. I successivi byte fino al 256 costituiscono la tabella ASCII estesa che presenta varie versioni a carattere nazionale. 45 Altri codici: EBCDIC, UNICODE Il codice EBCDIC è utilizzato nei mainframe e nei calcolatori più potenti. Si appoggia a un sistema denominato codice di interscambio Binary-coded decimal (BCD) che è comunemente utilizzato per rappresentare le cifre decimali in codice binario. In BCD n numero è rappresentato da un codice binario di quattro bit, il cui valore è compreso tra 0 (0000) e 9 (1001). Le combinazioni restanti vengono usate per rappresentare simboli. Ad esempio il numero 127 è rappresentato in BCD come 0001, 0010, 0111. Il BCD è spesso utilizzato per la sua diretta corrispondenza con il codice ASCII. 46 23
Altri codici: EBCDIC, UNICODE Il codice UNICODE cerca di far fronte di rappresentare set di caratteri di lingue diverse (arabo, cinese, ebraico ecc.) all interno di un elaboratore Lo Unicode utilizza 16 bit e, potenzialmente, è in grado di rappresentare 96mila caratteri differenti. 47 Operazioni In un operazione matematica distinguiamo Operatori Operandi Per cui nella formula: A + B l operatore + identifica la somma A e B sono gli operandi 48 24
Operazioni sui numeri Somma Moltiplicazione Negazione 49 Relazioni e Operatori di relazione Prima di introdurre gli operatori logici può essere utile fare riferimento alle relazioni fra numeri e agli operatori di relazione. Un primo esempio di relazione fra entità può essere la seguente: A = B Dove il simbolo = e un operatore che, confrontando i due operandi A e B, permette di esprimere una condizione. 50 25
Relazioni e Operatori di relazione Gli operatori che permettono il confronto di due o più operandi vengono detti operatori di relazione. Gli operatori di relazione più noti sono i seguenti: uguale (simbolo =) diverso (simbolo =) maggiore (simbolo >) minore (simbolo <) maggiore o uguale (simbolo ) minore o uguale (simbolo ) e vengono solitamente utilizzati per confrontare valori numerici. 51 Operatori di relazione e logica binaria Un operazione di relazione = A = B fra due operandi A e B può essere anche utilizzata per stabilire una condizione ossia una domanda del tipo: A = B? Il risultato di questa condizione può essere solo oppure SI / NO Vero / Falso 52 26
Operatori logici: AND, OR Il risultato di un operazione logica può essere solo oppure SI / NO Vero / Falso 53 Funzioni logiche: tabelle di verità Le tre operazioni sono definibili attraverso le tabelle seguenti, dette tavole di verità: OR AND NOT Vero Vero Vero Vero Vero Vero Vero Falso Vero Falso Vero Vero Falso Falso Falso Vero Falso Vero Vero Falso Falso Falso Falso Vero Falso Falso Falso Falso 54 27
Esempio: Esempio: AND Sono andato a pranzo e ho preso il caffè A = sono andato a pranzo B = ho preso il caffè A AND B AND Vero Vero Vero Vero Falso Falso Falso Vero Falso Falso Falso Falso 55 Esempio: A = monete ESEMPIO: OR Per telefonare è possibile usare B = carta prepagata A OR B monete o carta prepagata OR Vero Vero Vero Vero Falso Vero Falso Vero Vero Falso Falso Falso 56 28
Tabelle di verità Le tre operazioni sono definibili attraverso le tabelle seguenti, dette tavole di verità: OR AND NOT 1 1 1 1 1 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 57 Proprietà: Proprietà commutativa a AND b = b AND a a OR b = b OR a Proprietà associativa (a OR b) OR c = a OR (b OR c) (a AND b) AND c = A AND (b AND c) Proprietà di idempotenza a AND a = a a OR a = a 58 29
Proprietà: Proprietà distributiva a OR (b AND c) = (a OR c) AND (b OR c) a AND (b OR c) = (a AND b) OR (a AND c) Minimo e massimo a OR falso = a a OR vero = vero a AND falso = falso a AND vero = vero 59 Altre funzioni: OR esclusivo XOR Esempio: Per telefonare si può usare soltanto o monete o carta prepagata A = monete B = carta prepagata A XOR B XOR Falso Falso Falso Falso Vero Vero Vero Falso Vero Vero Vero Falso 60 30
Bibliografia Riferimenti bibliografici: Dennis P. Curtin, Kim Foley, Kunal Sen, Cathleen Morin Informatica di Base (terza edizione) - McGraw-Hill 2005 Ugo Biader Ceipidor, C. M. Medaglia, F. Peruzzi, H. Sedehi Informatica di Base, introduzione per le scienze sociali Carocci 2004 Sawyer S. C., Williams B. K. Tecnologie dell informazione e della Comunicazione McGraw-Hill 2002 Giacomo Cioffi, Vincenzo Falzone (a cura di) Manuale di Informatica (quarta edizione) Calderini 2002 Bruno Fadini, Carlo Savy Programmazione dei calcolatori elettronici Liguori 1984 61 31