Вложенность
Это понятие впервые встречается на программе «Электроника, программирование и инженерная практика» — примерно 13-14 лет (7-8 класс).
Одна конструкция внутри другой: цикл в цикле, проверка внутри проверки. Сначала целиком выполняется всё внутреннее — потом продолжается внешнее.
Матрёшка: внутри большой — средняя, внутри средней — маленькая; чтобы закрыть большую, сперва закрывают все внутренние.
Собрать в Scratch рисование лесенки: цикл «повторить 3», внутри него «повторить 4» со штрихом; посчитать заранее, сколько штрихов получится.
Помещение конструкции в тело другой. Во вложенном цикле на каждый проход внешнего внутренний выполняется от начала до конца: «повторить 3» снаружи и «повторить 4» внутри дают 3 × 4 = 12 повторов. Уровень вложенности видно по отступам или рамкам блоков; чем глубже, тем труднее читать код.
Найти ошибку в проекте Scratch, где блок «если касается края — повернуть» стоит после цикла движения, а не внутри него; исправить и сравнить поведение.
Иерархия конструкций: границы вложенных блоков в C++ задают фигурные скобки, в Python — отступы, там они часть синтаксиса. Вложенные циклы перемножают повторы: два цикла по n элементов — порядка n² операций, для n = 1000 это миллион. Вложенность глубже трёх-четырёх уровней тяжело читать: её сокращают ранними выходами (break, return) и вынесением внутренних блоков в функции.
Переписать функцию с тремя вложенными if в вариант с ранними return, не меняя поведения; для двойного цикла по сетке 100 × 100 оценить число проверок.
Частое заблуждение
«Внешний и внутренний циклы шагают по очереди: шаг одного — шаг другого». Нет: на каждый шаг внешнего цикла внутренний прокручивается целиком, от первого повтора до последнего.