Функции и рекурсия в КуМире: факториал
Пример уже в редакторе: нажмите F9 — обычное выполнение или F8 — по шагам. Программу можно менять и запускать снова.
Алгоритм-функция возвращает значение: тип пишут после «алг», а результат присваивают служебной величине «знач». Функцию вызывают внутри выражения: Факториал(5).
Загружаю среду КуМир… Если ничего не происходит — включите JavaScript и обновите страницу.
КуМир онлайн на SilverTests — неофициальная онлайн-версия, не продукт НИИСИ РАН. Язык, сообщения и поведение — как в «Кумир-Стандарт» 2.1.
Функции и рекурсия: факториал: разбор
Алгоритм-функция возвращает значение: тип пишут после «алг», а результат присваивают служебной величине «знач». Функцию вызывают внутри выражения: Факториал(5).
Факториал n! = n·(n−1)!, а 1! = 1. Функция вызывает сама себя с меньшим аргументом — это рекурсия. КуМир допускает до 4000 вложенных вызовов.
На что смотреть при выполнении
- F7 заходит в каждый рекурсивный вызов, Shift+F8 — выходит из него;
- в «Текущих значениях величин» видна вся цепочка вызовов со своими n.
Программа на КуМире
алг Таблица факториалов
нач
. цел k
. нц для k от 1 до 10
. . вывод k, "! = ", Факториал(k), нс
. кц
кон
алг цел Факториал(цел n)
нач
. если n <= 1
. . то знач := 1
. . иначе знач := n * Факториал(n - 1)
. все
кон
Программа уже в редакторе. Нажмите F9, чтобы выполнить её со значениями на полях, или F8 — по шагам. Код можно менять и запускать заново, а «Программа → Сохранить» скачает его файлом .kum.
КуМир онлайн: как пользоваться и частые вопросы
Примеры программ на КуМире
Другие инструменты SilverTests
Шрифт PT Mono © ParaType, распространяется по лицензии PT Free Font License. Оригинальная система КуМир —
НИИСИ РАН.