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

6 . Metodologia top-down e sottoprogrammi Versione 5.0 – Aprile 2023
PROCEDURA main ( )
n
v [ 1 ]
v [ 2 ]
v [ 3 ] i
3
2
-
-
1
3
2
0
-
2
3
2
0
3
3
3
2
0
3
4
Dopo il caricamento di v ( Risposta 1 )
y v [ 1 ] v [ 2 ] v [ 3 ] 14 2 3 7
3 [ 2 , 0 , 3 ] y � ChangeArray1 ( n , v )
14 RITORNA ( y )
FUNZIONE ChangeArray1 (…)
VAL
REF
n
v [ 1 ] v [ 2 ]
v [ 3 ] i
y
3
2
0
3
-
2
3
2
3
3
3
6
3
2
3
3
2
14
3
2
3
7
1
14
Dopo la visualizzazione di v e la chiamata alla funzione ChangeArray1 ( Risposte 2 e 3 )
Calcoli : Caricamento vettore ( nella procedura main ( ))
i � 1 ( i = 1 ) prima che inizi ciclo PER TEST PER ( i ≤ 3 ) ossia ( 1 ≤ 3 ) VERO
i = 1 v [ i ] � ( 3 * i + 4 ) % 5 i � i + 1
( v [ 1 ] = ( 3 * 1 + 4 ) % 5 = 7 % 5 = 2 ) ( i = 1 + 1 = 2 )
TEST P i = 2
R ( i ≤ 3 ) ossia ( 2 ≤ 3 ) VERO
v [ i ] � ( 3 * i + 4 ) % 5 i � i + 1
( v [ 1 ] = ( 3 * 2 + 4 ) % 5 = 10 % 5 = 0 ) ( i = 2 + 1 = 3 )
TEST
PER ( i ≤ 3 ) ossia ( 3 ≤ 3 )
VERO
i = 3
v [ i ] � ( 3 * i + 4 ) % 5 i � i + 1
( v [ 1 ] = ( 3 * 3 + 4 ) % 5 = 13 % 5 = 3 ) ( i = 1 + 1 = 4 )
TEST PER ( i ≤ 3 ) ossia ( 4 ≤ 3 ) FALSO exit ciclo PER di caricamento vettore
Calcoli : Modifica vettore ( nella funzione ChangeArray1 ( )) i � 3 ( i = 3 ) prima che inizi ciclo PER TEST PER ( i ≥ 2 ) ossia ( 3 ≥ 2 ) VERO
i = 3 y � 3 * y – 2 * v [ i-1 ] v [ i-1 ] � ( v [ i ] – 2 ) * i i � i – 1
( y = 3 * 2 – 2 * v [ 3-1 ] = 6 – 2 * v [ 2 ] = 6 – 2 * 0 = 6 ) ( v [ 3-1 ] = ( v [ 3 ] – 2 ) * 3 ossia v [ 2 ] = ( 3 – 2 ) * 3 = 3 ( i = 3 - 1 = 2 )
TEST PER ( i ≥ 2 ) ossia ( 2 ≥ 2 ) VERO i = 2 y � 3 * y – 2 * v [ i-1 ] v [ i-1 ] � ( v [ i ] – 2 ) * i i � i - 1
( y = 3 * 6 – 2 * v [ 2-1 ] = 18 – 2 * v [ 1 ] = 18 – 2 * 2 = 14 ) ( v [ 2-1 ] = ( v [ 2 ] – 2 ) * 2 ossia v [ 2 ] = ( 3 – 2 ) * 2 = 2 ( i = 2 - 1 = 1 )
TEST PER ( i ≥ 2 ) ossia ( 1 ≥ 2 ) FALSO exit ciclo PER all ’ interno della funzione v [ n ] = ( y + 1 ) DIV 2 ( v [ 3 ] = ( 14 + 1 ) DIV 2 = 15 DIV 2 = 7 FUORI ciclo PER
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it )
Pag . 19