Si consideri la seguente funzione:
Function trova(bersaglio: Integer; valori: sequenza): Integer; Var contatore: Integer; Begin contatore:=1; While valori[contatore] <> bersaglio Do Begin contatore:=contatore+1; End; trova:=contatore-1; End;
Essa serve a determinare l’indice in cui si trova un certo valore (rappresentato dal parametro bersaglio) in un vettore (rappresentato dal parametro valori).
La funzione, però, funziona sempre solo se vale un vincolo specifico rispetto ai dati in ingresso, quale?
Soluzione: Che il valore cercato esista effettivamente nel vettore di input.
Soluzione
Tratta da: Materiale didattico 2008
Si consideri che nel caso il valore non esista nel vettore, non essendoci un controllo sulla fine del vettore, avrà luogo una condizione di errore al termine della scansione del vettore stesso.