3° Anno TEORIA 7. Metodologie di progettazione e programmazione | Page 13

6 . Metodologia top-down e sottoprogrammi Versione 5.0 – Aprile 2023
1 . a ) Si supponga che inizialmente le variabili siano così valorizzate : x = 2 , y = 2 , z = 3
N . B . La scelta dei nomi e dell ’ ordine nel quale inserire i parametri attuali ( programma chiamante ) nella tabella di traccia è ARBITRARIO . Però una volta fissato , non va modificato
N . B . La scelta dei nomi e dell ’ ordine nel quale inserire i parametri formali ( programma chiamato ) nella tabella di traccia è OBBLIGATO e corrisponde all ’ ordine scelto dal progettista . Quindi occorre seguire il prototipo della procedura che , in questo caso , è :
PROCEDURA ChangeMe1 ( REF x : INT , VAL y : INT , REF z : INT )
PROCEDURA main ( )
y
z
2
2
3
y
z
1
10
3
Dopo la prima chiamata
3 10 1
ChangeMe1 ( z , y , x )
x
y
z
10
18
Dopo la seconda chiamata
PROCEDURA ChangeMe1 (…)
2 3 2
REF VAL REF ChangeMe1 ( y , z , x ) i x y z
RITORNA
-
2
3
2
Inizio ciclo
1
6
7
2
2
10
11
2
Fine ciclo
3
10
11
1
REF VAL
REF
i
x
y
z
-
3
10
1
1
18
25
1
2
18
25
0
Calcoli : 1 ° Chiamata ( nella procedura ChangeMe1 )
i � 1 ( i = 1 ) prima che inizi ciclo PER TEST PER ( i ≤ z ) ossia ( 1 ≤ 2 ) VERO
i = 1 x � 2 * y – x + z ( x = 2 * 3 – 2 + 2 = 6 ) y � 2 * x – y – z ( y = 2 * 6 – 3 – 2 = 7 ) i � i + 1 ( i = 1 + 1 = 2 ) TEST PER ( i ≤ z ) ossia ( 2 ≤ 2 ) VERO i = 2 x � 2 * y – x + z ( x = 2 * 7 – 6 + 2 = 10 ) y � 2 * x – y – z ( y = 2 * 10 – 7 – 2 = 11 ) i � i + 1 ( i = 2 + 1 = 3 ) TEST PER ( i ≤ z ) ossia ( 3 ≤ 2 ) FALSO exit ciclo PER
Fuori ciclo PER z � z – 1 ( z = 2 – 1 = 1 )
Inizio ciclo Fine ciclo
Calcoli : 2 ° Chiamata ( nella procedura ChangeMe1 ) i � 1 ( i = 1 ) prima che inizi ciclo PER TEST PER ( i ≤ z ) ossia ( 1 ≤ 1 ) VERO
i = 1 x � 2 * y – x + z ( x = 2 * 10 – 3 + 1 = 18 ) y � 2 * x – y – z ( y = 2 * 18 – 10 – 1 = 25 ) i � i + 1 ( i = 1 + 1 = 2 ) TEST PER ( i ≤ z ) ossia ( 2 ≤ 1 ) FALSO exit ciclo PER
Fuori ciclo PER z � z – 1 ( z = 1 – 1 = 0 )
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it )
Pag . 13