Fondamenti di informatica per la sicurezza

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)