Insegnamento Informatica CdS Scienze Giuridiche A.A. 2009/10 Prof. Valle – D.ssa Folgieri Informazioni preliminari Prof. Valle Dr Folgieri email [email protected] email [email protected] SITO DEL CORSO: http://webcen.dsi.unimi.it/wcinfo • Syllabus: materiale didattico suddiviso per lezioni • Test di autovalutazione SVOLGIMENTO DEL CORSO: • Lezioni frontali in aula Martedì 830 – 10 15 aula 400 Mercoledì 1030 – 12 15 aula 420 giovedì 830-1015 aula 400 Autoformazione (materiale e test sul sito indicato) MODALITA’ D’ESAME: • Scritto + Orale • Prima prova d’esame giovedì 17 Dicembre ore 8:30 lez1 Gio 1 Ottobre 2009 calcolo digitale 2 1 Lezione 1 Il trattamento dell’informazione INFORMATICA • Scienza che raccoglie, organizza, elabora e conserva le informazioni e le gestisce in modo automatico • Nasce dalla fusione delle parole INFORmazione autoMATICA • L’informazione può essere di tipo digitale o analogico lez1 Gio 1 Ottobre 2009 calcolo digitale 4 2 ANALOGICO e DIGITALE • E’ analogico un procedimento che rappresenta un fenomeno con continuità (es. lancette dell’orologio, termometro per misurare la temperatura) • E’ digitale un procedimento che rappresenta lo stesso fenomeno traducendolo in cifre (dall’inglese DIGIT = cifra - es. un orologio digitale, un misuratore elettronico di temperatura) • La misurazione digitale, pur essendo “a salti” è più precisa. Ovviamente sono necessari molti dati accurati. • Gli esseri umani comunicano in modo analogico. Un elaboratore ragiona in modo digitale. lez1 Gio 1 Ottobre 2009 calcolo digitale 5 BASI E NUMERI • Un elaboratore usa il sistema binario, ovvero ogni comando, parola, lettera o cifra, è composta da una stringa di 0 e 1 (bit = binary digit). Perché? • 0 e 1 corrispondono a falso e vero, a “passa corrente” in un circuito e “non passa corrente”. L’elaboratore apprende per confronti semplici. • Il sistema binario è più semplice di quello decimale che usiamo quotidianamente. E’ più veloce perché vi sono solo due simboli con cui “fare i conti”. • Come funzionano il sistema binario e quello decimale? lez1 Gio 1 Ottobre 2009 calcolo digitale 6 3 IL SISTEMA DECIMALE • Il sistema decimale adotta una notazione posizionale: i numeri hanno un “peso” diverso a seconda della posizione che occupano 1 unità • Es. 111 “1” ha un diverso valore a seconda della posizione 1 centinaio occupata 1 decina • Il numero di cifre usate da un sistema numerico si dice base. Nel nostro caso usiamo 10 cifre (da 0 a 9), per cui la base è 10. • 111= 1x102 + 1x101 + 1x100 = 1x100 + 1x10 + 1x1 lez1 Gio 1 Ottobre 2009 calcolo digitale 7 IL SISTEMA BINARIO e la conversione binarioÆdecimale • Abbiamo detto che l’elaboratore usa gruppi di bit. 8 bit = 1 byte • Ogni posizione rappresenta una potenza di 2, a partire da quelle più basse, posizionate a destra: 27 26 25 24 23 22 21 20 (ricordate che qualunque numero 0 0 0 1 0 1 0 1 elevato a 0 ha come risultato 1) • Per calcolare il valore decimale del numero binario scritto sopra, si procede così (partendo da destra): 1x20 + 0x21 + 1x22 + 0x23 + 1x24 + 0x25 + 0x26 + 0x27 = 1x1 + 0x2 + 1x4 + 0x8 + 1x16 + 0x32 + 0x64 + 0x128 = 21 in base decimale lez1 Gio 1 Ottobre 2009 calcolo digitale 8 4 IL SISTEMA BINARIO e la conversione decimaleÆbinario • Un modo semplice per ricavare il corrispondente numero binario a partire dal decimale è il seguente. Consideriamo il numero 21 • Si effettuano divisioni successive per 2 ed ogni volta il resto della divisione fornisce il numero binario (0 o 1) da porre nella cifra binaria, partendo da destra: 21:2=10 10:2=5 5:2=2 2:2=1 1:2=0 resto 1 resto 0 resto 1 resto 0 resto 1 1 01 101 0101 10101 • Ora si “riempie” di zeri a sinistra, per completare gli 8 bit. Otteniamo così 00010101 che è il numero visto prima lez1 Gio 1 Ottobre 2009 calcolo digitale 9 Altre notazioni • Altre notazioni utilizzate in Informatica sono la notazione ottale (cifre da 0 a 8) e quella esadecimale (da 0 a 9 più le lettere da A a F) su cui non ci soffermeremo. • Se facciamo un po’ di calcoli, ci accorgiamo che 1 byte può rappresentare numeri compresi tra 0 e 255. Così con 1 byte riusciamo non solo a rappresentare i numeri, ma anche tutte (26) le lettere dell’alfabeto inglese, la punteggiatura, tutti i simboli ed i caratteri speciali. • Vale la regola: con k bit posso rappresentare 2k caratteri distinti. lez1 Gio 1 Ottobre 2009 calcolo digitale 10 5 Tavole dei caratteri Le tavole più famose: • ANSI (American National Standard Institute) • ASCII (American Standard Code for Information Interchange) • UNICODE: schema per rappresentare i caratteri di qualsiasi lingua (può rappresentare 34168 caratteri) lez1 Gio 1 Ottobre 2009 calcolo digitale 11 La tavola ASCII …una parte… in rete ne potete trovare la versione completa lez1 Gio 1 Ottobre 2009 calcolo digitale 12 6 Algebra Booleana • • • • • Si deve a Boole (matematico inglese, XIX sec.) Si basa su 2 stati: ON – acceso OFF – spento Variabili booleane possono assumere solo 2 valori: 0e1 • Con le variabili booleane si costruiscono funzioni booleane che possono assumere solo 2 stati: TRUE e FALSE lez1 Gio 1 Ottobre 2009 calcolo digitale 13 Tabelle di verità e operatori • Gli operatori logici che esprimono le relazioni tra le variabili sono: • NOT, AND, OR, XOR • Esistono poi NAND e NOR (operatori universali) che permettono di esprimere qualsiasi altra delle precedenti utilizzando un solo tipo di operatori • Ogni funzione booleana ha una sua tabella della verità lez1 Gio 1 Ottobre 2009 calcolo digitale 14 7 Tabelle di verità: NOT • Il risultato del NOT è il complemento della variabile X NOT X 0 1 1 0 • NOT si dice inversione lez1 Gio 1 Ottobre 2009 calcolo digitale 15 Tabelle di verità: AND • Fornisce risultato vero solo se sono vere entrambe le variabili X Y X AND Y 0 0 0 0 1 0 1 0 0 1 1 1 • AND si dice prodotto logico lez1 Gio 1 Ottobre 2009 calcolo digitale 16 8 Tabelle di verità: OR • Fornisce risultato vero solo se è vera almeno una delle due variabili X Y X OR Y 0 0 0 0 1 1 1 0 1 1 1 1 • OR si dice somma logica lez1 Gio 1 Ottobre 2009 calcolo digitale 17 Tabelle di verità: XOR • Fornisce risultato vero solo se è vera SOLO una delle due variabili X Y X XOR Y 0 0 0 0 1 1 1 0 1 1 1 0 • XOR si dice OR esclusivo lez1 Gio 1 Ottobre 2009 calcolo digitale 18 9 Tabelle di verità: NAND • Fornisce risultato vero solo se è l’AND tra le due variabili è falso X Y X NAND Y 0 0 1 0 1 1 1 0 1 1 1 0 lez1 Gio 1 Ottobre 2009 calcolo digitale 19 Tabelle di verità: NOR • Fornisce risultato vero solo se è l’OR tra le due variabili è falso X Y X NOR Y 0 0 1 0 1 0 1 0 0 1 1 0 lez1 Gio 1 Ottobre 2009 calcolo digitale 20 10 Algebra Booleana ed elaboratore • Abbiamo detto che l’elaboratore rappresenta l’informazione in modo digitale (intervalli finiti)… • … e che traduce molte informazioni in binario (informazioni analogiche, numeri, lettere, comandi…) • Inoltre svolge operazioni utilizzando l’aritmetica binaria • L’elaboratore “ragiona” mediante confronti semplici, poiché quel che comprende con facilità è la differenza tra 0 e 1 (vero-falso, “passa corrente”-”non passa corrente” nei circuiti) • Dunque i confronti vengono effettuati grazie all’algebra booleana lez1 Gio 1 Ottobre 2009 calcolo digitale 21 Riassumendo… • Ci interessa comprendere il perché della rapidità di risposta di un elaboratore • E capire lo schema generale di rappresentazione dell’informazione e di “ragionamento” dell’elaboratore Dobbiamo dunque avere dimestichezza con: • Differenza tra digitale e analogico • Conversione binario-decimale e viceversa • Algebra di Boole: variabili, operatori, tavole di verità Le esercitazioni copriranno questi aspetti. lez1 Gio 1 Ottobre 2009 calcolo digitale 22 11