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

6 . Metodologia top-down e sottoprogrammi Versione 5.0 – Aprile 2023
3 ) ESEMPIO svolto ( FUNZIONE con vettore ): sia dato il seguente algoritmo
ALGORITMO Vettore1 PROCEDURA main ( ) v : ARRAY [ MAXDIM ] DI INT i , n , y : INT
INIZIO
/* Controllo della dimensione del vettore */ RIPETI
Leggi ( n ) FINCHE ’ ( n >= 1 ) AND ( n <= MAXDIM )
/* Caricamento del vettore */
PER i � 1 A n ESEGUI v [ i ] � ( 3 * i + 4 ) % 5 i � i + 1 FINE PER
/* Invocazione funzione ChangeArray1 */ y � ChangeArray1 ( n , v )
/* Visualizzazione del vettore */
PER i � 1 A n ESEGUI Scrivi ( v [ i ]) i � i + 1 FINE PER
/* Visualizzazione variabile y */ Scrivi ( y )
Vedi DOMANDA 1 )
Vedi DOMANDA 2 )
Vedi DOMANDA 3 )
RITORNA FINE
FUNZIONE ChangeArray1 ( VAL n : INT , REF v : ARRAY [ MAXDIM ] DI INT ) : INT i , y : INT INIZIO
y � 2
PER i � n INDIETRO A 2 ESEGUI y � 3 * y – 2 * v [ i-1 ] v [ i-1 ] � ( v [ i ] – 2 ) * i i � i - 1 FINE PER v [ n ] = ( y + 1 ) DIV 2
RITORNA ( y ) FINE
Ipotizzando che l ’ utente immetta per la dimensione n il valore 3 ( ossia n = 3 ) ed utilizzando apposite tabelle di traccia rispondi alle seguenti domande :
1 ) Quale sarà il valore iniziale del vettore v subito dopo il caricamento ? 2 ) Quale sarà il valore finale del vettore v subito dopo la visualizzazione ? 3 ) Quale sarà il valore della variabile y ?
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it )
Pag . 18