]]> ]]>

Факториал в 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

]]>

Работа программистам