DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Esercitazione pre
1ma prova in itinere
Marco D. Santambrogio – [email protected]
Ver. aggiornata al 24 Agosto 2015
Virgola mobile
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
http://www.archiproducts.com/it/prodotti/137789/poltroncina-girevole-in-pelle-virgola-dall-agnese.html
2
Somma in virgola
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 10,25010 + 11,310
• Ricordiamo
 1 bit di segno
 8 bit di esponente
 23 bit di mantissa
3
10,25010 in BIN
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Segno: 0
• Mantissa: 1010.010 --> 1.010010 x 23
 10 = 1010
 0,250 = 01
• 0,250 x 2 =0,5 --> 0
• 0,5 x 2 = 1,0 --> 1
• 0,0 x 2 = 0,0 --> 0 poi, sempre 0
• Esponente: 127 + 3
4
11,310 in BIN
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Segno
• Mantissa: 1011.010011001… -->
1.0110100110011001… x 23
 11 = 1011
 0,3 = 010011001100110011001100
•
•
•
•
•
•
•
0,3 x 2 = 0,6 --> 0
0,6 x 2 = 1,2 --> 1
0,2 x 2 = 0,4 --> 0
0,4 x 2 = 0,8 --> 0
0,8 x 2 = 1,6 --> 1
0,6 x 2 = 1,2 --> 1
0, 2 x 2 = 0,4 --> 0 … sequenza già vista..
• Esponente: 127 + 3
5
Somma 10,25010 + 11,310
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 10,25010 + 11,310 =
• Stessi esponenti --> sommo mantisse!
1.01001000000000000000000 +
1.01101001100110011001100
---------------------------10.10110001100110011001100
-->
1.01011000110011001100110 x 21
6
10,25010 + 11,310 = ???
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
1.01011000110011001100110 x 24
10101.1000110011001100110
7
10,25010 + 11,310 = ???
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
1.01011000110011001100110 x 24
10101.1000110011001100110
10101 in DEC?
x*24+x*23+x*22+x*21+x*20 =
8
10,25010 + 11,310 = ???
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
1.01011000110011001100110 x 24
10101.1000110011001100110
10101 in DEC?
1*24+0*23+1*22+0*21+1*20 =
16+0+4+0+1 = 21
9
10,25010 + 11,310 = ???
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
1.01011000110011001100110 x 24
10101.1000110011001100110
0. 1000110011001100110 in DEC?
10
10,25010 + 11,310 = 21,55010
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
1.01011000110011001100110 x 24
10101.1000110011001100110
0. 10001100110011001100 in DEC?
1/2 = 0.5
+1/32= 0.03125
+1/64 = 0.015625
+1/512 = 0.001953125
+1/1024 = 0.0009765625
+1/8192 = 0.0001220703125
+1/16384 = 0.00006103515625
+1/131072 = 0.000007629394531
+1/262144 = 0.000003814697266
=
0.549999237060547
11
10,25010 + 11,310 = ???
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
1.01011000110011001100110 x 24
10101.1000110011001100110
10101.10001100110011001100 in DEC
21.549999237060547 --> (Round) = 21.5
12
Costrutti condizionali
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
http://burnsmcdmedia.com/careersblog/wp-content/uploads/2013/03/QuestionMark.jpg
13
Costrutti condizionali
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Si consideri la condizione, scritta in C, in cui x e y siano due
variabili int:
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
•Si scriva l’espressione booleana associata alla condizione
descritta ottenuta dalla prima formula sostituendo la variabile
A con x>2, la variabile B con y>7, la variabile C con x<1. Se
ne dimostri il valore di verità associato, tramite la
compilazione della corrispondente tabella di verità.
•Si risponda, giustificando bene le risposte, alle seguenti
domande:
 L’espressione è vera o falsa quando x=0 e y=9?
 Se y>7, per quali valori di x l’espressione è vera?
14
Seconda parte
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
•Si risponda, giustificando bene le risposte,
alle seguenti domande:
 L’espressione è vera o falsa quando x=0 e
y=9?
 Se y>7, per quali valori di x l’espressione è
