инициализируются
инициализируются значениями своих индексов
*
R{ight}¬N {"текущая" длина вектора}
*
генерируется случайное число K из интервала 1..R
*
обмен содержимым между K-й и R-й ячейками
*
R¬R-1
*
type
index1 = 0..N-1; {N > 1}
massive1 = array [index1] of item;
function Search
(Mas: massive1; left, right: index1; sample: item): index;
var 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
*
переход к шагу 3
Приведенный механизм известен под именем алгоритма "тасования колоды". Его легко переписать, используя уже знакомые нам процедуры, приходится лишь заменить интервал 0..N-1 на 1..N.
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] <>
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа