11
Informatica e problemi
UNITà DI APPRENDIMENTO 1
Specifiche funzionali
Dati iniziali:
due numeri interi X e Y
Dati finali
0, se Y = 0 X * Y, se Y > 0
PROBLEMA
Trovare il massimo fra tre numeri
Analisi del problema
Per cercare il massimo fra tre numeri, che chiamiamo
a, b
e
c
, è sufficiente confrontare
a
con
b
e trovare il massimo tra questi due; quindi, una volta ottenuto questo valore,
basta confrontarlo con il numero
c
per ottenere il massimo valore fra i tre forniti.
Specifiche funzionali
Dati iniziali:
tre numeri interi
a, b, c
Dati finali:
il valore massimo
PROBLEMA
Convertire una temperatura da gradi Fahrenheit a gradi Celsius e viceversa
Analisi del problema
Nella scala Celsius delle temperature il punto di congelamento dell’acqua è 0 gradi
Celsius, mentre quello di ebollizione è 100 gradi Celsius. Nella scala Fahrenheit il pun-
to di congelamento dell’acqua è 32 gradi Fahrenheit, mentre il punto di ebollizione si
trova a 212 gradi Fahrenheit, suddividendo così la distanza fra i due estremi in 180 gra-
di. L’unità di questa scala, il grado Fahrenheit (°F) è 5/9 di un grado Celsius. Notiamo
che la temperatura di 32 °F corrisponde a 0°C. Quindi, un metodo per convertire gradi
Celsius in gradi Fahrenheit è quello di moltiplicare per 9/5 e aggiungere 32, mentre per
convertire gradi Fahrenheit in gradi Celsius occorre sottrarre 32 e moltiplicare per 5/9.
Specifiche funzionali
Dati iniziali
•
un numero intero X che rappresenta i gradi
•
un opzione di conversione
Opz
(per esempio, 1 significa convertire da gradi Celsius
in gradi Fahrenheit e 2 da Fahrenheit in Celsius)
Dati finali:
un numero intero corrispondente ai gradi ottenuti
PROBLEMA
Cercare il numero di un utente in un elenco telefonico
Analisi del problema
Un modo piuttosto semplice per iniziare potrebbe essere quello di osservare la prima
coppia (nome, numero telefonico). Se il nome è uguale a quello cercato, allora il nu-
mero telefonico corrispondente è quello cercato e il problema è risolto. Se questa prima
coppia non soddisfa la nostra condizione, dobbiamo passare alla coppia successiva,
ma occorre tenere presente che non dobbiamo oltrepassare l’ultima coppia presente in
elenco. Se ciò dovesse accadere, significa che il valore cercato non è presente nell’elenco.
Specifiche funzionali
Dati iniziali
•
un insieme ordinato di coppie (nome, numero telefonico) e un nome da ricercare
che indichiamo con
X
Dati finali
•
il numero telefonico corrispondente all’utente caratterizzato dal nome
X
(se pre-
sente nell’insieme)
•
visualizzazione di un messaggio con il quale si informa che l’utente non è incluso
nell’elenco (se l’utente non è presente)