vera?
15
Seconda parte: 1ma domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
L’espressione è vera o falsa quando x=0 e y=9?
16
Seconda parte: 1ma domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
L’espressione è vera o falsa quando x=0 e y=9?
!( (0>2) && !(9>7) ) || ( !(9>7) || (0<1) )
17
Seconda parte: 1ma domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
L’espressione è vera o falsa quando x=0 e y=9?
!( (0>2) && !(9>7) ) || ( !(9>7) || (0<1) )
!( (F) && !(V) ) || ( !(V) || (V) )
18
Seconda parte: 1ma domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
L’espressione è vera o falsa quando x=0 e y=9?
!( (0>2) && !(9>7) ) || ( !(9>7) || (0<1) )
!( (F) && !(V) ) || ( !(V) || (V) )
!( F && F ) || ( F || V )
19
Seconda parte: 1ma domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
L’espressione è vera o falsa quando x=0 e y=9?
!( (0>2) && !(9>7) ) || ( !(9>7) || (0<1) )
!( (F) && !(V) ) || ( !(V) || (V) )
!( F && F ) || ( F || V )
!(F) || (V)
20
Seconda parte: 1ma domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
L’espressione è vera o falsa quando x=0 e y=9?
!( (0>2) && !(9>7) ) || ( !(9>7) || (0<1) )
!( (F) && !(V) ) || ( !(V) || (V) )
!( F && F ) || ( F || V )
!(F) || (V)
V || V
21
Seconda parte: 1ma domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
L’espressione è vera o falsa quando x=0 e y=9?
!( (0>2) && !(9>7) ) || ( !(9>7) || (0<1) )
!( (F) && !(V) ) || ( !(V) || (V) )
!( F && F ) || ( F || V )
!(F) || (V)
V || V
V
22
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
Se y>7, per quali valori di x l’espressione è vera?
23
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
Se y>7, per quali valori di x l’espressione è vera?
!( (x>2) && !(7>7) ) || ( !(7>7) || (x<1) )
24
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
Se y>7, per quali valori di x l’espressione è vera?
!( (x>2) && !(7>7) ) || ( !(7>7) || (x<1) )
NOTA: vi è un errore!!!
y dovrebbe essere > 7
25
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
Se y>7, per quali valori di x l’espressione è vera?
!( (x>2) && !(7>7) ) || ( !(7>7) || (x<1) )
!( (x>2) && !(F) ) || ( !(F) || (x<1) )
26
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
Se y>7, per quali valori di x l’espressione è vera?
!( (x>2) && !(7>7) ) || ( !(7>7) || (x<1) )
!( (x>2) && !(F) ) || ( !(F) || (x<1) )
!( (x>2) && V ) || ( V || (x<1) )
27
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Quando
!( (x>2) && V ) || ( V || (x<1) )
è vera?
R: x>2, K: x<1
28
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Quando
!( (x>2) && V ) || ( V || (x<1) )
è vera?
R: x>2, K: x<1
!(R&&1)||(1||K)
29
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Quando
!( (x>2) && V ) || ( V || (x<1) )
è vera?
R: x>2, K: x<1
!(R&&1)||(1||K)
!(R&&1)||(1)
30
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Quando
!( (x>2) && V ) || ( V || (x<1) )
è vera?
R: x>2, K: x<1
!(R&&1)||(1||K)
!(R&&1)||(1)
Z: R&&1
31
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Quando
!( (x>2) && V ) || ( V || (x<1) )
è vera?
R: x>2, K: x<1
!(R&&1)||(1||K)
!(R&&1)||(1)
!Z || 1
32
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Quando
!( (x>2) && V ) || ( V || (x<1) )
è vera?
R: x>2, K: x<1
!(R&&1)||(1||K)
!(R&&1)||(1)
!Z || 1
T: !Z
33
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Quando
!( (x>2) && V ) || ( V || (x<1) )
è vera?
R: x>2, K: x<1
!(R&&1)||(1||K)
!(R&&1)||(1)
!Z || 1
T||1
34
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Quando
!( (x>2) && V ) || ( V || (x<1) )
è vera?
R: x>2, K: x<1
!(R&&1)||(1||K)
!(R&&1)||(1)
!Z || 1
T||1
1
35
Seconda parte: 2nda domanda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Quando
!( (x>2) && V ) || ( V || (x<1) )
è vera?
R: x>2, K: x<1
!(R&&1)||(1||K)
!(R&&1)||(1)
!Z || 1
T||1
1
SEMPRE!!!!
36
Prima parte
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Si consideri la condizione, scritta in C, in cui
x e y siano due variabili int:
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
Si scriva l’espressione booleana associata
alla condizione descritta ottenuta dalla prima
formula sostituendo la variabile A con x>2, la
variabile B con y>7, la variabile C con x<1.
Se ne dimostri il valore di verità associato,
tramite la compilazione della corrispondente
tabella di verità.
37
Prima parte: sostituiamo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Si consideri la condizione, scritta in C, in cui
x e y siano due variabili int:
!( A && !B ) || ( !B || C )
Si scriva l’espressione booleana associata
alla condizione descritta ottenuta dalla prima
formula sostituendo la variabile A con x>2, la
variabile B con y>7, la variabile C con x<1.
Se ne dimostri il valore di verità associato,
tramite la compilazione della corrispondente
tabella di verità.
38
Prima parte: tabella verità
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( A && !B ) || ( !B || C )
ABC
000
001
010
011
100
101
110
111
39
Prima parte: tabella verità
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( A && !B ) || ( !B || C )
A B C !B
000 1
001 1
010 0
011 0
100 1
101 1
110 0
111 0
40
Prima parte: tabella verità
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( A && !B ) || ( !B || C )
A B C !B A && !B
000 1
0
001 1
0
010 0
0
011 0
0
100 1
1
101 1
1
110 0
0
111 0
0
41
Prima parte: tabella verità
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( A && !B ) || ( !B || C )
A B C !B A && !B !(A&&!B)
000 1
0
1
001 1
0
1
010 0
0
1
011 0
0
1
100 1
1
0
101 1
1
0
110 0
0
1
111 0
0
1
42
Prima parte: tabella verità
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( A && !B ) || ( !B || C )
A B C !B
000 1
001 1
010 0
011 0
100 1
101 1
110 0
111 0
A&&!B !(A&&!B) !B||C
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
43
Prima parte: tabella verità
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
!( A && !B ) || ( !B || C )
A B C !B
000 1
001 1
010 0
011 0
100 1
101 1
110 0
111 0
A&&!B !(A&&!B) !B||C
0
1
1
0
1
1
0
1
0
0
1
1
1
0
1
1
0
1
0
1
0
0
1
1
!()||()
1
1
1
1
1
1
1
1
44
Prima parte: tabella verità
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Ma quindi…
!( (x>2) && !(y>7) ) || ( !(y>7) || (x<1) )
è una TAUTOLOGIA!!!
45
Strutture e ricerche in dati
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
https://assets.entrepreneur.com/content/16x9/822/basics-business-structure.jpg
46
Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Uno studio medico richiede di realizzare
una piccola agenda degli appuntamenti
settimanali.
• Per semplicità si considerino solo i
giorni e le ore lavorativi (5 giorni a
settimana, dalle 8 alle 17).
• Sempre per semplicità, gli appuntamenti
vengono allocati su base oraria
47
Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Per ogni appuntamento occorre
memorizzare:




