Scrivo questo post di notte perché non ho null’altro da fare e voglio condividere con voi una mia osservazione: Gli esercizi del tipo:
“Dati i voti di tre studenti fai la media della classe”
O ancora peggio:
“Determina il voto più alto”
Sono il male assoluto e i libri che li contengono dovrebbero essere messi all’indice.
Scrivo a braccio i corrispondenti programmi in Python per poi farli bene, coi cicli. Tenete a mente che il linguaggio didattico per eccellenza è il C, con tutto ciò che ne consegue.
voto1 = input("Voto dello studente uno")
voto2 = input("Voto dello studente due")
voto3 = input("Voto dello studente tre")
somma = voto1+voto2+voto3
media = somma/3
print media
Certo, in Python è piccolino, ma in C sono, a mente, una ventina di righe di codice. Potrei scriverlo, se vi interessa.
E come sarebbe se strutturato bene?
c = 0
while c < 3:
a = input("Inserire voto:")
somma = somma + a
c = c+1
media = somma/c
print media
(WordPress non mette indentazione, e ciò è male)
Converrete con me che tale programma è più bello e più portabile, può essere adattato a più casi senza snaturarlo ad esempio…
Il secondo caso si può invece risolvere in due modi…:
- Un ciclo, un paio di if e due variabili
- Nessun ciclo ma tanti if alla fine
E il primo è numericamente illimitato, vi determina maggiore e minore pure di 200 voti, il secondo va fatto manualmente… Boh, fate voi, ma per me meglio educare fin da subito a programmare bene e in modo strutturato.
Completamente d’accordo, non si può fare un programma che risolve solo e soltanto un caso specifico, è praticamente inutile.
Un programma di questo tipo è utile come una calcolatrice che sa fare solo 2+3.
Io avevo un prof di C che era più interessato al risultato che al codice, quindi me ne fregavo e usavo il metodo due dell’articolo 😛
Pingback: Ha senso fare verifiche informatiche su carta? – Computer Blog