Для циклов с фиксированным числом шагов (LOOP, FOR и аналогичных): представьте себе, что вся цель цикла - считать до n
.Зачем делать разницу, если я повторяю i
раза во внешнем цикле и j
раза во внутреннем цикле, в отличие от n = i * j
только в одном цикле?
Предположим, что нет WHILE, GOTO илианалогичные конструкции разрешены в программе (только присваивание, IF и фиксированные циклы).Затем все эти программы завершаются после конечного числа шагов.
Следующим шагом к большей выразительности является разрешение циклов, где, например, число итераций определяется условием, и неясно, является ли это условиекогда-либо удовлетворен (например, пока).Тогда может случиться, что программа не остановится.(Этот тип выразительности также известен как полнота по Тьюрингу ).
Этим двум формам программ соответствуют два вида функций, которые исторически сложились в одно и то же время и которые примитивные рекурсивные функции и μ-рекурсивные функции .
Количество вложений в этом не играет роли.