Как объяснить ребёнку цикл
Цикл звучит сложно, но ребёнок пользуется им каждый день: чистит зубы движениями туда-сюда, поёт припев по кругу и раскладывает игрушки одну за другой. Осталось только связать это с кодом.
Повторяющееся дело
Начните с обычной домашней рутины. Помыть десять тарелок — это не десять разных задач, а одно действие «помой тарелку», повторённое десять раз. Полить пять грядок — то же самое действие пять раз. Вот это повторение одного и того же и есть цикл. Компьютеру не нужно писать команду десять раз подряд — достаточно сказать «повтори».
Детям такое объяснение близко, потому что повторение — их ежедневный опыт. Прыжки на скакалке, шаги по дороге в школу, ступеньки лестницы. Как только ребёнок увидит, что вокруг полно повторов, идея цикла перестанет быть абстрактной и станет очевидной.
Можно устроить маленькую игру: попросите ребёнка описать какое-нибудь дело как команду с повтором. Например, «повтори десять раз: подними игрушку и положи в ящик». Когда он сам формулирует повтор словами, он уже думает как программист, хотя ещё не написал ни строчки кода.
Припев песни
Ещё одна понятная аналогия — припев. Куплеты в песне разные, а припев повторяется несколько раз одинаково. Никто не пишет припев заново каждый раз — его просто повторяют. В программе цикл делает ровно это: говорит «повтори вот эти строчки столько-то раз».
Можно даже спеть с ребёнком любимую песню и посчитать, сколько раз прозвучал припев. Потом сказать: «А теперь представь, что вместо припева — команда для дрона. Мы повторили её три раза одной короткой записью». Так музыка превращается в наглядный пример кода без всякого экрана.
Эта аналогия помогает объяснить и ещё одну вещь: внутри повтора всегда одно и то же действие. Если припев вдруг спеть по-разному, это уже не совсем повтор. В цикле тоже: повторяется именно один и тот же блок команд, и в этом его сила — записал раз, а выполнил много.
Два вида цикла детскими словами
Есть цикл, когда мы знаем число повторов заранее: «полей ровно пять грядок». По-взрослому это называется for. Объясните ребёнку так: «мы заранее знаем, сколько раз, и просто считаем до нужного числа». Это самый частый и самый простой для понимания вид повтора.
А есть цикл, когда число заранее неизвестно: «прыгай на скакалке, пока не устанешь». По-взрослому это while. Здесь мы повторяем действие, пока выполняется какое-то условие. Ребёнку достаточно уловить разницу: в одном случае мы считаем, в другом — ждём, когда что-то изменится.
Хорошая проверка понимания — попросить ребёнка привести по одному примеру каждого вида из своей жизни. «Сделать десять приседаний» — это счёт, значит, первый вид. «Идти, пока не дойду до школы» — это условие, значит, второй. Когда он различает эти два случая, база заложена.
Осторожно, бесконечность
Стоит сразу мягко предупредить про бесконечный цикл. Если сказать «прыгай, пока не устанешь», но устать невозможно, прыгать придётся вечно. В коде так же: если условие никогда не станет ложным, программа зависнет и будет крутиться без остановки.
Это не страшно, а даже полезно — ребёнок один раз столкнётся с этим и запомнит навсегда. Наоборот, разрешите ему нарочно сделать бесконечный цикл и посмотреть, что будет. Такой безопасный эксперимент учит лучше любого предупреждения и снимает страх перед ошибками.
Хорошая привычка — просить ребёнка проговорить, когда именно цикл остановится. «Он остановится, когда я полью пятую грядку» или «когда очков станет сто». Эта привычка думать про условие выхода пригодится на любом языке. Потренироваться в командах, которые дрон повторяет по кругу, можно на бесплатном уровне игрового тренажёра.
Зачем циклы вообще нужны
Стоит объяснить ребёнку и главную выгоду цикла: он экономит силы и место. Без цикла команду «полей грядку» пришлось бы писать сто раз подряд, и любая мелкая правка означала бы переписывать всё заново. С циклом мы пишем действие один раз и говорим, сколько раз повторить.
Эта мысль — про лень в хорошем смысле — очень близка сути программирования. Хороший код не заставляет повторять одно и то же руками, он поручает повтор компьютеру. Когда ребёнок это почувствует, цикл перестанет быть школьной темой и станет удобным приёмом, который экономит его собственное время.
Частые вопросы
Что объяснять раньше — цикл или переменную? Лучше сначала переменную, потому что во многих циклах используется счётчик. Но строгого порядка нет, можно идти от интереса ребёнка и того, что ему сейчас понятнее.
Как понять, что ребёнок усвоил цикл? Попросите его самого придумать бытовой пример повторения и сказать, когда оно закончится. Если получилось объяснить своими словами — идея усвоена, можно двигаться дальше.
Начать игру бесплатно