Вопрос, который вызвал трудности
Написать рекурсивные процедуры рисования: 1) разворачивающейся квадратной спирали (спираль рисуется изнутри наружу).
Ответ экспертов Учись.Ru
Чтобы дать полноценный ответ, был привлечён специалист, который хорошо разбирается в теме.
После обсуждения с другими специалистами сервиса мы пришли к выводу, что правильный ответ на ваш вопрос будет звучать следующим образом:
Для управления размером спирали используем выбор по условию с помощью оператора неполного ветвления.
TO SP :A :Y
PD
IF :A < 200
[FD :A RT :Y]
SP :A + 5 :Y
END
Пусть начальное значение переменной А=1 - длина первой внутренней стороны спирали. При каждом повороте вызовом рекурсивной процедуры длина стороны А увеличивается на 5. Пока длина стороны А<200, программа выполняется. Угол поворота в квадратной спирали Y=90. При небольшом увеличении угла поворота (Y=94) получается красивый рисунок спирали с подкручиванием.
2) сворачивающейся квадратной спирали (спираль рисуется снаружи внутрь);
TO SP2 :A :Y
PD
IF :A > 1
[FD :A RT :Y]
SP :A - 5 :Y
END
TO SP :A :Y
PD
IF :A < 200
[FD :A RT :Y]
SP :A + 5 :Y
END
Пусть начальное значение переменной А=1 - длина первой внутренней стороны спирали. При каждом повороте вызовом рекурсивной процедуры длина стороны А увеличивается на 5. Пока длина стороны А<200, программа выполняется. Угол поворота в квадратной спирали Y=90. При небольшом увеличении угла поворота (Y=94) получается красивый рисунок спирали с подкручиванием.
2) сворачивающейся квадратной спирали (спираль рисуется снаружи внутрь);
TO SP2 :A :Y
PD
IF :A > 1
[FD :A RT :Y]
SP :A - 5 :Y
END