Corso di Laurea in Sicurezza dei sistemi e delle reti informatiche Fondamenti di informatica per la sicurezza docente: Stefano Ferrari anno accademico 2008–2009 29.11.2008 — Soluzione del primo compitino — versione A valutazioni 1 (5) 2 (5) 3 (5) 4 (4) Cognome Nome Matricola Firma Esercizio 1 Per ogni numero k, calcolare il corrispondente numerale nella base n indicata: 5 (4) 6 (9) e) (213)5 = 2·52 +1·51 +3·50 = 2·25+1·5+3·1 = 50 + 5 + 3 = 58 quoziente 58 29 14 7 3 1 0 a) k = (503)7 , n = 10 b) k = (71)10 , n = 2 c) k = (B2)16 , n = 2 d) k = (174)8 , n = 2 resto 0 1 0 1 1 1 e) k = (213)5 , n = 2 (213)5 = (111010)2 f) k = (1001101)2 , n = 16 f) Soluzione a) (503)7 = 5·72 +0·71 +3·70 = 5·49+0·7+3·1 = 245 + 0 + 3 = 248 (503)7 = (248)10 b) quoziente 71 35 17 8 4 2 1 0 base 2 base 16 0100 4 1101 D (1001101)2 = (4D)16 Esercizio 2 resto Dati a = −16, b = 7 e n = 5, calcolare in complemento a 2 a n bit, specificando se si verifica un overflow: 1 1 1 0 0 0 1 1. le stringhe binarie sa e sb che codificano rispettivamente a e b; 2. la somma delle stringhe binarie sa e sb ; 3. la differenza delle stringhe binarie sa e sb . (71)10 = (1000111)2 c) Soluzione base 16 base 2 B 1011 2 0010 (B2)16 = (10110010)2 d) base 8 base 2 1 001 7 111 (174)8 = (1111100)2 4 100 Con la codifica in complemento a 2 a 5 bit possono essere rappresentati tutti i numeri interi compresi fra −25−1 e 25−1 − 1. Possono pertanto essere rappresentati senza causare overflow tutti e soli i numeri x che rispettano la condizione −16 ≤ x ≤ 15. 1. 2n +a = 25 −16 = 16. Codificando 16 in binario e troncando tale codifica a 5 bit si ottiene: sa = 10000. Poiché −16 ≤ −16 ≤ 15, non si è verificato un overflow. 2n + b = 25 + 7 = 39. Codificando 39 in binario e troncando tale codifica a 5 bit si ottiene: sb = 00111. Poiché −16 ≤ 7 ≤ 15, non si è verificato un overflow. 2. La somma binaria di 10000 e 00111, troncata a 5 bit è: sa + sb = 10111. Poiché sa e sb hanno il primo bit diverso, non si è verificato un overflow. 3. La differenza sa e di −sb . 00111 11000 + 1 = 11001 + 10000 = 101001 01001 viene calcolata come somma di sottraendo, sb negazione delle cifre di sb , sb −sb sa si devono considerare solo gli ultimi 5 bit sa − sb Poiché sa e sb hanno il primo bit diverso, e il primo bit della loro differenza, 01001, non è uguale al primo bit di sa , si è verificato un overflow. Esercizio 3 Una azienza produce pastelli con le seguenti caratteristiche: • colore: giallo, rosso, verde, blu, viola, rosa; b) Per la regola moltiplicativa, ci sono 6 × 4 × 3 = 72 possibili pastelli, quindi servono ⌈log2 72⌉ = 7 bit. c) Ogni pastello multi è composto da una terminazione, da quattro mine in sequenza ed è ulteriormente caratterizzato da una dimensione. Data una determinata dimensione ed una determinata terminazione, i pastelli multi si distinguono tra loro per la sequenza di mine di quattro differenti colori. Poiché è ragionevole pensare che la sequenze differenti degli stessi colori caratterizzino i pastelli come differenti tra loro, il numero di pastelli differenti è pari alle disposizioni semplici di sei oggetti (i colori) su quattro posti (il numero di mine di un multi-mina): D(6, 4) = 6 × 5 × 4 × 3 = 23 · 45 Per la regola del prodotto, il numero totale di pastelli multi differenti si ottiene moltiplicando la quantità sopra calcolata per il numero di terminazioni (4) e per il numero di dimensioni (3): 23 · 45 × 4 × 3 = 25 · 135. Poiché la prima potenza di 2 che supera 135 è 28 , per codificare i pastelli multi serviranno ⌈log2 (25 · 135)⌉ = ⌈log2 25 + log2 135⌉ = ⌈5 + log2 135⌉ = 5 + ⌈log2 135⌉ = 5 + 8 = 13 bit. Esercizio 4 Sia data la seguente formula, F : F = ((p ∨ q) ∧ (¬r → p)) ↔ ¬q • terminazione: orso, macchina, angelo, pirata; a) Costruire la tavola di verità di F . • dimensione: mini, normale, maxi. b) F è una tautologia? Motivare la risposta. Ogni pastello viene realizzato considerando un elemento per ogni caratteristica. Inoltre, vengono proposti anche pastelli multi che contengono, in sequenza mine di quattro differenti colori. Si calcoli: a) il numero di bit necessari per codificare le caratteristiche (colore, terminazione, dimensione); b) il numero di bit necessari per codificare i possibili pastelli; c) il numero di bit necessari per codificare i possibili pastelli multi. Soluzione a) La tabella di verità di F è riportata in figura 1. b) Poiché almeno una interpretazione rende falsa la proposizione F , essa non è una tautologia. Esercizio 5 Formalizzare le seguenti proposizioni (ipotizzando che chi non viaggia, aspetti, e viceversa): a) Antonio aspetta solo se aspetta anche Bice; b) sia Carlo, sia Bice non viaggiano; c) Carlo aspetta, Bice o Antonio no; Soluzione a) • 6 colori: ⌈log2 6⌉ = 3 bit. • 4 terminazioni: ⌈log2 4⌉ = 2 bit; • 3 dimensioni: ⌈log2 3⌉ = 2 bit; d) Bice aspetta se e solo se Antonio e Carlo viaggiano; e) quando Antonio viaggia, Bice e Carlo aspettano. p F F F F V V V V q F F V V F F V V r F V F V F V F V p∨q F F V V V V V V α ¬r V F V F V F V F ¬r → p F V F V V V V V β α∧β F F F V V V V V γ ¬q V V F F V V F F γ ↔ ¬q F F V F V V F F Figura 1: Tabella di verità dell’esercizio 4a. Soluzione Dati i seguenti simboli proposizionali: a Antonio viaggia ¬a Antonio aspetta b Bice viaggia ¬b Bice aspetta c Carlo viaggia ¬c Carlo aspetta le frasi dell’esercizio possono essere formalizzate tramite le seguenti proposizioni: b) ¬c ∧ ¬b c) ¬c ∧ (b ∨ a) d) ¬b ↔ (a ∧ c) e) a → (¬b ∧ ¬c) Esercizio 6 Dimostrare la validità delle seguenti inferenze: a) Ip1 (¬a → c) ∧ b Ip2 (a → c) → ¬b Tesi ¬c b) Ip1 (b → c) → a Ip2 ¬b Tesi a c) Ip1 ¬a Ip2 a ↔ (c → b) Tesi c Soluzione (a → c) → ¬b ¬(a → c) ∨ ¬b ¬(¬a ∨ c) ∨ ¬b (a ∧ ¬c) ∨ ¬b (a ∨ ¬b) ∧ (¬c ∨ ¬b) ¬c ∨ ¬b b → ¬c (¬a → c) ∧ b b ¬c c) (1) (2) (3) (4) (5) (6) (7) (8) a) ¬a → ¬b a) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) b) (1) (2) (3) (4) (5) Ip2 Def. impl. (1) Def. impl. (2) L. di De Morgan (3) Distributività (4) Elim. cong. (5) Def. impl. (6) Ip1 Elim. cong. (8) M. ponens (7) e (9) ¬b ¬b ∨ c b→c (b → c) → a a Ip2 Introd. disgiunzione (1) Def. implicazione (2) Ip1 Modus ponens (3) e (4) a ↔ (c → b) (a → (c → b)) ∧ ((c → b) → a) (c → b) → a ¬a ¬(c → b) ¬(¬c ∨ b) c ∧ ¬b c Ip2 Def. biimpl. (1) Elim. cong. (2) Ip1 M.T. (3) e (4) Def. impl. (5) De Morgan (6) Elim. cong. (7)