Nome e Cognome del paziente
Prestazione richiesta
Eventuali note
Cifra pagata
• Piccolo suggerimento: vi servirà anche
uno “stato” (typedef enum?)
48
Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si devono poter effettuare le seguenti
operazioni:




Inserire un nuovo appuntamento
Vedere tutti gli appuntamenti di un giorno
Inserire un pagamento
Stampare una “ricevuta” di pagamento
49
Agenda – librerie e definizioni
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
50
Agenda – inizializzazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
51
Riceca Vettori
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma che
 Salvati N numeri interi positivi, compresi tra 0 e 10,
nell’array1
 Salvati K (K<N) numeri interi positivi, compresi tra 0 e 10,
nell’array2
 Verifica se l’array 2 è contenuto nell’array1
Esempio1:
a1[]={0,4,1,1,1,3,0,0,0,3}
a2[]={0,0}
a2 è contenuto in a1
Esempio2:
a1[]={0,4,1,1,1,3,0,0,0,3}
a2[]={5,7,0,1,5}
a2 non è contenuto in a1
52
Ricerca Vettori: Dati e Dim
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
53
Ricerca Vettori: Inserimento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
54
Ricerca Vettori: Trova
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
55
Ricerca Vettori: Stampa
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
56
Fine…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
57
Scarica

Seconda parte: 2nda domanda