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

AND primo ≤ ultimo
8 : I dati e la loro struttura nella programmazione ( ARRAY , MATRICI , RECORD ) Vers . 8.2 – Settembre 2022
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 7 = v [ 6 ] ? in quanto 7 = 8 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 7 < v [ 6 ] ? in quanto 7 < 8 E ’ VERO
MA LA NOSTRA RICERCA DOVRA ’ COMUNQUE ESSERE INTERROTTA IN QUANTO AVREMMO gli indici : primo che resta inalterato ( ossia = 6 ) ed ultimo � centro - 1 ( ossia = 6 – 1 = 5 )
ossia avremmo ottenuto il seguente assurdo primo > ultimo
LA RICERCA VIENE ARRESTATA PERCHE ’ NON E ’ PIU ’ POSSIBILE AVERE UNA “ PORZIONE ” DI VETTORE A DISPOSIZIONE
Quindi anche l ’ algoritmo di ricerca binaria o dicotomica dovrà basarsi su una ISTRUZIONE ITERATIVA NON ENUMERATIVA ( perché non so a priori se troverò o meno l ’ elemento all ’ interno del vettore ) governato dal seguente enunciato composto :
trovato = FALSO

AND primo ≤ ultimo

Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 30