]]> ]]>

Факториал в REXX

Пример для версий Regina 3.3

В примере используется рекурсивное определение факториала.

REXX позволяет установить произвольную точность вычислений. В данном случае 14 знаков необходимо для того, чтобы все факториалы выводились как целые числа. Без первой строки факториалы, начиная с 13!, выводятся как числа с плавающей точкой.

Конкатенация строк может выполняться оператором || или в неявном виде при последовательном перечислении величин и констант. Если величины разделены пробелами, эти пробелы добавляются и в итоговую строку.

Слово procedure в определении функции необязательно; оно указывает на то, что переменные подпрограммы локальны; в противном случае они будут глобальными в пределах программы.

  numeric digits 14

  do n = 0 to 16
    say n"! = "factorial(n)
  end
exit

factorial: procedure
  parse arg n .
  if n = 0 then
    n = 1
  else
    n = n * factorial(n - 1)
  return n

Комментарии

]]>

blog comments powered by Disqus

]]>

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