Функция осуществляет поиск вхождения числа Key в массив A в указанных границах Lb..Ub, в результате функция выдает номер элемента. В случае, если число Key не встречается в массиве A, результат функции равен -1.
Индекс массива начинается с нуля!
Function BinarySearch (A: Array of integer; Lb, Ub, Key: integer): integer; var M: integer; begin BinarySearch := -1; repeat M := (Lb + Ub) div 2; if (Key < A[M]) then Ub := M - 1 else if (Key > A[M]) then Lb := M + 1 else begin BinarySearch := M; exit; end; until Lb > Ub; end; const X: array[0..4] of integer = (2,5,6,8,9); var n: integer; begin write('Enter number to search: '); readln(n); writeln(BinarySearch (X,0,4,n)); end.