Программа робот по информатике как пользоваться роботом

Содержание

Презентация на тему: » Исполнитель Робот. Управление Роботом. Работа в среде Алгоритмика 1 7 класс Яблоновская СОШ 3, Тахтамукайский район, Республика Адыгея Учитель информатики.» — Транскрипт:

1 Исполнитель Робот. Управление Роботом. Работа в среде Алгоритмика 1 7 класс Яблоновская СОШ 3, Тахтамукайский район, Республика Адыгея Учитель информатики Нигматуллин Р.Р.

2 2 Составить алгоритм управления Чертежником, после исполнения которых будут получены рисунки (2-3 примера по выбору)

5 Управление исполнителем Робот 5 Робот один из учебных исполнителей (т.е. устройств, способных выполнять определенный набор команд), для управления которыми нам предстоит научиться составлять программы. Робот обитает на прямоугольном клетчатом поле: 15 клеток по горизонтали и 9 клеток по вертикали. Между некоторыми клетками могут быть стены, сквозь которые пройти невозможно. Клетки могут быть закрашены.

6 6 РОБОТ Стена Закрашенная клетка

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

Информатика ОГЭ 2023 Кумир Исполнитель Робот

8 Программа управления Роботом 8 Составим программу, исполняя которую Робот нарисует на клетчатом поле меандр из пяти витков:

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

10 10 ПРОЦ виток НАЧАЛО вправо закрась; влево закрась; вверх закрась; вправо; закрась вправо; вправо; вправо вниз; вниз КОНЕЦ Использование процедуры виток: Вспомогательный алгоритм: ПОВТОРИТЬ 5 РАЗ виток КОНЕЦ Основной алгоритм:

11 11 22 (р.т.). Привести все алгоритмы из трех команд, которые переместят Робота из исходного положения в клетку Б: 1) вниз; вниз; вправо 2) вправо; вниз; вниз

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

13 13 25 (р.т.). Написать программу, с помощью которой Робот из исходного положения попадет в клетку Б: ПОВТОРИТЬ 5 РАЗ вверх; вверх вправо вниз; вниз вправо КОНЕЦ

14 14 26 (а) (р.т.). Известен вспомогательный алгоритм для Робота: ПРОЦ узор_1 НАЧАЛО верх; закрась; вниз вправо; закрась; влево вниз; закрась; вверх влево; закрась; вправо КОНЕЦ Нарисовать, что получится при выполнением Роботом основного алгоритма: ПОВТОРИТЬ 5 РАЗ узор_1 вправо; вправо КОНЕЦ

15 Домашнее задание §3. (1, 2) Р.т.: 21, 24, 26 (б, в, г,), 27 на стр

Источник: www.myshared.ru

Описание исполнителя «Робот»

Программирование на языке Python (§ 54 - § 61)

Разбор 15.1 задания | ОГЭ по информатике 2023

Исполнитель Робот умеет
перемещаться по лабиринту,
начерченному на плоскости,
разбитой на клетки.
Между соседними (по сторонам)
клетками может стоять стена, через
которую Робот пройти не может.
Если Робот получит команду
передвижения сквозь стену, то он
разрушится.

3. СИСТЕМА КОМАНД «РОБОТА»


Команда
Описание
1
вверх
Робот перемещается на одну клетку вверх ↑
2
вниз
Робот перемещается на одну клетку вниз ↓
3
влево
Робот перемещается на одну клетку влево ←
4
вправо
Робот перемещается на одну клетку вправо →
5
закрасить
Закрашивается клетка, в которой Робот находится в
настоящий момент
6
сверху свободно
7
снизу свободно
8
слева свободно
9
справа свободно
Команды проверки условий. Эти команды проверяют,
свободен ли путь для Робота в каждом из четырёх
возможных направлений.
Эти команды можно использовать вместе с условием
«eсли» или условием «пока»

4.

Эти команды можно использовать вместе с условием «eсли»,
имеющим следующий вид:
если условие то
последовательность команд
все
Для повторения последовательности команд можно использовать цикл
«пока», имеющий следующий вид:
нц пока условие
последовательность команд
кц
В одном условии можно использовать несколько команд проверки
условий, применяя логические связки и,
или, не.

