program massiv;
uses crt;
const
n = 10;
var
a: array [1 .. n] of integer;
Q: integer; { образец поиска }
verh: integer; { верхняя граница }
niz: integer; { нижняя граница }
sred: integer; { средний элемент }
found: boolean; { TRUE ? есть ли в массиве число }
i: integer;
begin
writeln('введите число dla poiska Q');
readln(Q);
{ Zapolnaem massiv }
for i := 1 to n do
begin
write('Vvedite ', i, ' element massiva');
readln(a[i]);
end;
{ Chitaem }
begin
niz := 1;
verh := n;
repeat
sred := ((niz + verh) div 2) + 1;
if a[sred] = Q then
found := TRUE
else if Q < a[sred] then
niz := sred - 1
else
verh := sred + 1;
until (verh < niz) or found = TRUE;
if found then
writeln('совпадает с элементом под номером', sred)
else
writeln('такого элемента в массиве нет');
readln;
end;
end.