Io ODIO gli esercizi “dati X dati”

di | 3 Dicembre 2016

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…:

  1. Un ciclo, un paio di if e due variabili
  2. 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.

3 pensieri su “Io ODIO gli esercizi “dati X dati”

  1. Lorenzo Fiocco

    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.

    Rispondi
    1. Mike Sciking Autore articolo

      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 😛

      Rispondi
  2. Pingback: Ha senso fare verifiche informatiche su carta? – Computer Blog

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.