Скачать программу robot по информатике. Скачать: Учебная среда «Исполнители»

| Планирование уроков и материалы к урокам | 7 классы | Планирование уроков на учебный год | Исполнитель Робот

Урок 30
Исполнитель Робот
Управление Роботом
Работа в среде «Алгоритмика»





Знакомимся с Роботом

Исполнитель Робот действует на прямоугольном клетчатом поле. Между некоторыми клетками поля могут быть расположены стены. Некоторые клетки могут быть закрашены (рис. 3.11).

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

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

Важно помнить, что Робот может исполнять только правильно записанные команды. Например, если вместо команды вниз написать внис, то Робот эту запись не поймет и сразу же сообщит об ошибке.

♦ Вспомните, как называются ошибки в записи команд. Каких еще ошибок следует избегать при разработке алгоритмов?

Пример алгоритма управления Роботом

Напишем программу, исполняя которую Робот нарисует на клетчатом поле меандр из пяти витков (рис. 3.12).

Программа может иметь вид:

ПОВТОРИТЬ 5 РАЗ вправо закрась; влево закрась; влево закрась; вверх закрась; вверх закрась; вправо; закрась вправо; вправо; вправо вниз; вниз КОНЕЦ

Здесь мы использовали конструкцию повторения, так как совершенно одинаковые фрагменты повторяются на рисунке 5 раз. При записи тела цикла мы в одной строке через точку с запятой записывали несколько команд.

Если оформить процедуру виток, то основная программа окажется совсем короткой.

♦ Предложите свой вариант программы для рисования меандра.

Программа Кумир

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


Кто такой исполнитель Робот?

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

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

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

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

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

Нажмите на Редактировать обстановку



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

  • вверх
  • вниз
  • влево
  • вправо
  • закрасить

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

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

Пример алгоритма

  • Сначала необходимо написать фразу:
  • использовать Робот

Если известно сколько клеток нужно закрасить, то алгоритм решения будет следующим!


Задание №1

  • Напишите программу для решения следующей задачи, если известно сколько клеток нужно закрасить

Циклы

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

нц раз

кц

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



Задание №2

  • Напишите программу для решения следующей задачи, используя цикл со счетчиком

  • 2. Цикл с условием- пока условие истинно-цикл выполняется, если ложно-то не выполняется
  • У исполнителя Робот есть несколько условий

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

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

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

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

сверху стена

снизу стена

слева стена

справа стена

  • Можно использовать частицы: НЕ, И, ИЛИ

Структура цикла с условием

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

вправо

закрасить

кц



Задание №3

  • Напишите программу для решения следующей задачи, используя цикл с условием:

Задание №4

  • Напишите программу для решения следующей задачи, используя циклы с условием:



Решение задач:

  • 2. Робота надо перевести из стартового положения в конечное, закрашивая стенки


Задание №5

  • На бесконечном поле имеется горизонтальная стена. Длина стены неизвестна. Робот находится сверху от стены в левом ее конце. На рисунке приведено расположение робота относительно стены (робот обозначен буквой «Р»):

Ответ на задание №5

  • нц пока не (снизу свободно)

закрасить

Начало цикла (нц) и условие (пока не(снизу свободно)) - пишутся на одной строчке.



Конструкция если

  • сверху свободно снизу свободно слева свободно справа свободно
  • Эти команды можно использовать вместе с условием «если» , имеющим следующий вид:
  • если условие то
  • последовательность команд
  • Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:
  • если справа свободно то
  • вправо
  • закрасить

Задание №7

Длины стен неизвестны.


Ответ на задание №7

пока не свер­ху сво­бод­но

за­кра­сить

впра­во

пока свер­ху сво­бод­но

впра­во

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

за­кра­сить

впра­во

пока не спра­ва сво­бод­но

за­кра­сить

вниз

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

вниз

пока не спра­ва сво­бод­но

за­кра­сить

вниз


Задание №8

Длины стен неизвестны.

В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны.


Ответ на задание №8

пока свер­ху сво­бод­но

пока не свер­ху сво­бод­но

за­кра­сить

пока свер­ху сво­бод­но

пока не свер­ху сво­бод­но

за­кра­сить

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

за­кра­сить

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

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

за­кра­сить


Задание №9

Длины стен неизвестны.

В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны.


Ответ на задание №9

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

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

за­кра­сить

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

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

за­кра­сить

пока не свер­ху сво­бод­но

за­кра­сить

пока свер­ху сво­бод­но

пока не свер­ху сво­бод­но

за­кра­сить


Задание №10

Длины стен неизвестны.

В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны.


