Individuare la posizione di un certo elemento all’interno di una sequenza data.

Posizione di un valore k all’interno di un array v
Function Posizione(V: Vettore; N: Integer; K: Real): Integer;
Var
i, Risp: Integer;
Begin
Risp:=0;
For i:=1 to N do
If(V[i] = K) Then
Risp:=i;
Posizione:=Risp;
End;
Restituisce la posizione dell’ultimo valore presente…
Posizione di un elemento (la prima…)
Function Posizione(V: Vettore; N: Integer; K: Real): Integer;
Var
i, Risp: Integer;
Begin
i:=1;
Risp:=0;
While(i <= N) And (Risp = 0) Do
Begin
If(V[i] = K) Then
Risp:=i;
i:=i+1;
End;
Posizione:=Risp;
End;
Semplifico il ciclo
Function Posizione(V: Vettore; N: Integer; K: Real): Integer;
Var
i: Integer;
Begin
i:=1;
While(i <= N) And (V[i] <> K) Do
i:=i+1;
If(i > N) Then
Posizione:=0
Else
Posizione:=i;
End;
La ricerca sequenziale effettua una scansione dell’array finché non trova il valore richiesto, se presente, o l’array finisce.
Se l’array è ordinato e l’elemento non compare la ricerca sequenziale può essere interrotta se l’elemento esaminato è maggiore di quello cercato
Function Posizione(V: Vettore; N: Integer; K: Real): Integer;
Var
i: Integer;
Begin
i:=1;
While(i <= N) And (V[i] < K) Do
i:=i+1;
If(i > N) Or (V[i] > K) Then
Posizione:=0
Else
Posizione:=i;
End;