Найти в Дзене

Кумир — исполнитель Робот

Исполнитель “Робот” является одним из ключевых в среде разработки Кумир. На нём отрабатывается большое количество алгоритмов и умений в школе. Сам по себе робот представляет собой ромб. Он способен передвигаться во все стороны и закрашивать под собой клетку. То есть данный исполнитель обладает пятью командами. Четыре отвечают за его перемещение в пространстве (на поле), одна — действие. Сами по себе команды достаточно интуитивны. Рассмотрим их поближе. Поговорим по поводу “поля” данного исполнителя. На нём присутствуют стены, если робот попытается пройти сквозь них или же, другими словами, на пути у него будет стена, то он неизбежно разобьётся. Программа сообщит о столкновении и прекратит выполнение последующих операций и алгоритмов. Предположим у нас есть следующее задание. Необходимо закрасить периметр, созданной стены, с одной стороны. Как можно сделать это задание? Попробуем использовать уже известные нам команды. Благодаря обычным командам, выполнили задание, но много времени ушло

Исполнитель “Робот” является одним из ключевых в среде разработки Кумир. На нём отрабатывается большое количество алгоритмов и умений в школе. Сам по себе робот представляет собой ромб. Он способен передвигаться во все стороны и закрашивать под собой клетку.

Среда разработки Кумир с полем Робота
Среда разработки Кумир с полем Робота

То есть данный исполнитель обладает пятью командами. Четыре отвечают за его перемещение в пространстве (на поле), одна — действие. Сами по себе команды достаточно интуитивны. Рассмотрим их поближе.

  • вверхперемещает робота на одну клетку наверх.
  • внизперемещает робота на одну клетку вниз.
  • вправоперемещает робота на одну клетку вправо.
  • влевоперемещает робота на одну клетку влево.
  • закраситьперекрашивает клетку под роботом в серый цвет.

Поговорим по поводу “поля” данного исполнителя. На нём присутствуют стены, если робот попытается пройти сквозь них или же, другими словами, на пути у него будет стена, то он неизбежно разобьётся. Программа сообщит о столкновении и прекратит выполнение последующих операций и алгоритмов.

Предположим у нас есть следующее задание. Необходимо закрасить периметр, созданной стены, с одной стороны.

Как можно сделать это задание? Попробуем использовать уже известные нам команды. Благодаря обычным командам, выполнили задание, но много времени ушло на написание однотипных команд.

Алгоритм для выполнения задания
Алгоритм для выполнения задания

Мы могли бы использовать структуру цикла для более лаконичной записи команд, да и глазу будет явно приятнее смотреть на правильную организацию команд. Для запуска команд используется кнопка Play на панели инструментов или же клавиша F9.

Использование циклов
Использование циклов

Получили совершенно такой же результат, но с меньшими усилиями и наш код стал короче в два раза. Получается что циклы служат для быстрого написания программы и визуально код стал приятнее. Главное — здесь верно посчитать количество повторений команд.

Если посмотреть на структуру цикла, то у нас сначала идёт ключевая фраза “нц N раз”, где N — количество повторений. Потом уже идут сами команды, которые и будут повторяться. И в конце ключевая фраза “кц”, которая сигнализирует программе о завершении цикла. Эти непонятные на первый взгляд команды это сокращения от начало цикла и конец цикла.

Существует также цикл с условием, когда идёт проверка на какое-либо состояние вокруг. Например, можно проверить, есть ли стена справа или нет. Если её нет, то можно сделать действие. Или же, наоборот, пока есть стена слева выполнять команды.

Использование цикла с условием
Использование цикла с условием

Структуры цикла с условием можно представить в следующем виде:

  1. нц пока снизу свободно
  2. нц пока сверху свободно
  3. нц пока слева свободно
  4. нц пока справа свободно
  5. нц пока снизу стена
  6. нц пока сверху стена
  7. нц пока слева стена
  8. нц пока справа стена

Также можно использовать отрицание. Для этого необходимо поставить частицу “НЕ”. Попробуем сделать ту же программу, но уже с отрицанием.

Использование отрицания в условии
Использование отрицания в условии
Понравилась статья? Хочешь разбираться в информатике, программировании и уметь работать в разных программах? Тогда ставь лайк, подпишись на канал и поделись статьей с друзьями! Остались или появились вопросы — спроси в комментариях!

Читайте также: