AND primo ≤ ultimo
8: I dati e la loro struttura nella programmazione( ARRAY, MATRICI, RECORD) Vers. 10.0 – Maggio 2025
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. 31