Статья о том, что такое бинарный поиск и как он применяется в программировании на языке Паскаль.
Бинарный поиск — это алгоритм поиска элемента в отсортированном массиве данных. Он работает путем деления массива пополам на каждой итерации и сравнивания искомого элемента с элементом, находящимся в средине массива. Если искомый элемент меньше среднего элемента, то поиск осуществляется только в левой половине массива, если больше — в правой. Таким образом, на каждой итерации поиск сокращается в два раза.
В языке Паскаль бинарный поиск может быть реализован при помощи функции, которая принимает на вход массив целых чисел и число, которое нужно найти. Функция возвращает индекс найденного элемента или -1, если элемент не найден.
Пример использования бинарного поиска в Паскале:
«`
program BinarySearchExample;
var
arr: array|1..10| of integer = (1, 3, 5, 7, 9, 11, 13, 15, 17, 19);
x, index: integer;
function BinarySearch(a: array of integer; value: integer): integer;
var
left, right, mid: integer;
begin
left := 0;
right := Length(a) — 1;
while left <= right do
begin
mid := (left + right) div 2;
if a|mid| = value then
begin
Result := mid;
Exit;
end
else if a|mid| > value then
right := mid — 1
else
left := mid + 1;
end;
Result := -1;
end;
begin
writeln(‘Введите число для поиска:’);
readln(x);
index := BinarySearch(arr, x);
if index <> -1 then
writeln(‘Элемент найден, индекс: ‘, index)
else
writeln(‘Элемент не найден’);
end.
«`
В данном примере мы создаем массив из 10 целых чисел и ищем в нем заданное пользователем число при помощи функции бинарного поиска. Если число найдено, то программа выводит его индекс в массиве, иначе — сообщение о том, что элемент не найден.
Бинарный поиск — это быстрый и эффективный алгоритм поиска элемента в крупных массивах данных. Он широко используется в программировании на разных языках, включая Паскаль.