Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio



Documenti analoghi
Informazione analogica e digitale

4 3 4 = 4 x x x 10 0 aaa

Calcolatori: Algebra Booleana e Reti Logiche

Alcune nozioni di base di Logica Matematica

Algebra di Boole ed Elementi di Logica

Laurea Specialistica in Informatica

ALGEBRA DELLE PROPOSIZIONI

BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario?

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

4. Operazioni aritmetiche con i numeri binari

Convertitori numerici in Excel

Informatica per la comunicazione" - lezione 7 -

A L'operatore NOT si scrive con una linea sopra la lettera indicante la variabile logica A ; NOT di A =

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

Lezione 2 Circuiti logici. Mauro Piccolo piccolo@di.unito.it

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella

1. PRIME PROPRIETÀ 2

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Lezione 9: Cambio di base

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano

Informa/ca. Codifica binaria

Codifica binaria dei numeri relativi

Dispense di Informatica per l ITG Valadier

Teoria degli insiemi

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Anno 1. Definizione di Logica e operazioni logiche

Architettura hardware

2 FUNZIONI REALI DI VARIABILE REALE

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

Variabili e tipi di dato

= 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210

I sistemi di numerazione

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico

Sistemi di Numerazione

Logica binaria. Porte logiche.

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali

Applicazioni lineari

Anno 3. Classificazione delle funzioni

Introduzione all analisi dei segnali digitali.

SCHEDA DI RECUPERO SUI NUMERI RELATIVI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Informatica per la comunicazione" - lezione 8 -

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

La somma. Esempio: Il prodotto. Esempio:

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

( x) ( x) 0. Equazioni irrazionali

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, = 1, 431 0, = 0, 862 0, = 1, 792 0, = 1, 448 0, = 0, 896

I.I.S. Primo Levi Badia Polesine A.S

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Dimensione di uno Spazio vettoriale

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Operatori logici e porte logiche

Quanto può essere veloce un upload e un download?

la scienza della rappresentazione e della elaborazione dell informazione

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 5.1 Operazioni aritmetiche nel sistema binario

Alessandro Pellegrini

Lezione 8. La macchina universale

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità.

Corso di Informatica

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Esempi di algoritmi. Lezione III

L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI

Informatica. Rappresentazione dei numeri Numerazione binaria

SISTEMI DI NUMERAZIONE E CODICI

ESEMPIO 1: eseguire il complemento a 10 di 765

Algebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( )

C. P. U. MEMORIA CENTRALE

Rappresentazione dei numeri in un calcolatore

Utilizzo I mintermini si usano quando si considererà la funzione di uscita Q come Somma di Prodotti (S. P.) ossia OR di AND.

Funzioni. Funzioni /2

4. Operazioni elementari per righe e colonne

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

Memorie ROM (Read Only Memory)

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

SOMMARIO I radicali pag I radicali aritmetici pag Moltiplicazione e divisione fra radicali aritmetici pag.

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

La Logica Proposizionale. (Algebra di Boole)

La misura degli angoli

Predicati e Quantificatori

Algoritmi e strutture dati. Codici di Huffman

FASCI DI RETTE. scrivere la retta in forma esplicita: 2y = 3x + 4 y = 3 2 x 2. scrivere l equazione del fascio di rette:

Operazioni binarie fondamentali

Semantica operazionale dei linguaggi di Programmazione

Corrispondenze e funzioni

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Comparatori. Comparatori di uguaglianza

Anno 1. Le relazioni fondamentali (equivalenza, d'ordine, inverse, fra insiemi)

APPUNTI DI ELETTRONICA DIGITALE

Ancora sugli insiemi. Simbologia

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

Codifica delle Informazioni

Algebra Booleana ed Espressioni Booleane

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Una proposizione è una affermazione di cui si possa stabilire con certezza il valore di verità

Transcript:

Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio

Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento Noi ragioniamo intorno a delle affermazioni, che possono essere vere oppure false* I valori di verità delle affermazioni sono due: vero o falso e possiamo costruire una codifica binaria 0 corrisponde al falso, 1 al vero *si tratta naturalmente di un idealizzazione: esistono anche affermazioni dal valore di verità incerto o impossibile da verificare

Codifica binaria Codifica: corrispondenza biunivoca tra un insieme di elementi e un insieme di numeri naturali Per biunivoca si intende una corrispondenza tra due insiemi (chiamati dominio e codominio) che è sia iniettiva sia suriettiva Una corrispondenza si dice iniettiva quando a elementi diversi del dominio corrispondono elementi diversi del codominio Una corrispondenza si dice suriettiva quando tutti gli elementi del codominio sono coinvolti nella corrispondenza In un corrispondenza biunivoca, quindi, a ogni elemento del dominio corrisponde uno e un solo elemento del codominio e viceversa In una codifica, gli elementi del codominio sono numeri naturali Un esempio di codifica nella vita quotidiana è il sistema di immatricolazione in un università: a ogni studente corrisponde una e una sola matricola e a una matricola corrisponde uno e un solo studente Una codifica in cui il codominio è costituito da due soli elementi si dice codifica binaria

Operatori logici Come in algebra si eseguono operazioni sui numeri per ottenere altri numeri (esempio banale: applichiamo l operazione somma a 3 e 5 e otteniamo 8) così in logica si eseguono operazioni sui valori di verità Le operazioni sui valori di verità si eseguono mediante i cosiddetti operatori logici: congiunzione, disgiunzione, negazione

Congiunzione Date due affermazioni A e B, applicando una congiunzione si ottiene un affermazione composta che indichiamo con A e B (oppure A and B, A && B, A B ) che è vera solo quando sia A sia B sono vere, e falsa in tu8 gli altri casi

Disgiunzione Date due affermazioni A e B, applicando una disgiunzione si ottiene un affermazione composta che indichiamo con A o B (oppure A or B, A B, A B ) che è falsa solo quando sia A sia B sono false, e vera in tu8 gli altri casi

Negazione Date una affermazione A, applicando una negazione si ottiene un affermazione composta che indichiamo con non A (oppure not A,!A, A ) che è falsa quando A è vera e viceversa A differenza di congiunzione e disgiunzione, che sono operatori binari perché si applicano a due operandi, la negazione è un operatore unario perché si applica a un solo operando

Disgiunzione esclusiva Chiamato anche or esclusivo e indicato con xor (oppure ), è l operatore logico con cui costruire una affermazione A xor B che è vera quando A (oppure B) è vera e l altra è falsa, mentre è falsa quando sia A sia B hanno lo stesso valore di verità

Tavole di verità Con le tavole di verità si possono rappresentare graficamente le definizioni dei diversi operatori logici

Precedenze degli operatori! precede &&, che precede, che precede!a&&b C è equivalente a ((!A)&&B) C Le parentesi vincono sulle precedenze: in!((a B)&&C) la disgiunzione viene eseguita per prima, poi la congiunzione, da ultimo la negazione

Uso delle tavole di verità Le tavole di verità possono essere usate per dimostrare l equivalenza di certe affermazioni Due affermazioni si dicono (logicamente) equivalenti quando hanno lo stesso valore di verita in tutti i casi Ad esempio, A xor B e equivalente a (A or B) and not(a and B)

Altre equivalenze logiche nota and A falso nota or A vero falso and A falso falso or A A vero or A vero vero and A A not(a and B) not A or not B not(a or B) not A and not B Tramite le equivalente logiche certe affermazioni possono essere semplificate in affermazioni equivalenti Ad esempio: (not A and A) or (not B and C) è equivalente a not B and C

Regole di inferenza Una regola di inferenza è un meccanismo con cui ottenere da una o più affermazioni una nuova affermazione. Ad esempio: A B A B La regola introduzione di congiunzione dice che, a partire da A e B, possiamo ottenere A B.

Regole di inferenza corrette Una regola di inferenza si dice corretta se, a partire da affermazioni vere, ci permette di ottenere affermazioni vere La regola introduzione di congiunzione è corretta. Lo si può verificare mediante opportune tavole di verità Una regola come eliminazione di disgiunzione, invece, non è corretta: A B A perché esiste un caso in cui A B è vera ma A è falsa A noi interessano solo regole di inferenza corrette La equivalente logiche sono un caso speciale di regole di inferenza

Uso della logica in informatica Tipicamente i sistemi informatici sono attivati per eseguire delle operazioni A volte alcune operazioni devono essere eseguite solo se certe condizioni si verificano Tali operazioni si chiamano istruzioni condizionali Le condizioni che devono essere verificate sono di fatto affermazioni che all istante della verifica hanno un valore di verità (cioè sono vere oppure false)

Condizioni semplici Si definisce condizione semplice un affermazione che confronta due valori Ha tipicamente la forma: valore operatore di confronto valore Esempi (con relativo valore di verità): 4 < 10 (vera) 45 98 (falsa) x < 100 (dipende dal valore di x al momento della verifica)

Condizioni composte Si costruisce una condizione composta a partire da condizioni semplici per mezzo di operatori logici Esempi [e relativi valori di verità]: (4 < 10) and (50 400) [falsa] (10 10) or (100 > 100) [vera] not (x 5) [dipende dal valore di x]

Tipi di condizioni in base alla verità Tautologie: condizioni, come nota or A, che sono sempre vere (qualunque sia il valore di A) Contraddizioni: condizioni, come nota and A, che sono sempre false (qualunque sia il valore di A) Tutte le altre condizioni che possono essere sia vere sia false, a seconda dei valori delle loro componenti, si dicono contingenze

Porte logiche (1) Negazione, NOT,! IN OUT 0 1 1 0 IN OUT

Porte logiche (2) Congiunzione, AND, && IN1 IN2 OUT= IN1 AND IN2 0 0 0 0 1 0 1 0 0 1 1 1 IN1 IN2 OUT

Porte logiche (3) Disgiunzione, OR, IN1 IN2 OUT= IN1 OR IN2 0 0 0 0 1 1 1 0 1 1 1 1 IN1 IN2 OUT

Porte logiche (4) Disgiunzione esclusiva, XOR, IN1 IN2 OUT= IN1 XOR IN2 0 0 0 0 1 1 1 0 1 1 1 0 IN1 IN2 OUT

Codifica binaria Il processore, abbiamo detto, lavora solo con segnali elettrici Segnali elettrici a valori alti di tensione vengono fatti corrispondere al numero 1 Segnali elettrici a valori bassi di tensione vengono fatti corrispondere al numero 0 Questa si chiama codifica binaria Da questo punto di vista, il calcolatore opera solo con due cifre: 0 e 1 Tutta l informazione che un calcolatore elabora viene espressa con queste due cifre, per mezzo della codifica binaria

Numerazione: le basi Noi siamo abituati a una numerazione basata su 10 cifre: da 0 a 9 La base della nostra numerazione è il 10: 147 = 7 x 10 0 + 4 x 10 1 + 1 x 10 2 La base del sistema binario è il 2: 1011 = 1 x 2 0 + 1 x 2 1 + 0 x 2 2 + 1 x 2 3 Se si svolge il calcolo si ottiene il numero che, in base 10, corrisponde a 1011 in base 2.

Base 2 -> Base 10 1011 2, ossia 1011 in base 2, a che numero in base 10 corrisponde? Stiamo cercando la x tale che: 1011 2 = x 10 Basta ricordarsi la definizione di base 2: 1011 = 1 x 2 0 + 1 x 2 1 + 0 x 2 2 + 1 x 2 3 = 11 Perciò 1011 in base 2 vuol dire 11 in base 10: 1011 2 = 11 10 Il nostro 11 è per il calcolatore 1011

Base 10 -> Base 2 Il metodo per esprimere in base 2 un numero dato in base 10 è il seguente Cerchiamo la x tale che: 25 10 = x 2 Si procede con una sequenza di divisioni per 2, fintantoché il quoziente non diventa 0, e scrivendo la sequenza dei resti in ordine inverso

Come si scrive 25 in base 2? 25 : 2 = 12 con resto 1 12 : 2 = 6 con resto 0 6 : 2 = 3 con resto 0 3 : 2 = 1 con resto 1 1 : 2 = 0 con resto 1 Una volta ottenuto il quoziente pari a 0, scriviamo i resti in ordine inverso: 25 10 = 11001 2

Verifica del metodo 11001 è davvero la codifica in base 2 di 25? Basta svolgere i calcoli basati sulla definizione di sistema binario 11001 2 = 1 x 2 0 + 1 x 2 3 + 1 x 2 4 = 1 + 8 + 16 = 25 10 (gli addendi con lo 0 sono stati omessi perché ovviamente non influiscono sulla somma)

Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come parole) di lunghezza fissa dipendente dalla struttura del calcolatore stesso. Ad esempio, una parola di 4 bit può contenere il numero 0101 2 0 1 0 1

Combinazioni possibili di numeri Una parola di 4 bit può contenere 2 4 = 16 numeri binari diversi: da 0000 a 1111 In generale, una parola di n bit può contenere 2 n numeri binari diversi

Dimensioni delle memorie 8 bit = 1 Byte (1B) 2 10 Byte = 1024 Byte = 1 KiloByte (1KB) 2 20 Byte = 1048576 Byte = 1 MegaByte (1MB) 2 30 Byte = 1073741824 Byte = 1 GigaByte (1GB) 2 40 Byte = 1099511627776 Byte = 1 TeraByte (1TB)

Dimensioni delle memorie (2) Oramai è sempre più diffusa la seguente approssimazione: 1000 (10 3 ) Byte (o bit) = 1 KiloByte o KiloBit (1KB o 1Kb) 1000000 (10 6 ) Byte (o bit) = 1 MegaByte o MegaBit (1MB o 1Mb) 1 miliardo (10 9 ) Byte (o bit) = 1 GigaByte o GigaBit (1GB o 1Gb) 1000 miliardi (10 12 ) Byte (o bit) = 1 TeraByte o TeraBit (1TB o 1Tb)