{ File: riceesau.pas } { Scopo: ricerca esaustiva di un elemento in un vettore } { E` richiesta la definizione preliminare di: const NumElementi = ...; type TipoElemento = ...; TipoIndice = 1..NumElementi; TipoVettore = array [TipoIndice] of TipoElemento; } procedure RicercaEsaustiva (A : TipoVettore; n : TipoIndice; elem : TipoElemento; var trovato : boolean; var posiz : TipoIndice); { Esegue la ricerca esaustiva di elem tra i primi n elementi di A. Alla fine dell'esecuzione della procedura la variabile booleana trovato e` TRUE se l'elemento e` presente in A, FALSE altrimenti. Se l'elemento e` presente, posiz contiene l'indice della componente pari all'elemento cercato. } var i : integer; begin { RicercaEsaustiva } i := 0; repeat i := i + 1 until (A[i] = elem) or (i = n); if (A[i] = elem) then begin trovato := TRUE; posiz := i end else trovato := FALSE end; { RicercaEsaustiva }