L, R – правая и левая границы рабочей части массива.
Найден – логическая переменная, в которой будем отмечать факт успешного завершения поиска.
L: = 1, R: =n, Найден: = нет
DO (L≤R)
m: =
IF (am=X) Найден: =да OD FI
IF (am < X) L: = m+1
ELSE R: = m-1
FI
OD
Отметим недостаток этой версии алгоритма. На каждой итерации совершается два сравнения, но можно обойтись одним сравнением. Если в массиве несколько элементов с одинаковым ключом, то эта версия находит один из них. Чтобы найти все элементы с одинаковыми ключами, необходимо просмотреть массив влево и вправо от найденного элемента.