Частина 3.
Вважаю, що для навчання дітей дуже корисною є проста і зрозуміла візуалізація, якщо це можливо. Тоді концепції стають зрозумілими, а замудрені означення спокійно ігноруються. Саме в напрямку візуалізації пропоную розглянути один з варіантів опрацювання теми «Вкладені цикли».
Привела киця чотири кошеняти. От вони на базарі, сидять в рядок, один біля одного, дивляться світ. Підходимо, питаємо дозволу. Гладимо першого, кажемо що він класний, гладимо другого, кажемо що він класний, ну і так всіх. Що це у нас? Цикл. Ну, нехай цикл. Скільки разів повторюється? Чотири ж, бо кошенят чотири! А що саме повторюємо? Погладити кошенятку і сказати що він класний. Що-що вчитель каже? Ітерації тіла циклу? Та нехай каже, воно незрозуміло, але дуже солідно, може йому так треба для зарплати. А нам головне — це щоб всіх чотирьох кошенят і погладити і похвалити.
А от вкладені цикли. Близькі родичи сферичного коня у вакуумі. Для певної кількості учнів це складна штука, але для тих, хто хоче розібратися, як на мене, є прекрасна і візуально зрозуміла штука — світлодіодна матриця.
Ось така:

Ну і дешевий котролер для неї, той самий що був вже описаний в попередніх частинах.
Тут і з координатами дуже легко можна розібратися. Бо визначив координати — пару кліків мишки — і на окремому електронному пристрої бачиш результат. В другій частині нашого циклу статей про це вже писалося.
І з циклами просто зрозуміти. Хочешь — запалюй світлодіоди по черзі, всі тридцять два, і буде тобі один запалений рядок. А як лінуєшся — то можна циклом. Ось так:
for (int x = 0; x <= 31; x++) {
matrix.drawPixel(x, 1, HIGH);
matrix.write();
}
А як всі рядки запалити по черзі? Можна вручну 256 штук запалити, а можна простіше, вкладеними циклами. А щоб гарніше було, то після запалення кожного ще й невеличку паузу робити:
for (int y = 0; y <= 7; y++) {
for (int x = 0; x <= 31; x++) {
matrix.drawPixel(x, y, HIGH);
matrix.write();
delay(30);
}
}
І тоді можна подивитися на результат. Ось:
А як можна не зліва-направо, а в зворотному напрямку? А не рядками, а стовбчиками?
Можна скачати архів, в якому проєкт-приклад зі всіма необхідними бібліотеками, і далі гратися, пробувати. Ось трохи вправ на цю тему:
Якщо хочете повторити, то успіхів! Бо недорого, нескладно і зрозуміло. А ще можна колись буде сказати якимсь дітям: «Да я ще в школі кодив контролери з матрицями в студії!». Воно, звичайно, буде незрозуміло, але дуже солідно.