ИТЕРАЦИЯ VS. РЕКУРСИЯ: вводный анализ

В компьютерном программировании простота и ясность являются ключевыми. Таким образом, способность сводить сложные концепции и вычисления к простым управляемым алгоритмам с простыми пошаговыми решениями является одним из признаков того, что человек стал очень хорошим программистом. Именно здесь способность вызывать функции или последовательность инструкций играет главную роль.

Два основных способа вызова функций в повторяющейся форме в компьютерном программировании:

1. Итерация

2. Рекурсия

Теперь мы начнем с ИТЕРАЦИИ. Итерация описывает последовательность инструкций, которые повторяются до тех пор, пока не будет выполнено определенное условие. Другое слово для этого — «ЦИКЛ». В структуре LOOP у нас есть различные типы циклов: FOR-LOOP, WHILE-LOOP, DO-WHILE-LOOP, FOR-EACH-LOOP и REPEAT-LOOP.

В итерации процесс повторяется для получения результата, и каждое повторение представляет собой единственную итерацию, результат которой будет отправной точкой для следующей итерации. В отличие от рекурсии (которую мы еще обсудим), итерация может выполняться только тогда, когда есть представление о том, сколько раз процесс будет повторяться.

Например:

Цикл для добавления чисел от 1 до 10 (включительно) в Javascript:

вар ответ = 0;

начало var = 0;

вар финиш = 10

for(начало; начало ‹= конец; начало++) {

ответ = ответ + начало;

console.log("Ответ: " +ответ)

}

Это даст такой результат:

Ответ: 0

Ответ: 1

Ответ: 3

Ответ: 6

Ответ: 10

Ответ: 15

Ответ: 21

Ответ: 28

Ответ: 36

Ответ: 45

Ответ: 55

Вы можете видеть повторяющийся процесс, когда следующее число в последовательности обычно добавляется к значению последней итерации, пока процесс не завершится.

Рекурсия похожа на итерацию, но с некоторыми отличиями. Рекурсия зависит от способности функции вызывать себя для повторения набора программных кодов. Одним из основных различий между рекурсией и итерацией является тот факт, что рекурсия останавливает себя с помощью условного оператора (в противном случае она может работать вечно и, по сути, привести к сбою системы); в то время как значение управляющей переменной определяет завершение оператора итерации (за исключением цикла WHILE).

Пример оператора рекурсии для сложения от 1 до 10:

функция addUp(10) {

пусть массив = [];

для (пусть i = 0; i ‹= 10; i++) {

array.push(i);

}

возвратить array.reduce((a, b) =› a + b);

}

console.log(addUp(10));