Существует два вида вспомогательных алгоритмов в языке КуМир - процедуры и функции. Алгоритм-функция возвращает значение по окончании своего выполнения, алгоритм-процедура - нет.
Если в записи алгоритма X встречается вызов алгоритма Y, то Y называется вспомогательным для X, а X - основным по отношению к Y. Один и тот же алгоритм может выступать и в роли вспомогательного и в роли основного. Вызовом вспомогательного алгоритма-процедуры или алгоритма-функции называется запись, приказывающая КуМиру выполнить алгоритм для заданных аргументов и результатов.
Вызов алгоритма-функции состоит во включении записи
имя_алгоритма-функции (список_параметров_вызова)
в какое-нибудь выражение подходящего типа. Само это выражение
может быть записано в правой части команды присваивания, в
команде вывода, и т.д.
Вызов алгоритма-функции выполняется при вычислении содержащего
этот вызов выражения.
Пример 1:
алг
нач
вывод кв(2), нс
кон
алг цел кв(цел а)
нач
знач := а*а
кон
Вызов алгоритма-процедуры является отдельной командой
алгоритмического языка и имеет вид:
имя_алгоритма-процедуры или
имя_алгоритма-процедуры ( список_параметров_вызова )
Пример 2:
алг
нач
подпр
кон
алг подпр
нач
вывод "Мы в подпрограмме", нс
кон
Пример 3:
алг
нач
подпр(2.4, 7.6)
кон
алг сум(вещ а, вещ б)
нач
вывод "Сумма = ", а+б, нс
кон