Упражнение с лестницей — одно из самых показательных и сложных для начинающих программистов. Несмотря на кажущуюся простоту, оно часто вызывает у учащихся ряд трудностей, связанных как с логикой, так и с особенностями среды. Преодоление этих трудностей — важный этап обучения. Именно на таких задачах учащиеся учатся не просто писать код, а проектировать логику, предвидеть ошибки и создавать устойчивые алгоритмы.
Просмотр содержимого документа
«Практическая работа. Исполнитель Робот в среде КуМиР.»
Практическая работа. Исполнитель Робот. Лестница.
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над или под ступенями лестницы. Требуется закрасить только клетки, удовлетворяющие данному условию.
Задание 1. На бесконечном поле имеется лестница. Сначала лестница слева направо спускается вниз, затем поднимается вверх. Высота каждой ступени –– одна клетка, ширина –– две клетки. Робот находится на первой ступеньке лестницы, в левой клетке.
Количество ступеней, ведущих вниз, и количество ступеней, ведущих вверх, неизвестно. На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).
Задание 2. На бесконечном поле имеется лестница. Сначала лестница спускается вниз (справа налево), затем поднимается вверх. Высота каждой ступени –– одна клетка, ширина –– две клетки. Робот находится под верхней ступенькой правой части лестницы, в правой клетке.
Количество ступенек, ведущих вниз, и количество ступенек, ведущих вверх, неизвестно. На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).
Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.
Задание 3. На бесконечном поле имеется лестница. Сначала лестница слева направо спускается вниз, затем поднимается вверх. Высота каждой ступени –– одна клетка, ширина –– три клетки. Робот находится на первой ступеньке лестницы, в левой клетке.
Количество ступеней, ведущих вверх, неизвестно. На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).
Задание 4. На бесконечном поле имеется лестница. Сначала лестница поднимается вверх слева направо, потом опускается вниз также слева направо. Правее спуска лестница переходит в горизонтальную стену. Высота каждой ступени –– одна клетка, ширина –– одна клетка. Робот находится в клетке, расположенной в начале подъема.
На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).
Задание 5. На бесконечном поле имеется лестница. Сначала лестница спускается вниз справа налево, затем спускается вниз слева направо. Высота каждой ступени – одна клетка, ширина – две клетки. Робот находится справа от верхней ступени лестницы. Количество ступенек, ведущих влево, и количество ступенек, ведущих вправо, неизвестно.
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над ступенями лестницы, спускающейся слева направо.