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] <>
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz