Passo 1. Analizzare il problema e sviluppare le specifiche
Programmare una semplice macchina ATM
Input: password, tipo transazione, importo della transazione...
Output: messaggi di errore, saldo, contante….
Specifiche di input: password N ,
tipo={prelievo, deposito}
importo R
Specifiche di output:
((password<=0 OR password>=100000) AND “codice errato”) OR
(0<password< 100000 AND tipo=deposito AND z R) OR
…
Passo 2. Progettare una soluzione
algoritmo 1. Richiedere all’utente la pw
2. Se la pw è valida allora continua dal passo 3 altrimenti formula un messaggio di errore e continua dal passo 6
3. Richiedere gli input
3.1 Richiedere all’utente il tipo di transazione e l’importo 3.2 Richiedere alla banca il saldo
4. Se tipo=deposito aggiungere l’importo al saldo 5. Se tipo=prelievo controllare saldo
5.1 Se importo>saldo formulare un messaggio di errore e continuare dal passo 6
5.2 Se importo<=saldo sottrarre importo a saldo
6. Dare il messaggio di errore o il contante e fornire il saldo 7. Chiedere all’utente se desidera altra transazione
pseudocodice
Aggiungere importo a saldo
Dire tipo opz e importo Richiedere pw
È
corretta?
deposito o prelievo?
deposito prelievo
importo
< saldo?
no si
Sottrarre
importo da saldo
Dare la risposta o messaggio di errore
diagramma di flusso
si
no
Richiedere pw
pw e’ corretta ? si
no
Dire tipo opz e importo deposito?
si no
Aggiungere importo a saldo
importo< saldo?
no si
Sottrarre Importo da saldo
Dare la risposta o messaggio di errore
Simulare una macchina ATM
Elaborare tutti i calcoli
Dare tutti gli output Richiedere
gli input
diagramma gerarchico
Diagramma gerarchico di primo livello di una macchina ATM
Il diagramma Gerarchico è un aiuto alla progettazione top-down; indica cosa va fatto da ogni modulo e il flusso dei dati in ingresso e uscita.
Richiedere gli input
Richiedere tipo trans.
Richiedere importo Richiedere
la pw
Diagramma gerarchico di secondo livello per gli input di una macchina ATM
Dare gli output
Stampa il saldo Dare il contante Stampa il messaggio
di errore
Diagramma gerarchico di secondo livello per gli output di una macchina ATM
Elaborare i calcoli
Gestire i prelievi Gestire i
depositi
Aggiungere l’importo
a saldo Controllare
il saldo
Sottrarre
l’importo al saldo
msg di errore
n3=n2+n2 n3=0
While n3<5000
n1=n2 n2=n3 scrivi n3 n1=0
n2=1
NUMERI DI FIBONACCI: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,144, 233, 377, 610, ….
1. Richiedere i primi tre numeri di Fibonacci;
2. Calcola il terzo numero di Fibonacci;
3. Scrivi il numero di Fibonacci;
4. Il secondo numero prende il posto del primo;
5. Il terzo prende il posto del secondo;
6. Ripeti i passi dal 2 al 5 fino a che il terzo < 5000;
Passo-2; prog. una soluzione Pseudo-codice
Diagramma di flusso N-S Passo 1. Analizzare il problema e sviluppare le specifiche
C = 0
Mentre C≤9 D = 0
Mentre D≤9 Mentre U≤9
U = 0
N = C*100+D*10+U Cubo = C3 + D3 + U3
N = Cubo V
F
Scrivi C, D, U
D = D + 1 U = U + 1
Numeri cubici 153=1
3+5
3+3
3N=C*100+D*10+U N=C3 + D3 + U3
Es: 153=13+53+33, 370, 371, 407 Diagramma di flusso N-S
1. Mettere a zero le centinaia;
2. Fino a che le centinaia sono ≤≤≤≤a nove, ripeti 3-12 3. Mettere a zero le decine;
4. Fino a che le decine sono ≤≤≤≤a nove, ripeti 5-11 5. Mettere a zero le unita’;
6. Fino a che le unita’ sono ≤≤≤≤a nove, ripeti 7-10 7. Calcola il numero
8. Calcola il cubo
9. Se il numero = cubo allora scrici C,D,U 10. Aumenta di uno le unita’
Passo 2. Progettare una soluzione
algoritmo
1. Richiedere due numeri e l’operazione desiderata 2. Controllare l’operazione
2.1 se e’ + allora il risultato e’ il primo + il secondo 2.2 se e’ - allora il risultato e’ il primo - il secondo 2.3 se e’ * allora il risultato e’ il primo * il secondo 2.4 se e’ : allora controllare il secondo numero
se il secondo numero e’ 0 formulare msg di errore altrimenti il risultato e’ il primo : il secondo
3. Stampare il risultato o il msg di errore
Pseudocodice per una semplice calcolatrice
Simulare una calcolatrice
Elaborare tutti i calcoli
Dare tutti gli output Richiedere
gli input
diagramma gerarchico
Richiedere 2 numeri
Richiedere l’operazione
Stampare il risultato
Stampare msg errore
Elab.
l’addizione
Elab. la sottrazione
Elab. la moltiplicazione
Elab. la divisione