Page 17 - 120900035800_gallo_cloud_sia

Basic HTML Version

10
BLOCCO TEMATICO A
Le basi della programmazione
Formulare e comprendere i problemi
APPLICAZIONI
LEZIONE
3
Esaminiamo alcuni semplici problemi per i quali la fase di analisi risulta prati-
camente ovvia o, comunque, prevedibile. Per questo motivo, nella descrizione
dell’analisi riporteremo solo la descrizione di che cosa si vuole fare. Osservare questi
problemi è utile per capire come muoversi durante la fase di comprensione del testo
e di definizione delle specifiche funzionali.
PROBLEMA
Fare una telefonata
Analisi del problema
Desideriamo chiamare un abbonato con il telefono. Dopo aver composto il numero
sull’apparecchio telefonico si possono verificare i seguenti casi: l’abbonato risponde,
per cui la telefonata viene eseguita con successo, oppure la telefonata non può essere
effettuata perché il telefono è occupato o l’abbonato non risponde.
Specifiche funzionali
Dati iniziali: numero da comporre
Dati finali
messaggio “telefonata riuscita”
messaggio “telefonata non riuscita”
PROBLEMA
Trovare il maggiore tra due numeri
Analisi del problema
Vogliamo trovare il maggiore tra due numeri interi che chiamiamo X e Y. Il proce-
dimento da seguire è piuttosto semplice, poiché ci si può servire di una semplice
sottrazione. Infatti:
se X
Y > 0, il maggiore è X
se X
Y < 0, il maggiore è Y
se X
Y = 0, X e Y sono uguali
Specifiche funzionali
Dati iniziali:
due numeri interi X e Y
Dati finali
X, se X
Y > 0
Y, se X
Y < 0
PROBLEMA
Calcolare il prodotto di due numeri interi
Analisi del problema
Dobbiamo considerare due numeri interi, che indichiamo con X e Y, e trovare il loro
prodotto. Il semplice procedimento dettato dalla matematica prevede che si possa
utilizzare l’addizione. Infatti:
se Y = 0, il prodotto è 0
se Y > 0, il prodotto è X + X + ... + X (per Y volte)