item; function
item;
function Search2 (Mas: massive1;
left, right: index; sample: item): boolean;
var l, r, middle: index1;
begin
l := left; r:= right;
while l<r do begin
middle:= (l+r) div 2;
if Mas[middle] < sample then l:= middle + 1
else r := middle
end;
if M[l] = sample then Search2:= true
else Search2:= false
end;
type
index1 = 0..N-1; {N>1}
massive1 = array [index1] of item;
procedure SelectionSort (var Mas: massive1);
var i: index1;
begin
for i := (N-1) downto 1 do
Swap(Mas[i], Mas[IndexMax(Mas,0,i)]);
end;
Несколько замечаний стоит добавить. Механизм поиска гарантирует обнаружение компоненты с заданным значением, если таковая присутствует в массиве. Если перевести переменную l в ранг параметра или сделать ее глобальной, то удастся вернуть также индекс компоненты. Однако, если таких элементов несколько, - естественно, они располагаются друг за другом, - то уже нельзя ничего сказать относительно расположения найденного внутри группы собратьев.
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа