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