Как в кумире сделать стены

Обновлено: 03.05.2024

Цели. Познакомиться с возможностью использования циклов с условием для Робота, использовать для решения КИМов ГИА.

ЦИКЛ "ДО ТЕХ ПОР"

кц_при условие

нц пока условие
· тело цикла (последовательность команд)
кц

Создавая циклы с условием для Робота , можно использовать 10 команд проверки условий:

– 8 команд вида [слева/справа/снизу/сверху] [стена/свободно]

– 2 команды вида клетка [закрашена/чистая]

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

Пример 1. Составьте алгоритм, закрашивающий все внутренние клетки, прилегающие к стене. Длины стен неизвестны.

Особое внимание обратите на то, что программа должна давать верный результат при любых длинах стен. Проверять работоспособность программы надо несколько раз, создавая различные варианты стартовых обстановок, например, при длине стены 1 клетка, при длине стены 8 клеток.

На рисунках представлены стартовая обстановка и результат.


Вариант решения:

использовать Робот

нц пока слева свободно

закрасить;влево

нц пока снизу свободно

закрасить;вниз

нц пока снизу стена

закрасить;вправо

Пример 2. Составить программу закрашивания клеток только между стенами. Робот находится сверху стен между ними. Длина коридора неизвестна.

На рисунках представлены стартовая обстановка и результат.


нц пока слева свободно или слева свободно

нц пока справа стена и слева стена

Задание 1. Закрасить вертикальный глухой коридор неизвестной длины, робот где-то в коридоре.

Задание 2. На бесконечном поле имеется горизонтальная стена. Робот находится внизу стены у левого ее конца. Закрасьте все клетки, расположенные ниже стены на расстоянии одной свободной клетки от нее.

Задание 3. Из банка заданий ГИА выберите наиболее трудную для Вас задачу типа № 20.1 и решите её.

Задание 4. Придумать задачу для Робота, с такой стартовой обстановкой, где Роботу надо будет проходить неизвестное количество клеток без закрашивания и неизвестное количество клеток, которые надо будет закрасить .

Цели. Познакомиться с исполнителем Робот, с его простыми командами. Решение задач на исполнителе. Создание задач на исполнителе.

Исполнитель Робот

Стартовая обстановка в окне Робота


Окно Робота представляет клетчатое поле, на котором находится Робот. Используя команды, можно управлять Роботом — перемещать его по клеткам, закрашивать клетки, проверять наличие стен, радиации. Задания для Робота чаще всего требуют написать программу для Робота, выполняя которую он будет закрашивать определенные клетки.

Настройка среды Кумир для исполнителя Робот.

Запустив программу, уберите символ |, чтобы была возможность составлять программу именно для Робота.

Стартовая обстановка Робота


Перед тем, как писать алгоритм для Робота, необходимо задать исполнителю Робот стартовую обстановку: установить Робота в нужную позицию, расставить стены, закрасить нужные клетки и т. п.

Стартовая обстановка задает положение Робота на поле и расположение всех остальных элементов — стен, закрашенных клеток.

Задание стартовой обстановки

Запустив среду Кумир в меню Инструменты выберите пункт Редактировать стартовую обстановку Робота

Окно с синим фоном − это стартовая обстановка Робота. Её можно изменить. Если надо изменить количество строк и столбцов, то щелкнув Обстановка -> Новая обстановка дает возможность задать необходимые значения.

· Чтобы п ереместить Робота в новую позицию, щелкните по нему левой кнопкой мыши и, не отпуская, перетащите Робота в нужное место.

· Чтобы добавить/удалить стену, щелкните левой кнопкой мыши по границе клетки.

· Чтобы закрасить/очистить клетку, щелкните по ней левой кнопкой мыши.

· Чтобы добавить или убрать точку в клетку, щелкните по клетке, удерживая клавишу Ctrl.

· Чтобы добавить или убрать метку или радиацию в клетку, щелкните по клетке правой кнопкой мыши и внесите изменения.

После того, как мы задали стартовую обстановку, сохраните её (Обстановка -> Сохранить или Обстановка -> Сохранить как). После этого закройте окно Обстановка и в основном окне программы выберите Робот -> Сменить стартовую обстановку, найдите только-что сохранённую Вами обстановку. После этого щелкните по кнопке Показать окно Робота.


В окне с зеленым фоном (текущая обстановка Робота) вы увидите вашу обстановку, можно переходить к написанию алгоритма-программы.

Простые команды.

вверх

Перемещает робота на одну клетку вверх. Если сверху стена, выдает отказ.

вниз

Перемещает робота на одну клетку вниз. Если снизу стена, выдает отказ.

влево