Ответ на задание №10

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

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

за­кра­сить

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

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

за­кра­сить

пока не спра­ва сво­бод­но

за­кра­сить

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

пока не спра­ва сво­бод­но

за­кра­сить


Задание №11

Длины стен неизвестны.

В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны.


Ответ на задание №11

пока не свер­ху сво­бод­но

пока не свер­ху сво­бод­но

за­кра­сить

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

пока не свер­ху сво­бод­но

за­кра­сить


Задание №12

На бес­ко­неч­ном поле име­ет­ся лест­ни­ца. Сна­ча­ла лест­ни­ца спус­ка­ет­ся вниз спра­ва на­ле­во, затем спус­ка­ет­ся вниз слева на­пра­во. Вы­со­та каж­дой сту­пе­ни - одна клет­ка, ши­ри­на - две клет­ки. Робот на­хо­дит­ся спра­ва от верх­ней сту­пе­ни лест­ни­цы. Ко­ли­че­ство сту­пе­нек, ве­ду­щих влево, и ко­ли­че­ство сту­пе­нек, ве­ду­щих впра­во, не­из­вест­но. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния лест­ни­цы и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).


Ответ на задание №12

Дви­га­ем­ся вниз под лест­ни­цей спра­ва на­ле­во, пока не дой­дем до стыка лест­ниц:

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

вниз

влево

влево

Дви­га­ем­ся вниз до конца спус­ка­ю­щей­ся лест­ни­цы, за­кра­ши­вая нуж­ные клет­ки на пути:

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

за­кра­сить

впра­во

за­кра­сить

впра­во

вниз



Ответ на задание №13

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

за­кра­сить

влево

вверх

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

за­кра­сить

вверх


Задание №14

На бес­ко­неч­ном поле име­ет­ся пря­мо­уголь­ник, огра­ни­чен­ный сте­на­ми. Длины сто­рон пря­мо­уголь­ни­ка не­из­вест­ны. Робот на­хо­дит­ся внут­ри пря­мо­уголь­ни­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).


Ответ на задание №14

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

впра­во

пока свер­ху сво­бод­но

вверх

за­кра­сить

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

влево

за­кра­сить



Ответ на задание №15

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

за­кра­сить

впра­во

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

за­кра­сить

вниз

за­кра­сить

пока не (снизу сво­бод­но)

влево

вниз

пока не (спра­ва сво­бод­но)

за­кра­сить

вниз

за­кра­сить

впра­во

пока не (свер­ху сво­бод­но)

за­кра­сить

впра­во



Ответ на задание №16

пока не спра­ва сво­бод­но

за­кра­сить

вниз

за­кра­сить

впра­во

пока не свер­ху сво­бод­но

за­кра­сить

впра­во

пока свер­ху сво­бод­но

вверх

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

за­кра­сить

впра­во

пока не спра­ва сво­бод­но

за­кра­сить

вниз



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

Среда программирования КуМир

Часто на уроках и в задании 20.1 требуется исполнителем «Робот» спускаться или подниматься по лестнице. Надо понимать, что спуск или подъем по лестнице осуществляется одним циклом. Как правило, чтобы проверить работоспособность алгоритма необходимо добавлять ступени на лестнице. Алгоритм должен выполнятся независимо от количества ступеней, например, как для двух ступеней, так и для двадцати.

ЗАДАЧА

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

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

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

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

РЕШЕНИЕ

Данную задачу будем решать в среде программирования КуМир. Откроем программу и перейдем в меню Робот — > Редактировать обстановку

Строим лестницу. тЛевой кнопкой мыши щелкаем по стенкам клетки. Ромб (робот) перемещаем в нужное место, зажав левую кнопку мыши

Выходим из режима редактирования меню Робот — > Редактировать обстановку. Далее напишем на первой строчке команду «использовать Робот».

Сначала вспомним некоторые команды для исполнителя Робот.

В задании сказано, что

Алгоритм должен решать задачу для произвольного размера поля и любого количества ступеней

Это означает, что Робот должен передвигаться с помощью цикла «Пока». Рассуждаем так: снизу под роботом стена, значит снизу не свободно. На 4 строчке редактора пишем команду

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

Внутри цикла необходимо последовательно выполнить команды:

Вправо вниз закрасить вправо закрасить влево вниз закрасить вправо закрасить

Полностью готовая программа выглядит так:

Использовать Робот алг нач нц пока снизу не свободно вправо вниз закрасить вправо закрасить влево вниз закрасить вправо закрасить кц кон

Для проверки алгоритма добавим ещё несколько ступеней и проверим результат


