# 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&lt;r do begin middle:= (l+r) div 2; if Mas[middle] &lt; 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&gt;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 в ранг параметра или сделать ее глобальной, то удастся вернуть также индекс компоненты. Однако, если таких элементов несколько, - естественно, они располагаются друг за другом, - то уже нельзя ничего сказать относительно расположения найденного внутри группы собратьев.

Индекс
Элементарные функции Линейные уравнения Нелинейные уравнения Случайные числа