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

6 . Metodologia top-down e sottoprogrammi Versione 5.0 – Aprile 2023
1 . b ) Si supponga che inizialmente le variabili siano così valorizzate : x = 3 , y = -2 , z = -3
PROCEDURA main ( )
x
y
z
3
-2
-3
x
y
z
2
1
-3
-2 -3 3 ChangeMe1 ( y , z , x )
RITORNA
PROCEDURA ChangeMe1 (…)
REF
VAL REF
i
x
y
z
-
-2
-3
3
1
-1
-2
3
2
0
-1
3
3
1
0
3
4
1
0
2
Inizio ciclo
Fine ciclo
Dopo la prima chiamata
x
y
z
1
1
17
-3 1 2 ChangeMe1 ( z , y , x )
REF
VAL
REF
i
x
y
z
-
-3
1
2
1
7
11
2
2
17
21
2
3
17
21
1
Inizio ciclo
Fine ciclo
Dopo la seconda chiamata
Calcoli : 1 ° Chiamata ( nella procedura ChangeMe1 ) i � 1 ( i = 1 ) prima che inizi ciclo PER
TEST PER ( i ≤ z ) ossia ( 1 ≤ 3 ) VERO i = 1 x � 2 * y – x + z ( x = 2 *( -3) – ( -2) + 3 = -1) y � 2 * x – y – z ( y = 2 *( -1) – ( -3) – 3 = -2) i � i + 1
( i = 1 + 1 = 2 ) TEST PER ( i ≤ z ) ossia ( ≤ 3 ) VERO
i = 2
x � 2 * y – x + z
( x = 2 *( -2) – ( -1) + 3 = 0 )
y � 2 * x – y – z
( y = 2 * 0 – ( -2) – 3 = -1)
i � i + 1
( i = 2 + 1 = 3 )
TEST
PER ( i ≤ z )
ossia (
≤ 3 ) VERO
i = 3
x � 2 * y – x + z
( x = 2 *( -1) – 0 + 3 = 1 )
y � 2 * x – y – z
( y = 2 * 1 – ( -1) – 3 = 0 )
i � i + 1
( i = 3 + 1 = 4 )
TEST
PER ( i ≤ z )
ossia (
≤ 3 ) FALSO exit ciclo PER
Fuori ciclo PER z � z – 1 ( z = 3 – 1 = 2 )
Calcoli : 2 ° 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 * 1 – ( -3) + 2 = 7 )
y � 2 * x – y – z
( y = 2 * 7 – 1 – 2 = 11 )
i � i + 1
( i = 1 + 1 = 2 )
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it )
Pag . 14