i: index; found:
i: index; found: boolean;
begin
i := left;
for i := left to right do
if Mas[i] = sample then begin
Search := i;
Break
end;
end;
if R = 1 then Exit
Текст трудно назвать удачным, так как отсутствие искомого образца среди элементов массива оставляет результат неопределенным. Конечно, исправить ситуацию несложно: можно использовать глобальную булевскую переменную, либо процедуру с двумя выходными параметрами. Но мы сознательно допустили указанную неточность, - чтобы получить повод для демонстрации типичного приема, который часто используется при обработке векторов. Речь идет о добавлении в массив "фиктивного" элемента, когда вместо вектора длиной N используется вектор длиной N+1. С этим приемом мы еще встретимся.
Алгоритм E2-2 (2)
type
index = 0..N; {N > 1}
massive1 = array [index] of item;
function Search (Mas: massive1;
left, right: index; sample: item): index;
var i: index;
begin
i := left;
while (i<right) and (Mas[i] <>
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа