Vedi la discussione: Esame di Stato – Seconda prova di Informatica – 1987
Osserva le soluzioni proposte
- solo selezioni singole
- + selezioni doppie
- + selezioni annidate
- + selezioni multiple
- + operatori logici
Equilatero?
- Righe di codice: 9
- Selezioni singole: 4
- Confronti: 4
test=0
if(a==b):
test+=1
if(b==c):
test+=1
if(test==2):
print("Equilatero")
if(test!=2):
print("NO equilatero")
- Righe di codice: 11
- Selezioni singole: 5
- Confronti: 5
test=0
if(a!=b):
test+=1
if(a!=c):
test+=1
if(b!=c):
test+=1
if(test==0):
print("Equilatero")
if(test!=0):
print("NO equilatero")
- Righe di codice: 7
- Selezioni doppie: 2
- Confronti: 1 | 2
if(a==b):
if(b==c):
print("Equilatero")
else:
print("NO equilatero")
else:
print("NO equilatero")
- Righe di codice: 10
- Selezioni doppie: 3
- Confronti: 1 | 2 | 3
if(a!=b):
print("NO equilatero")
else:
if(a!=c):
print("NO equilatero")
else:
if(b!=c):
print("NO equilatero")
else:
print("Equilatero")
- Righe di codice: 4
- Selezioni doppie: 1
- Confronti: 1 | 2
if(a==b)and(b==c):
print("Equilatero")
else:
print("NO equilatero")
- Righe di codice: 4
- Selezioni doppie: 1
- Confronti: 1 | 2 | 3
if(a!=b)or(a!=c)or(b!=c):
print("NO Equilatero")
else:
print("Equilatero")
Scaleno?
- Righe di codice: 11
- Selezioni singole: 5
- Confronti: 5
test=0
if(a!=b):
test+=1
if(a!=c):
test+=1
if(b!=c):
test+=1
if(test==3):
print("Scaleno")
if(test!=3):
print("NO scaleno")
- Righe di codice: 11
- Selezioni singole: 5
- Confronti: 5
test=0
if(a==b):
test+=1
if(a==c):
test+=1
if(b==c):
test+=1
if(test==0):
print("Scaleno")
if(test!=0):
print("NO scaleno")
- Righe di codice: 10
- Selezioni doppie: 3
- Confronti: 1 | 2 | 3
if(a!=b):
if(a!=c):
if(b!=c)
print("Scaleno")
else:
print("NO scaleno")
else:
print("NO scaleno")
else:
print("NO scaleno")
- Righe di codice: 10
- Selezioni doppie: 3
- Confronti: 1 | 2 | 3
if(a==b):
print("NO scaleno")
else:
if(a==c):
print("NO scaleno")
else:
if(b==c):
print("NO scaleno")
else:
print("Scaleno")
- Righe di codice: 4
- Selezioni doppie: 1
- Confronti: 1 | 2 | 3
if(a!=b)and(a!=c)and(b!=c):
print("Scaleno")
else:
print("NO scaleno")
- Righe di codice: 4
- Selezioni doppie: 1
- Confronti: 1 | 2 | 3
if(a==b)or(a==c)or(b==c):
print("NO scaleno")
else:
print("Scaleno")
Isoscele?
- Righe di codice: 11
- Selezioni singole: 5
- Confronti: 5
test=0
if(a==b):
test+=1
if(a==c):
test+=1
if(b==c):
test+=1
if(test==1):
print("Isoscele")
if(test!=1):
print("NO isoscele")
…
…
- Righe di codice: 8
- Selezione multipla: 1
- Confronti: 2 | 3 | 4 | 5 | 6
if(a==b)and(a!=c):
print("Isoscele")
elif(a!=b)and(a==c):
print("Isoscele")
elif(a!=b)and(b==c):
print("Isoscele")
else:
print("NO isoscele")
- Righe di codice: 4
- Selezione doppia: 1
- Confronti: 2 | 3 | 4 | 5 | 6
if(a==b)and(a!=c)or \
(a!=b)and(a==c)or \
(a!=b)and(b==c):
print("Isoscele")
else:
print("NO isoscele")
Continua…
- Se equilatero è anche isoscele?
- Raggruppa nello stesso codice più caratteristiche: equilatero -> isoscele -> scaleno.
- Triangolo Rettangolo (a^2+b^2 = c^2, …)
- Triangolo Rettangolo -> Ottusangolo -> Acutangolo?
- Controlla che i valori in ingresso siano > 0.
- Controlla che sia un vero triangolo (a < b+c, …).