====== Бинарный поиск в упорядоченном массиве ====== ===== Описание ===== Функция осуществляет поиск вхождения числа //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.