Факториал в Forth
Пример для версий
gforth 0.7.0
Используется рекурсивное определение факториала. Forth — стек-ориентированный язык, поэтому все команды в нем основаны на работе со стеком. Так, DUP
копирует верхний элемент стека, константа — добавляет число на верх стека, >
— сравнивает второй сверху элемент с самым верхним, -
— вычитает из второго сверху самый верхний и т.д.
: fac recursive
dup 1 > IF
dup 1 - fac *
else
drop 1
endif ;
: lp
swap 1 + swap
do
i . i ." ! = " i fac . cr
loop ;
16 0 lp
Комментарии
]]>blog comments powered by Disqus
]]>