Итак, алгоритм закрашивает клетки при любом количестве ступеней лестницы.

Для английского языка , который обеспечивает замену всех ключевых слов языка, интерфейсных элементов и сообщений системы на англоязычные. Обратите внимание, что при обновлении версии программы необходимо также обновлять и файл локализации.

Новости теперь и в Telegram-канале

15 марта 2019 г.
Размещена обучающая программа PasLaz В.А. Пасевича среде Lazarus .

23 декабря 2018 г.
Размещены разработки В.А. Пасевича (Робот, Черепаха).

11 сентября 2018 г.
Теперь можно скопировать содержимое консольного окна в буфер обмена.

20 ноября 2016 г.
Новая версия: теперь разрешено рекурсивно вызывать основную программу.

Лицензия

Учебная среда Исполнители и методические разработки распространяются по принципу «Как есть» — «As Is» . Это означает, что вы используете их на свой страх и риск и автор не несет никакой ответственности за ущерб, причиненный вам лично и вашему компьютеру в результате использования полученных на этом сайте программ и методик.

  1. 1) публикация материалов в любой форме, в том числе размещение материалов на других Web-сайтах;
  2. 2) распространение неполных или измененных материалов;
  3. 3) включение материалов в сборники на любых носителях информации;
  4. 4) получение коммерческой выгоды от продажи или другого использования материалов.

Скачивание материалов означает, что вы приняли условия этого лицензионного соглашения.

Скачать материалы других авторов

Все материалы размещаются в публичном доступе с согласия авторов.

Обучающая программа PasLaz В.А. Пасевича , предназначенная для перехода от программирования исполнителей к программированию в среде Lazarus . 15.03.2019
Задания для исполнителей Робот и Черепаха. Автор — В.А. Пасевич, Заслуженный учитель РФ. (2 784 Кб)
Курс «Алгоритмика» (7 класс) : исполнители Робот, Чертёжник и Черепаха. Автор — Л.А. Каюшкина, МБОУ СОШ № 11, г. Ишимбая Республики Башкортостан (472 Кб)
Рабочая программа «Алгоритмика» (5 класс, ФГОС) : исполнители Робот, Чертёжник и Черепаха. Автор — Н.Е. Леко, СОШ № 9, г. Тихвин (220 Кб)
Разработки уроков по исполнителю Робот. Автор — С.В. Чайченков, МБОУ Грушевская СОШ Аксайского района Ростовской области. (2 454 Кб)
Учебная программа: исполнители Робот, Чертёжник и Черепаха. Автор — Н.Е. Леко, СОШ № 9, г. Тихвин (200 Кб)
Автор — Г.А. Гаврюкова, МОУ СОШ № 68, г. Рязань (архив ZIP, 3 380 Кб)Робот
PROGRAM/DRAWER Чертежник
PROGRAM/TURTLE подкаталог с примерами программ для исполнителя Черепаха
PROGRAM/KURS подкаталог с примерами программ для курса программирования, независимого от исполнителей
PROGRAM/FRACTALS подкаталог с примерами программ для построения фракталов
PROGRAM/PASEVICH подкаталог с разработками В.А. Пасевича (Робот, Черепаха)

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

Система может быть использована для решения задач по темам «Исполнитель и его команды», «Процедуры», «Функции», «Циклы», «Условные операторы», «Переменные», «Арифметические выражения», «Логические операции и логические переменные», «Глобальные переменные», «Операторы ввода и вывода», «Символьные строки», «Массивы», «Матрицы» и др.

Язык программирования в среде Исполнители полностью русифицирован , программы набираются и редактируются с помощью встроенного редактора с подсветкой синтаксиса.

Поддерживаются базовые конструкции языка Си .

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

Существует встроенный отладчик с возможность выполнения программ в пошаговом режиме с трассировкой процедур и функций. Значения переменных можно контролировать во время выполнения программы в пошаговом режиме.

Действия исполнителей отображаются на экране, используется анимация .

Для исполнителя Робот выполняется проверка правильности решения задачи после окончания работы программы.

Системные требования

Программа работает под управлением 32-разрядных операционных систем линейки Windows : Windows 95 , Windows 98 ,Windows NT , Windows 2000 , Windows XP и совместимых с ними. Работает на всех современных компьютерах, занимает около1 Мб на жестком диске.

В операционной системе Linux можно запускать программу в среде Wine . Дополнительно нужно скопировать файлы шрифтов из папки Windows\Fonts (с компьютера, на котором установлена Windows ) в папку /home/user/.wine/drive_c/windows/Fonts/ на компьютере с Linux .

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