# inspired by Pascal

inspired by Pascal code by N.Wirth (A+DS=P) and % Metafont code by Kees van der Laan /S{0 R rlineto currentpoint stroke moveto}def /T{90 rotate}def /TM{T 1 -1 scale}def /H {TM dup 0 gt {1 sub H S TM H S H T S -1 1 scale H 180 rotate 1 add} if TM}def /R 8 def 100 100 moveto 4 H pop % Order of the curve showpage Нас интересует сейчас, конечно, рекурсивная процедура H. Распишем ее с подробным комментарием /H{ % n -&gt; n % так описывают содержимое стека до и после вызова процедуры % в стеке лежит и сохраняется порядок TM % это преобразование пространства dup % копирование порядка 0 gt % условие выполнения действия {1 sub H S TM H S H T S -1 1 scale H 180 rotate 1 add} % Само действие см. ниже if TM % повторное преобразование }def Поначалу важно заметить, что основную часть процедуры составляет некое действие, выполняемое только при положительном “порядке” - параметре, лежащем в стеке. Это действие начинается и заканчивается изменением этого

Индекс
Элементарные функции Линейные уравнения Нелинейные уравнения Случайные числа