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

8 : I dati e la loro struttura nella programmazione ( ARRAY , MATRICI , RECORD ) Vers . 8.2 – Settembre 2022
2 ° Passo
L ’ effetto di quanto illustrato in precedenza ridurrà la " porzione " del vettore sul quale continuare la ricerca . Infatti ora la " porzione " del vettore corrente su cui effettuare la ricerca , corrisponderà a quella con i valori dell ’ indice compresi tra :
primo � centro + 1 ( ossia 5 + 1 = 6 ) ed ultimo che resta inalterato ( ossia = 9 ) mentre da ciò deriva che il NUOVO elemento situato ora in posizione centrale avrà indice pari a : centro � ( primo + ultimo ) DIV 2 ossia centro � ( 6 + 9 ) DIV 2 ossia centro � 7
8 elemento effettuo il confronto
1
2
3
4
5
6
7
8
9
-7
-4
2
5
6
8
12
16
23
1
6 primo
7 9 centro ultimo
Anche in questa nuova " porzione " del vettore sarà possibile il verificarsi di uno soltanto tra i seguenti tre casi : 1 . l ’ elemento da ricercare è proprio uguale all ’ elemento centrale fissato . Allora l ’ elemento ricercato appartiene alla nuova " porzione " del vettore e si trova in posizione centrale . La RICERCA in questo caso DEVE ESSERE ARRESTATA Nel nostro caso NO domanda : elemento = v [ centro ] ? ossia 8 = v [ 7 ] ? in quanto 8 = 12 E ’ FALSO
2 . l ’ elemento da ricercare è più piccolo dell ’ elemento centrale fissato . Si scartano tutti gli elementi della metà destra della nuova " porzione " del vettore e l ’ ultimo elemento utile alla ricerca diventa quello immediatamente precedente all ’ elemento centrale ( ossia ultimo� centro – 1 ) Nel nostro caso SI domanda : elemento < v [ centro ] ? ossia 8 < v [ 7 ] ? in quanto 8 < 12 E ’ VERO La RICERCA in questo caso DEVE CONTINUARE su una nuova porzione del " vettore " da specificare .
3 . l ’ elemento da ricercare è più grande dell ’ elemento centrale fissato . Si scartano tutti gli elementi della metà sinistra della nuova " porzione " del vettore ed il primo elemento utile alla ricerca diventa quello immediatamente successivo all ’ elemento centrale ( ossia primo� centro + 1 ) Nel nostro caso NO domanda : elemento > v [ centro ] ? ossia 8 > v [ 7 ] ? in quanto 8 > 12 E ’ FALSO
3 ° Passo
L ’ effetto di quanto illustrato in precedenza ridurrà ulteriormente la " porzione " del vettore sul quale continuare la ricerca . Infatti ora avremo gli indici :
primo che resta inalterato ( ossia = 6 ) ed ultimo � centro - 1 ( ossia = 7 – 1 = 6 ) mentre da ciò deriva che il NUOVO elemento situato ora in posizione centrale avrà indice pari a : centro � ( primo + ultimo ) DIV 2 ossia centro � ( 6 + 6 ) DIV 2 ossia centro � 6
8 elemento effettuo il confronto
1
2
3
4
5
6
7
8
9
-7
-4
2
5
6
8
12
16
23
6 primo
6 ultimo
6 9 centro
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 27