Come calcolare il valore più piccolo tra 2, 3, 4, … valori?
Criteri di valutazione del codice?
- Quali selezioni? Quante selezioni?
- Quanti confronti vengono effettivamente eseguiti?
- Quante righe di codice?
- Quale codice è più leggibile?
Due valori
Selezioni singole
- Selezioni singole: 1
- Confronti: 1
- Righe di codice: 3
m2=a
if(b < m2):
m2=b
- Selezioni singole: 2
- Confronti: 2
- Righe di codice: 4
if(a <= b):
m2=a
if(b < a):
m2=b
Selezioni doppie
- Selezioni doppie: 1
- Confronti: 1
- Righe di codice: 4
if(a <= b):
m2=a
else:
m2=b
Tre valori
Selezioni singole
- Selezioni singole: 2
- Confronti: 2
- Righe di codice: 5
m3=a
if(b < m3):
m3=b
if(c < m3):
m3=c
- Selezioni singole: 3
- Confronti: 3
- Righe di codice: 6
if(a <= b):
m3=a
if(b < a):
m3=b
if(c < m3):
m3=c
Selezioni doppie
- Selezioni doppie: 1
- Selezioni singole: 1
- Confronti: 2
- Righe di codice: 6
if(a <= b):
m3=a
else:
m3=b
if(c < m3):
m3=c
- Selezioni doppie : 3
- Confronti: 2
- Righe di codice: 10
if(a <= b):
if(a <= c):
m3=a
else:
m3=c
else:
if(b <= c):
m3=b
else:
m3=c
Selezione multipla
- Selezioni multiple: 1
- Confronti: … 4
- Righe di codice: 6
if(a <= b) and (a <= c):
m3=a
elif(b <= a) and (b <= c):
m3=b
else:
m3=c
- Selezioni multiple: 1
- Confronti: … 3
- Righe di codice: 6
if(a <= b) and (a <= c):
m3=a
elif(b <= c):
m3=b
else:
m3=c
Quattro valori
Selezioni singole
- Selezioni singole: 3
- Confronti: 3
- Righe di codice: 7
m4=a
if(b < m4):
m4=b
if(c < m4):
m4=c
if(d < m4):
m4=d
…
Selezioni doppie
- Selezioni doppie: 3
- Confronti: 3
- Righe di codice: 12
- Variabili temporanee: 2
if(a <= b):
m_ab=a
else:
m_ab=b
if(c <= d):
m_cd=c
else:
m_cd=d
if(m_ab <= m_cd):
m4=m_ab
else:
m4=m_cd
- Selezioni doppie : 7
- Confronti: 3
- Righe di codice: 22
if(a <= b):
if(a <= c):
if(a <= d):
m4=a
else:
m4=d
else:
if(c <= d):
m4=c
else:
m4=d
else:
if(b <= c):
if(b <= d):
m4=b
else:
m4=d
else:
if(c <= d):
m4=c
else:
m4=d
Selezione multipla
- Selezioni multiple: 1
- Confronti: … 9
- Righe di codice: 8
if(a <= b) and (a <= c) and (a <= d):
m4=a
elif(b <= a) and (b <= c) and (b <= d):
m4=b
elif(c <= a) and (c <= b) and (c <= d):
m4=c
else:
m4=d
- Selezioni multiple: 1
- Confronti: … 6
- Righe di codice: 8
if(a <= b) and (a <= c) and (a <= d):
m4=a
elif(b <= c) and (b <= d):
m4=b
elif(c <= d):
m4=c
else:
m4=d
Ripeti tutti gli esercizi per calcolare il valore più grande.