Program pesquisa_binaria;
uses crt;
var
n,i : integer;
v : array[1..30] of integer;
function PesquisaBinaria (chave : integer; vetor : array of integer; tamanho : integer): integer;
var
inicio, fim, meio : integer;
begin
inicio := 1;
fim := tamanho;
while (inicio <= fim) do
begin
meio := (inicio + fim) div 2;
if (chave = vetor[meio]) then
begin
PesquisaBinaria := meio; {retorna o valor do índice}
end
else
if (chave < vetor[meio]) then
fim := meio - 1
else
inicio := meio + 1;
end;
PesquisaBinaria := -1; {não encontrado}
end;
begin
For i := 1 to 10 do
Begin
WriteLn('Digite o valor da posicao', i);
ReadLn(v[i]);
clrscr;
end;
Writeln('Digite o numero a ser buscado');
ReadLN(n);
pesquisabinaria(n,v,10);
if (pesquisabinaria(n,v,10) = -1) then
WriteLN('Numero nao encontrado')
else
WriteLN('Numero encontrado');
end.