алг Документацияалгоритмический язык · C#

Подпрограммы

Алгоритм-функция

kumir
алг цел квадрат(цел x)
нач
    знач := x * x
кон

Вызов:

kumir
вывод квадрат(5)     | 25

знач — возвращаемое значение. Тип результата указывается после алг.

Алгоритм-процедура

Процедура ничего не возвращает, а выполняет действие:

kumir
алг печать_линии(цел n)
нач
    нц для i от 1 до n
        вывод "-"
    кц
    вывод
кон
kumir
печать_линии(20)

Параметры

Параметры перечисляются в скобках с типами:

kumir
алг цел сумма(цел a, цел b)
нач
    знач := a + b
кон

Если параметров нет, скобки можно опустить.

Рекурсия

Алгоритм может вызывать сам себя:

kumir
алг цел факт(цел n)
нач
    если n <= 1 то
        знач := 1
    иначе
        знач := n * факт(n - 1)
    все
кон
kumir
вывод факт(5)     | 120

У рекурсии обязательно должно быть условие остановки, иначе переполнится стек.

Где объявлять

Подпрограммы размещаются после основного алгоритма (или перед ним, в зависимости от среды). Основной алгоритм в КуМир обычно называется алг без параметров.