Последовательно


Последовательно проверяем клетки, содержащие суммы, и пытаемся выполнить вычисления. Если сумму найти можно, то записываем результат в таблицу. При этом фиксируем значение признака того, что «произошло вычисление». Процесс вычислений продолжается до тех пор, пока не будут определены все значения сумм или окажется, что среди невычисленных нет ни одной, которую можно получить. ... repeat until <вычислены все суммы> or <не было вычислений>; r97_3 Очевидно, что логика рекурсивная. Если очередной раз мы ее вызвали как Rec(X,Y,Lengt,Angle,Lev:integer), то в ней должно быть два вызова Rec(NewX,NewY,Round(Lengt*0.56),Angle1,Lev+1) и Rec(NewX,NewY,Round(Lengt*0.56),Angle2,Lev+1). Следовательно, требуется по значениям X, Y, Angle вычислить NewX,NewY, Angle1 и Angle2. Определимся с углами. Ветки дерева могут продолжаться в одном из следующих направлений (пронумеруем их). В таблице показано, какие направления получаются из текущего (первый столбец) угла (Angle). Angle Angle1 Angle2 1 2 8 2 3 1 3 4 2 4 5 3 5 6 4 6 7 5 7 8 6 8 1 7 Итак,
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz