Si consideri la seguente funzione:
Const N = 5; Procedure calcola(); Var vett: Array[1..N] Of Integer; i : Integer; Begin For i:=1 To N Do vett[i] := i-1; For i:=1 To N Do vett[i]:=vett[((vett[i]*(i-1)) Mod N)+1]; End;
Indicare il contenuto del vettore vett al termine dell’esecuzione della funzione calcola.
Risposte:
- [0, 1, 4, 4, 1]
- [0, 1, 4, 3, 1]
- [0, 1, 4, 3, 4]
- nessuna delle precedenti.
Soluzione: a (0, 1, 4, 4, 1).
Soluzione
Al termine del primo ciclo le componenti del vettore sono pari a 0, 1, 2, 3, 4.
Se ora eseguiamo passo passo il ciclo successivo, possiamo verificare che al termine i valori memorizzati nel vettore sono effettivamente quelli della risposta a.