Читайте также:
Невозможно установить программу на ваш компьютер

5. РЕШЕНИЕ ЗАДАЧ 15.1 ОГЭ ПО ИНФОРМАТИКЕ

ИСПОЛНИТЕЛЬ «РОБОТ»
ПРОГРАММА «Кумир»

6. Задача 15.1 — 1 напишите алгоритм для «робота»

УСЛОВИЕ ЗАДАЧИ
На бесконечном поле горизонтальная и
вертикальная стены. Левый конец
горизонтальной стены соединён с верхним
концом вертикальной стены. Длины стен
неизвестны. Робот находится в клетке,
расположенной непосредственно слева от
вертикальной стены у её нижнего конца.
Решение
Напишите для робота алгоритм,
закрашивающий все клетки,
расположенные непосредственно
левее вертикальной стены, и
клетки, расположенные
непосредственно выше
горизонтальной.

7. Задача 15.1 — 1 напишите алгоритм для «робота»

ПОДРОБНОЕ РЕШЕНИЕ. ШАГ 1.
Закрасим все клетки
непосредственно слева от стены.
нц пока не (справа
свободно)
закрасить
вверх
кц
ШАГ 2.
Мы знаем как стены соединены друг с
другом. Независимо от длины стен нам
достаточно сделать 1 шаг вправо, чтобы
оказаться на горизонтальной стене.
вправо

8. Задача 15.1 — 1 напишите алгоритм для «робота»

ШАГ 3.
Осталось закрасить клетки на
горизонтальной стене
нц пока не (снизу
свободно)
закрасить
вправо
кц
ПОЛНЫЙ ТЕКСТ ПРОГРАММЫ
использовать Робот
алг
нач
нц пока не (справа свободно)
закрасить
вверх
кц
вправо
нц пока не (снизу свободно)
закрасить
вправо
кц
кон

9. Задача 15.1 — 2 напишите алгоритм для «робота»

УСЛОВИЕ ЗАДАЧИ
На бесконечном поле горизонтальная и
вертикальная стены. Правый конец
горизонтальной стены соединён с нижним
концом вертикальной стены. Длины стен
неизвестны. В вертикальной стене есть ровно
один проход, точное место прохода и его
ширина неизвестны. Робот находится в
клетке, расположенной непосредственно под
горизонтальной стеной у её левого конца.
Решение
Напишите для робота алгоритм,
закрашивающий все клетки,
расположенные непосредственно
правее вертикальной стены. Проход
должен остаться не закрашенным.

10. Задача 15.1 — 2 напишите алгоритм для «робота»

РЕШЕНИЕ
использовать Робот
алг
нач
нц пока не (сверху свободно)
вправо
кц
вверх
нц пока не (слева свободно)
закрасить
вверх
кц
нц пока (слева свободно)
вверх
кц
нц пока не (слева свободно)
закрасить
вверх
кц
кон

11. Задача 15.1 — 3 напишите алгоритм для «робота»

УСЛОВИЕ ЗАДАЧИ
На бесконечном поле горизонтальная и
вертикальная стены. Левый конец
горизонтальной стены соединён с верхним
концом вертикальной стены. Длины стен
неизвестны. Робот находится в клетке,
расположенной непосредственно слева от
вертикальной стены у её нижнего конца.
Решение
Напишите для робота алгоритм,
закрашивающий все клетки,
расположенные непосредственно
левее вертикальной стены, и
клетки, расположенные
непосредственно ниже
горизонтальной.

12. Задача 15.1 — 3 напишите алгоритм для «робота»

РЕШЕНИЕ
использовать Робот
алг
нач
нц пока не (справа свободно)
закрасить
вверх
кц
вправо
нц пока не (снизу свободно)
вправо
кц
вниз
влево
нц пока не (сверху свободно) и
(слева свободно)
влево
кц
нц пока не (сверху свободно)
закрасить
вправо
кц
кон

13. Задача 15.1 — 4 напишите алгоритм для «робота»

