Итерация
| English | Русский |
|---|---|
| loop/luːp/ | цикла |
| repeat/rɪˈpiːt/ | повторяются |
| Iteration/ˌɪtəˈreɪʃn/ | Итерация |
| until/ʌnˈtɪl/ | до тех пор, пока не (until) |
| infinite loop/ˈɪnfɪnət luːp/ | бесконечный цикл |
| iterations/ˌɪtəˈreɪʃnz/ | итерации |
Циклы повторяют действия
- Итерация повторяет блок кода с помощью цикла.
- Циклы позволяют короткой программе выполнять большой объем работы.
- Вместо того чтобы писать одну и ту же строку 100 раз, вы запускаете её в цикле 100 раз.
- Это третий базовый элемент, наряду с последовательностью и выбором.
Повторение блока кода с помощью цикла называется ______.
Итерация позволяет короткой программе выполнять много работы.
Цикл позволяет короткой программе выполнять большой объём повторяющейся работы.
Это и есть суть итерации.
Два вида циклов
- Цикл повторения выполняет блок фиксированное количество раз — "REPEAT 10 TIMES" выполнит его десять раз.
- Условный цикл продолжает работу до тех пор, пока условие не станет истинным (или пока оно остается истинным).
- Количество его повторений зависит от данных, а не от фиксированного числа.
Соотнесите каждый цикл с тем, что управляет его повторениями.
REPEAT 10 TIMES — фиксированное число; UNTIL зависит от данных.
Бесконечный цикл возникает, когда:
Что-то внутри должно двигаться toward stopping condition (к условию остановки).
Остерегайтесь бесконечного цикла
- Серьезная опасность — бесконечный цикл — цикл, который никогда не достигает условия остановки.
- Программа тогда будет работать вечно.
- Чтобы избежать этого, убедитесь, что что-то внутри цикла приближает к условию остановки.
- Обычно это означает счетчик, который изменяется при каждом проходе.
Отследите цикл, проход за проходом
Таблица трассировки фиксирует каждое значение переменной после каждого прохода. Наблюдайте, как i растёт, пока накапливается сумма, и увидите, что цикл останавливается, когда i превышает 4.
Цикл прибавляет к sum числа 1, 2, 3, 4 (начиная с 0). Какова итоговая сумма?
1 + 2 + 3 + 4 = 10.
В цикле суммирования какая строка предотвращает бесконечный цикл?
Без i = i + 1 значение i никогда не превысит 4, и цикл будет работать вечно.
Отслеживайте итерации
- Чтобы понять цикл, отслеживайте значения переменных по его итерациям, по одному проходу за раз.
Сумма от 1 до 4. Начните с sum = 0, i = 1. REPEAT UNTIL i > 4: добавьте i к sum, затем i = i + 1. Отслеживание: sum 1 (i→2), 3 (i→3), 6 (i→4), 10 (i→5). Теперь 5 > 4, поэтому он останавливается. Итоговая сумма = 10. Строка i = i + 1 предотвращает бесконечность.
Итерация повторяет блок с помощью цикла, поэтому короткая программа выполняет много работы. Цикл повторения имеет фиксированное число; условный цикл работает до тех пор, пока условие не будет выполнено. Остерегайтесь бесконечного цикла — всегда двигайтесь к остановке. Отслеживайте переменные по итерациям (сумма 1..4 = 10).