Перемещает робота на одну клетку влево. Если слева стена, выдает отказ.

вправо

Перемещает робота на одну клетку вправо. Если справа стена, выдает отказ.


Представьте себе клетчатое поле (как лист из тетради в клеточку) на котором находится некий объект, который мы назовем Робот. Используя специальные команды, мы можем этим Роботом управлять — перемещать его по клеткам, закрашивать клетки. И в большинстве случаев наша задача будет заключаться в том, чтобы написать такую программу для Робота, выполняя которую он будет закрашивать определенные клетки.

Запущенная программа Кумир выглядит так.

Среда Кумир, исполнитель Робот

Первым делом мы должны раскомментировать первую строку нашей программы, убрав символ |

Раскомментируем первую строку

Таким образом, программа станет выглядеть так:

использовать Робот

алг

нач

кон

Удалив символ |, мы тем самым указали Кумиру на то, что будем работать с исполнителем Робот. Если этого не сделать, то при написании программы мы столкнемся с ошибкой «Нет такого алгоритма». Поэтому очень важно при создании новой программы раскомментировать первую строку. Теперь все готово для дальнейшей работы.

Но перед началом, нам необходимо задать стартовую обстановку Робота и познакомиться с простыми командами исполнителя Робот.

Стартовая обстановка Робота

Перед началом выполнения программы необходимо задать исполнителю Робот стартовую обстановку . Это значит установить Робота в нужную позицию, расставить стены, закрасить нужные клетки и т. п. Этот шаг очень важен. Если его проигнорировать, то программа может работать неправильно или вообще завершится аварийно.

Что такое стартовая обстановка?

Наш Робот находится в некой среде — это клетчатое поле, размер которого известен. Так же на этом поле могут находится стены и закрашенные клетки, а сам Робот может находится в любой клетке. Так вот — стартовая обстановка задает положение Робота на поле и расположение всех остальных элементов — стен, закрашенных клеток. И перед тем, как писать алгоритм для Робота необходимо задать стартовую обстановку. Насколько это важно давайте рассмотрим на примере. Пусть есть две стартовые обстановки:

Стартовая обстановка 1

Стартовая обстановка 2

Отличаются они только тем, что в стартовой обстановке 2 справа от Робота находится стена.

Если наша программа начнется с команды, которая переместит Робота на одну клетку вправо (о простых командах Робота), то в первом случае (стартовая обстановка 1) Робот выполнит эту команду, а во втором программа завершится аварийно, так как Робот не может ходить сквозь стены. Получается, что одна и та же программа в первом случае работает, а во втором приводит к ошибке. Именно поэтому так важно задавать стартовую обстановку для Робота.

Как задать стартовую обстановку?

Запустив среду Кумир в меню Инструменты выбираем пункт Редактировать стартовую обстановку Робота

Редактировать стартовую обстановку Робота

Откроется окно с синим фоном. Это и есть стартовая обстановка Робота. И мы ее можем изменить.

По-умолчанию, размер окна 10 на 15 клеток. Если нам необходимо изменить количество строк и столбцов, то щелкаем Обстановка -> Новая обстановка и задаем необходимые значения

Задаем размер поля

  • чтобы переместить Робота в новую позицию, щелкаем по нему левой кнопкой мыши и не отпуская ее тащим Робота в нужное место.
  • чтобы добавить/удалить стену, щелкаем левой кнопкой мыши по границе клетки.
  • чтобы закрасить/очистить клетку, щелкаем по ней левой кнопкой мыши
  • чтобы добавить или убрать точку в клетку щелкаем по клетке, удерживая клавишу Ctrl

После того, как мы задали нужную стартовую обстановку, ее необходимо сохранить (Обстановка -> Сохранить или Обстановка -> Сохранить как). После этого закрываем окно Обстановка и в основном окне программы выбираем Робот -> Сменить стартовую обстановку

Сменить стартовую обстановку Робота

Находим сохраненную ранее обстановку и загружаем ее. После этого убедимся, что загрузили правильную стартовую обстановку, щелкнув по кнопке Показать окно Робота

Показать окно Робота

Если в окне с зеленым фоном (текущая обстановка Робота) вы увидите вашу обстановку, то можно переходить к написанию алгоритма, используя простые команды Робота.

Исполнитель Робот. Простые команды.

У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота. Всего их 5:

вверх

влево

вправо

закрасить

Результат выполнения этих команд понятен из их названия:

вверх — переместить Робота на одну клетку вверх

вниз — переместить Робота на одну клетку вниз

влево — переместить Робота на одну клетку влево

вправо — переместить Робота на одну клетку вправо

закрасить — закрасить текущую клетку (клетку в которой находится Робот).

Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):