УСЛОВИЕ ЗАДАЧИ
На бесконечном поле есть 2 вертикальных
стены одинаковой высоты. Верхние и нижние
концы стен находятся на одной высоте. Длины
стен неизвестны.
Расстояние между стенами неизвестно, но не
менее одной клетки. Робот находится в клетке,
расположенной непосредственно справа от
левой стены у её верхнего конца.
Решение
Напишите для робота алгоритм,
закрашивающий все клетки,
расположенные непосредственно
правее левой стены, и клетки,
расположенные непосредственно
левее правой стены.

14. Задача 15.1 — 4 напишите алгоритм для «робота»

РЕШЕНИЕ
использовать Робот
алг
нач
нц пока не (слева свободно)
закрасить
вниз
кц
вверх
нц пока (справа свободно)
вправо
кц
нц пока не (справа свободно)
закрасить
вверх
кц
кон

15.

16.

17. Список использованных источников

1. ОГЭ. Информатика. Большой сборник тематических заданий.
Ушаков Д.М.
2. Программная среда «Кумир»
3. КИМ ОГЭ 2020 по информатике. ФИПИ.

Источник: ppt-online.org

§ 3.3. Управление исполнителем Робот

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

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

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

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

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

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

Читайте также:
Как разрешить программу в родительском контроле

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

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

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

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

Цикл «пока»

А теперь попробуем написать программу для решения очень простой задачи: закрасить все клетки справа от Робота (рис. 3.13).

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

Для оформления таких последовательностей действий используется специальная конструкция алгоритмического языка — цикл «пока».

В общем виде цикл «пока» записывается так:

Блок-схема цикла «пока» имеет вид, показанный на рис. 3.14.

  1. проверяет записанное после служебного слова ПОКА условие;
  2. если условие не соблюдается (Робот ответил «Нет»), то выполнение цикла прекращается, и Робот начинает выполнять команды, записанные после служебного слова КОНЕЦ. Если же условие соблюдается (Робот ответил «Да»), то Робот выполняет тело цикла и снова проверяет условие.

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

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

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

Из-за логических ошибок, допущенных при составлении алгоритма, может возникнуть ситуация зацикливания. Это значит, что условие будет всегда соблюдаться, и выполнение цикла «пока» никогда не завершится.

Рассмотрим следующий пример:

  • Что будет происходить, если справа от Робота нет стены?
    Подумайте, что произойдет, если Робот начнет вы-полнять нашу программу рисования меандра с циклом «пока», находясь в следующем исходном положении:

  • Что общего у циклов «повторить п раз» и «пока»? Какие между ними отличия? Нужны ли две конструкции для описания повторяющихся действий?
  • Простые и составные условия

    В цикле «пока» могут использоваться не только простые, но и составные условия.

    Составное условие образуется из одного или нескольких простых условий и служебных слов И, ИЛИ, НЕ.

    Рассмотрим составное условие А И В, где А, В — простые условия. Условие А И В выполнено, когда выполнено каждое из двух входящих в него простых условий.

    Пусть А — простое условие сверху свободно, В — простое условие справа свободно. Рассмотрим подробно проверку составного условия А И В — сверху свободно и справа свободно (рис. 3.15).

    В случае а выполнено условие А (сверху свободно), выполнено условие В (справа свободно). Составное условие АИВ (сверху свободно И справа свободно) также выполнено.

    В случае б выполнено условие А, условие В не выполнено. Составное условие А И В не выполнено.

    В случае в не выполнено условие А, условие В выполнено. Составное условие А И В не выполнено.

    • Нужно ли проверять условие В в составном условии А И В, если условие А не выполнено?

    Составное условие А ИЛИ В выполнено, когда выполнено хотя бы одно из двух входящих в него простых условий.

    Рассмотрим проверку составного условия А ИЛИ В — сверху свободно ИЛИ справа свободно (см. рис. 3.15).

    В случае а выполнено условие А (сверху свободно), выполнено условие В (справа свободно). Составное условие А ИЛИ В (сверху свободно ИЛИ справа свободно) выполнено.

    В случае б выполнено условие А, не выполнено условие В. Составное условие А ИЛИ В выполнено.

    В случае в не выполнено условие А, выполнено условие В. Составное условие А ИЛИ В выполнено.

    • Нужно ли проверять условие В в составном условии А ИЛИ В, если условие А выполнено?

    Составное условие НЕ А выполнено, когда не выполнено условие А.

    Пусть А — простое условие закрашено. Рассмотрим проверку составного условия НЕ А (рис. 3.16).

    В случае а условие А выполнено, условие НЕ А (НЕ закрашено) не выполнено.

    В случае б условие А не выполнено, условие НЕ А (НЕ закрашено) выполнено.

    Рассмотрим пример использования составного условия.

    Известно, что Робот находится где-то в вертикальном коридоре. Ни одна из клеток коридора не закрашена.

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

    Так как Роботу предстоит закрасить только клетки коридора, мы должны «научить» его их распознавать. Чем же клетки коридора отличаются от всех прочих клеток поля? Из рис. 3.17 видно, что каждая клетка коридора слева и справа ограничена стеной.

    Читайте также:
    Составьте программу проверяющую что введенное число четное или нечетное

    Робот находится в коридоре, пока слева стена и справа стена. В СКИ нашего исполнителя такие условия не предусмотрены. Там есть противоположные условия: слева свободно, справа свободно. Используем служебное слово НЕ:

    Нужное условие примет вид:

    Представим план действий Робота укрупненными шагами (рис. 3.18).

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

    1. Чтобы закрасить все клетки коридора, находящиеся выше Робота, прикажем Роботу шагнуть вверх и выполним цикл «пока»:

    • При каком исходном положении Робота этот цикл не выполнится ни разу?

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

    Под управлением этого алгоритма Робот окажется в исходной клетке.

    3. Выполнив команду вниз, Робот пройдет исходную клетку и займет первую клетку, расположенную ниже исходной. Теперь можно закрашивать клетки коридора, расположенные ниже исходной:

    • Возможна ли ситуация, что этот цикл не выполнится ни разу?

    4. Так как, выполнив предыдущий алгоритм, Робот окажется под коридором, командой вверх вернем его в коридор. Возвращение в исходную точку обеспечивается алгоритмом:

    5. По команде закрась Робот закрашивает исходную точку.

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

    Команда ветвления

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

    Графически ветвление можно представить, как показано на рис. 3.19.

    Для организации ветвлений в СКИ Робота предусмотрена специальная команда ЕСЛИ. Ее общий вид:

    Служебные слова ЕСЛИ, ТО, ИНАЧЕ имеют обычный смысл.

    Между ТО и ИНАЧЕ записываются одно или несколько действий, составляющих серию действий 1. Между ИНАЧЕ и КОНЕЦ помещается серия действий 2. Служебное слово ИНАЧЕ вместе с серией действий 2 может отсутствовать (сокращенная форма ветвления).

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

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

    Коротко о главном

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

    Система команд исполнителя представлена в следующей таблице:

    Робот может выполнять цикл «повторить n раз».

    Если заранее не известно, сколько именно раз следует выполнить тело цикла, используется специальная конструкция алгоритмического языка — цикл «пока».

    В цикле «пока» могут использоваться не только простые, но и составные условия. Составное условие образуется из одного или нескольких простых условий и служебных слов И, ИЛИ, НЕ.

    Для организации ветвлений в СКИ Робота предусмотрена специальная команда ЕСЛИ.

    Вопросы и задания

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

    Напишите программу, с помощью которой Робот сможет попасть в клетку Б во всех трех лабиринтах.

    Напишите программу, с помощью которой Робот попадет в клетку Б.

    Известны два вспомогательных алгоритма Робота:

    Нарисуйте, что получится при выполнении Роботом следующих основных алгоритмов:

    Составьте алгоритмы, под управлением которых Робот закрасит указанные клетки:

    Известно, что где-то правее Робота есть стена.

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

    Известно, что где-то правее Робота есть закрашенная клетка.

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

    В ряду из десяти клеток правее Робота некоторые клетки закрашены.

    Составьте алгоритм, который закрашивает клетки:

    Напишите программу, с помощью которой Робот сможет попасть в клетку Б во всех трех лабиринтах.

  • Напишите программу, следуя которой Робот сможет пройти по коридору от левого нижнего угла поля к правому верхнему. Коридор имеет ширину одна клетка и тянется в направлении слева-снизу вправо-вверх. Пример возможного коридора изображен на рисунке.
  • Источник: tepka.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru