3° Anno TEORIA 9. Tipi di dato strutturato: vettori e record | Page 8

8 : I dati e la loro struttura nella programmazione ( ARRAY , MATRICI , RECORD ) Vers . 8.2 – Settembre 2022
Lo SHIFT è una operazione che consente di spostare di una posizione ( a destra o a sinistra ) tutti gli elementi del vettore ( SHIFT COMPLETO ) o solo una parte di essi ( SHIFT PARZIALE ).
Nello SHIFT COMPLETO a SINISTRA tutti gli elementi del vettore saranno spostati di una posizione verso sinistra ad eccezione del primo elemento che va perso ( ossia il contenuto della seconda posizione occuperà la prima , quello della terza la seconda , e così via fino a quello dell ’ ultima posizione che occuperà la penultima ) con il conseguente risultato di avere in penultima ed ultima posizione lo stesso elemento .
Graficamente
Prima dello shift completo verso sinistra
1 2 3 4 5 6 7 8 9 10
8 7 6 9 23 21 5 40 13 12 indici
Dopo dello shift completo verso sinistra
1 2 3 4 5 6 7 8 9 10
7 6 9 23 21 5 40 13 12 12
N . B . Per TUTTE le operazioni di SHIFT le tabelle dei dati individuate in precedenza restano immutate
Esempio : Scrivere algoritmo risolutivo che esegua lo shift completo verso sinistra dei suoi elementi .
ALGORITMO ShiftCompletoSinistro MAXDIM 10 PROCEDURA main ( )
v : ARRAY [ MAXDIM ] DI INT n : INT i : INT
INIZIO
/* leggi la dimensione del vettore da caricare ( vedi esercizio precedente )*/ …. /* carica gli elementi nel vettore ( vedi esercizio precedente ) */ …. /* effettua lo shift completo verso sinistra degli elementi nel vettore */ PER i � 1 A ( n – 1 ) ESEGUI v [ i ] � v [ i + 1 ] i � i + 1 FINE PER
/* visualizza gli elementi precedentemente immessi nel vettore shiftati a sx ( vedi esercizio precedente )*/ …. FINE
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 8