вверх — Escape, Up (стрелка вверх)

вниз — Escape, Down (стрелка вниз)

влево — Escape, Left (стрелка влево)

вправо — Escape, Right (стрелка вправо)

закрасить — Escape, Space (пробел)

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

Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!

Запускаем Кумир, настраиваем его. Можно начинать писать программу? Конечно нет! Мы же не задали стартовую обстановку! Делаем это. Предлагаю использовать вот такую:

Стартовая обстановка Робота

Вот теперь все готово. Начинаем писать программу. Пока она выглядит так

Первая программа для Робота

Удаляем символ «|» и называем наш алгоритм «Квадрат»

Алгоритм квадрат

Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить. Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.

Первые шаги

Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов

выполнить программу

В результате мы должны увидеть вот такую картину

Первый результат

Если такое окно Робота у вас не появилось, то на панели инструментов щелкните «Показать окно Робота» или в меню Робот выберите пункт "Показать окно Робота". Продолжаем дальше.

Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:

Потом пойдем влево, закрашивая нижнюю границу квадрата

У нас осталась одна незакрашенная клетка. Закрасим ее

Все готово! В итоге наша программа выглядит так:

использовать Робот

алг Квадрат

нач

закрасить

вправо

закрасить

вправо

закрасить

вниз

закрасить

вниз

закрасить

влево

закрасить

влево

закрасить

вверх

закрасить

кон

А результат ее работы вот так

Результат работы программы

Итак, сегодня мы с вами написали программу, используя простые команды Робота. Рекомендую попрактиковаться самостоятельно — придумать себе задание и написать программу. Это могут быть самые различные фигуры, узоры, буквы. К примеру, попробуйте написать программу, рисующую букву П, Р, Ш, Щ, М. А если получится и захотите поделиться — комментируйте и прикрепляйте результат к комментарию.

Исполнитель Робот. Циклы.

Итак, что такое цикл? Представьте, что мы находимся на уроке физической культуры и перед нами стоит задача сделать 7 приседаний. Это задание можно оформить в виде линейного алгоритма и тогда оно будет выглядеть примерно так:

Т. е мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковых команд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это и есть цикл. Вы можете сами вспомнить примеры циклов из жизни — их довольно много.

Таким образом линейный алгоритм, где повторяются одни и те же команды мы можем оформить в виде циклического алгоритма — примерно так:

Вот так, на придуманном нами языке мы оформили цикл. У исполнителя Робот тоже есть возможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы только что рассмотрели называется цикл со счетчиком или цикл с параметром.

Виды циклов.

Цикл со счетчиком.

Цикл со счетчиком применяется когда заранее известно сколько повторений необходимо сделать. В примере выше с приседаниями именно такой случай.

Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:

Здесь мы должны указать количество повторений (число) и команды, которые будут повторяться. Команды, которые повторяются в цикле называют телом цикла .

Давайте рассмотрим это на примере.

Закрасим 7 клеток, как на рисунке. Рекомендую почитать про стартовую обстановку Робота и про его простые команды.

Задание на цикл со счетчиком

Изначально Робот находился в левой верхней клетке.

Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку и перемещаться на 1 клетку вправо и программа будет выглядеть так:
использовать Робот
алг
нач

Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно — сначала Esc, отпустить ее и только потом Р или H.

Так вот, наша программа с циклом будет выглядеть так:

использовать Робот

Если мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток. Однако программа стала короче и значительно грамотней с алгоритмической точки зрения!

В качестве разминки и закрепления предлагаю самостоятельно написать программу для Робота, которая нарисует квадрат со стороной 7 клеток. Естественно, используя цикл. Жду решения в комментариях.

Цикл с условием.

Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, а другой способен сделать 27. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:

пока не устал

Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий

сверху свободно

снизу свободно

слева свободно

справа свободно

сверху стена

снизу стена

слева стена

справа стена

Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.

Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:

«Пока справа свободно делай шаг вправо и закрашивай клетку»

В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.

Исходный код нашей программы для Робота будет примерно такой:

использовать Робот

нц пока справа свободно

В результате выполнения этой программы мы увидим вот такую картину:

Задание для Робота цикл с условием

Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимо выполнить команду закрасить.

Решение задачи с циклом

Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля Робота независимо от его размера. Конечно же с использованием циклов с условием. В итоге должно получиться так:

Задаем размер поля

Перед началом выполнения программы необходимо задать исполнителю Робот стартовую обстановку. Это значит установить Робота в нужную позицию, расставить стены, закрасить нужные клетки и т. п. Этот шаг очень важен. Если его проигнорировать, то программа может работать неправильно или вообще завершится аварийно.

Что такое стартовая обстановка

Наш Робот находится в некой среде — это клетчатое поле, размер которого известен. Так же на этом поле могут находится стены и закрашенные клетки, а сам Робот может находится в любой клетке. Так вот — стартовая обстановка задает положение Робота на поле и расположение всех остальных элементов — стен, закрашенных клеток. И перед тем, как писать алгоритм для Робота необходимо задать стартовую обстановку. Насколько это важно давайте рассмотрим на примере. Пусть есть две стартовые обстановки:

Стартовая обстановка 1

Стартовая обстановка 2

Отличаются они только тем, что в стартовой обстановке 2 справа от Робота находится стена.

Если наша программа начнется с команды, которая переместит Робота на одну клетку вправо (о простых командах Робота), то в первом случае (стартовая обстановка 1) Робот выполнит эту команду, а во втором программа завершится аварийно, так как Робот не может ходить сквозь стены. Получается, что одна и та же программа в первом случае работает, а во втором приводит к ошибке. Именно поэтому так важно задавать стартовую обстановку для Робота.

Можно привести такой пример. Предположим есть повар, которым мы можем управлять, давая ему команды. И этот повар может зажечь плиту. Но только в случае, если он находится рядом с ней. А вот если он находится в другом конце кухни, то дав ему команду зажечь плиту, он не сможет ее выполнить. Поэтому перед тем как дать команду, необходимо задать повару стартовую обстановку — расположить его рядом с плитой.

Надеюсь вы поняли что такое стартовая обстановка и почему она так важна. А теперь запустим среду Кумир и попробуем сами задать Роботу стартовую обстановку.

Как задать стартовую обстановку

Запустив среду Кумир в меню Инструменты выбираем пункт Редактировать стартовую обстановку Робота

Редактировать стартовую обстановку Робота

Редактировать стартовую обстановку Робота

Откроется окно с синим фоном. Это и есть стартовая обстановка Робота. И мы ее можем изменить.

По-умолчанию, размер окна 10 на 15 клеток. Если нам необходимо изменить количество строк и столбцов, то щелкаем Обстановка -> Новая обстановка и задаем необходимые значения

Задаем размер поля

Задаем размер поля

  • чтобы переместить Робота в новую позицию, щелкаем по нему левой кнопкой мыши и не отпуская ее тащим Робота в нужное место.
  • чтобы добавить/удалить стену, щелкаем левой кнопкой мыши по границе клетки.
  • чтобы закрасить/очистить клетку, щелкаем по ней левой кнопкой мыши
  • чтобы добавить или убрать точку в клетку щелкаем по клетке, удерживая клавишу Ctrl

После того, как мы задали нужную стартовую обстановку, ее необходимо сохранить (Обстановка -> Сохранить или Обстановка -> Сохранить как). После этого закрываем окно Обстановка и в основном окне программы выбираем Робот -> Сменить стартовую обстановку

Сменить стартовую обстановку Робота

Сменить стартовую обстановку Робота

Находим сохраненную ранее обстановку и загружаем ее. После этого убедимся, что загрузили правильную стартовую обстановку, щелкнув по кнопке Показать окно Робота

Показать окно Робота

Показать окно Робота

Если в окне с зеленым фоном (текущая обстановка Робота) вы увидите вашу обстановку, то можно переходить к написанию алгоритма, используя простые команды Робота.

В этом разделе собраны уроки, в которых объясняется как работать с исполнителем Робот.

Что такое исполнитель Робот вы узнаете здесь

Первые шаги

Исполнитель Робот. Простые команды

На предыдущих уроках мы установили среду Кумир, настроили ее для дальнейшей работы и научились задавать стартовую обстановку Робота. Теперь перейдем непосредственно к составлению алгоритмов для Робота с использованием простых команд.

Буква Н результат

Обвести букву Н, используя Робот

Поступила просьба рассмотреть подобную задачу. Итак, приступим.

Решение задачи с циклом

Исполнитель Робот. Циклы.

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

Задаем размер поля

Стартовая обстановка Робота

Перед началом выполнения программы необходимо задать исполнителю Робот стартовую обстановку. Это значит установить Робота в нужную позицию, расставить стены, закрасить нужные клетки и т. п. Этот шаг очень важен. Если его проигнорировать, то программа может работать неправильно или вообще завершится аварийно.

Среда Кумир, исполнитель Робот

Настройка среды Кумир для исполнителя Робот

На прошлом уроке мы познакомились с исполнителем Робот, узнали как его установить и запустить. Сегодня будем настраивать программу для дальнейшей работы.

Карта сайта
© 2011-2021 Все права защищены.
Использование материалов сайта только с письменного разрешения автора

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