Este algoritmo é uma simplificação do anterior, a ideia é garantir que o valor a procurar é sempre encontrado para, deste modo, não ser necessário estar sempre a testar o fim da tabela no ciclo enquanto. Para tal, é adicionado um elemento à tabela (a sentinela), e sempre que se pretende procurar um valor ele é colocado na sentinela. Temos, então,que redefinir o tipo Lista para:
= tab [MAX+1] de REAL;e o algoritmo para a lista de Reais é:
Suponha, agora, que se pretendem registar as classificações de um rally. Como à partida não se sabe quantos carros vão participar em cada prova, necessitamos de um estrutura de dados que nos permita registar um número variável de participantes. Vamos considerar a seguinte estrutura de dados:
em que CARROS é a tabela com as fichas dos carros (colocadas sequencialmente no início da tabela) e TOTAL indica quantos carros foram classificados (o números de elementos da tabela).
Para escrevermos um algoritmo que procure a ficha de um dado piloto, utilizando procura linear com sentinela, teremos que efectuar no algoritmo 4.3 as seguintes adaptações:
O algoritmo será então: