Робот стоит в левом конце горизонтального коридора, нижняя стена которого сплошная, а в верхней имеется несколько выходов. Составить алгоритм, который переводит Робота из клетки А в клетку Б (рис. 16) и закрашивает все клетки коридора (на рис. 16 отмечены точками).
Как составить такой алгоритм? Поскольку число клеток в коридоре неизвестно, то при записи алгоритма не обойтись без цикла пока. В какой же момент цикл должен окончиться? Он должен окончиться, когда Робот окажется в клетке Б. Чем клетка Б отличается от клеток коридора? Как видно из рисунка 16, у клетки Б нет стены снизу, а у всех клеток коридора стена снизу есть.
Поэтому после пока можно написать условие снизу стена. За один шаг цикла Робот должен закрашивать очередную клетку и переходить в следующую. Количество закрашенных клеток здесь равно количеству шагов (клетка Б не закрашивается!), поэтому дополнительные команды не нужны.
лг закрасить коридор
дано | Робот в левой клетке горизонтального коридора (рис. 15)
Программируем своего робота на плате Iskra JS
надо | Робот вышел из коридора вправо, коридор закрашен
н ц пока снизу стена
3. Выход в левый верхний угол в лабиринте
Робот находится внутри прямоугольного лабиринта, огороженного с четырех сторон стенами. Внутри лабиринта стены имеют вид отрезков прямых и не касаются друг друга и наружных стен (рис. 17). Составить алгоритм, который в любом таком лабиринте перемещает Робота в левый верхний угол.
Поскольку размеры лабиринта неизвестны, нам не обойтись без цикла пока. Когда этот цикл должен закончиться, т. е. чем конечное положение Робота (клетка Б) отличается от всех остальных? Видно, что в клетке Б стены есть и слева и сверху, а во всех остальных клетках хотя бы одной из этих стен нет. Значит, условие окончания цикла — «сверху стена и слева стена», т. е. цикл нужно продолжать до тех пор, пока либо слева, либо сверху от клетки свободно. Это условие записывается так: «слева свободно или сверху свободно».
Внутри цикла надо смещать Робота по направлению к углу. Воспользуемся методом последовательного уточнения — введем вспомогательный алгоритм «сместиться к углу» (его мы составим потом) и запишем основной алгоритм:
лг в левый верхний угол лабиринта
дано | Робот где-то в лабиринте без углов (рис. 17)
надо | Робот в левом верхнем углу лабиринта
н ц пока слева свободно или сверху свободно
сместиться к углу
Теперь составим вспомогательный алгоритм «сместиться к углу»:
лг сместиться к углу
дано | Робот где-то в лабиринте без углов (рис. 17), либо слева,
| либо сверху от Робота свободно
надо | Робот сместился к левому верхнему углу
н ц пока сверху свободно
нц пока слева свободно
Как проверить, что цикл в алгоритме А22 рано или поздно закончится? Можно рассуждать так: при каждом выполнении тела цикла (т. е. при каждом выполнении алгоритма «сместиться к углу») расстояние от Робота до левого верхнего угла лабиринта уменьшается. Значит, рано или поздно Робот окажется в углу и цикл закончится.
Информатика ОГЭ 2023 Кумир Исполнитель Робот
Заметим, что Робота можно провести той же дорогой и не используя составных условий, например, так:
лг в левый верхний угол лабиринта
дано | Робот в лабиринте, вид которого изображен на рис. 16
надо | Робот в левом верхнем углу лабиринта
н ц пока слева свободно
н ц пока сверху свободно
нц пока сверху свободно
нц пока слева свободно
ЗАДАЧИ И УПРАЖНЕНИЯ
1. Составьте диалог компьютера и Робота при выполнении цикла
а) нц пока клетка чистая
б) нц пока клетка закрашена
в ситуации, когда Робот стоит. 1) в закрашенной клетке; 2) в незакрашенной.
2. Расположение Робота показано на рисунке 18. Составьте диалог компьютера и Робота при выполнении цикла
нц пока сверху свободно
- Переделайте алгоритм «вправо до стены с закрашиванием» (А18), используя в нем цикл
нц пока справа свободно
4. Составьте алгоритм для закрашивания прямоугольника:
алг закрасить прямоугольник
дано | Робот стоит в левом верхнем углу внутри огороженного
| с четырех сторон прямоугольника
надо | весь прямоугольник закрашен, Робот в исходном положении
5. Решите задачу 4, считая, что про начальное положение Робота в прямоугольнике не известно.
6. На поле Робота стен нет. Робот находится в левом верхнем углу прямоугольника из закрашенных клеток. Составьте алгоритм, переводящий Робота в правый нижний угол прямоугольника.
7. Составьте алгоритмы со следующими заголовками:
а) алг закрасить до стены вправо и вернуться
дано | где-то правее Робота есть стена
надо | закрашен ряд клеток между Роботом и стеной
| (рис. 19), Робот в исходном положении
б) алг закрасить до закрашенной клетки вправо и вернуться
дано | где-то правее Робота есть закрашенная клетка (рис. 20)
надо | закрашен ряд клеток между Роботом и этой клеткой, Робот в исходном положении
в) алг закрасить коридор
дано | Робот где-то в горизонтальном коридоре надо | закрашены все клетки коридора, кроме стартовой (клетки А), Робот в исходном
|положении (рис. 21)
г) алг закрасить коридор
дано | Робот где-то в горизонтальном коридоре надо | закрашены все клетки коридора, Робот в исходном положении (рис. 22)
д) алг закрасить угол
дано | Робот внутри прямоугольника, огороженного стенами
надо | закрашены все клетки правее и выше стартовой (рис. 23), Робот в исходном положении
8. Дано, что на поле Робота только одна стена и эта стена расположена строго горизонтально. Робот находится в одной из клеток, прилегающих к стене сверху (рис. 24). Точные размеры стены и точное расположение Робота неизвестны. Составьте алгоритм, при выполнении которого Робот:
а) окажется в одной из клеток, прилегающих к стене снизу;
б) закрасит все клетки, прилегающие к стене сверху;
в) закрасит все клетки, прилегающие к стене снизу;
г) закрасит все прилегающие к стене клетки
9. Робот находится внутри прямоугольника, огороженного с четырех сторон стенами. Внутри прямоугольника стен нет. Составьте алгоритм, при выполнении которого Робот закрашивает все клетки внутри прямоугольника, прилегающие к стенам.
10. Составьте алгоритм со следующим заголовком:
алг обход прямоугольника
дано | Робот над верхней стороной прямоугольника, огороженного стенами; снаружи
| прямоугольника стен нет
надо | Робот под нижней стороной прямоугольника
11. Робот находится в левом верхнем углу в прямоугольнике, огороженном с четырех сторон стенами. Внутри прямоугольника имеется горизонтальная стена с одним проходом, идущая от левого до правого края прямоугольника (проход не прилегает ни к левой, ни к правой стене прямоугольника). Составьте алгоритм, при выполнении которого Робот переместится в правый нижний угол прямоугольника (рис. 25).
Источник: studfile.net
23_09_(1)_Программная реализация несложного алгоритма. Программная реализация несложного алгоритма
Единственный в мире Музей Смайликов
Самая яркая достопримечательность Крыма
Скачать 0.59 Mb.
Практическая работа «Программная реализация несложного алгоритма»
Задание 1. Работа в программе Кумир. Перейди по ссылке: http://axelofan.github.io/kumir/ и выполни следующие задания:
Задание 2. Пройти тестирование.
Ссылка: https://onlinetestpad.com/ru/test/578627-programmirovanie-v-kumir
Задание 3. Работа в программе Кумир. Перейди по ссылке: http://axelofan.github.io/kumir/ и выполни следующие задания на оценку:
В ариант 1
- Исполнитель Робот находится где-то внутри огороженного пространства, имеющего форму прямоугольника. Размеры прямоугольника неизвестны. Составьте алгоритм, закрашивающий все клетки, расположенные в первой и последней строке прямоугольника.
- Составить алгоритм, который переместит Робота из начального положения в положение, отмеченное звёздочкой. Задачу решить для конкретного рисунка, применяя команду «цикл N раз».
- Перевести исполнитель из начального положения в положение, отмеченное звёздочкой, закрасив при этом отмеченные клетки. Длина стен и расстояние между ними неизвестны.
- Создать программу, проводящую Робота через коридор произвольной длины. По пути Робот должен закрасить все клетки, у которых сверху нет стены (стена снизу окон не имеет). Количество окон сверху неизвестно.
В ариант 2
- Исполнитель Робот находится где-то внутри огороженного пространства, имеющего форму прямоугольника. Размеры прямоугольника неизвестны. Составьте алгоритм, закрашивающий все клетки, расположенные в первом и последнем столбце прямоугольника.
- Составить алгоритм, который переместит Робота из начального положения в положение, отмеченное звёздочкой. Задачу решить для конкретного рисунка, применяя команду «цикл N раз».
- Перевести исполнитель из начального положения в положение, отмеченное звёздочкой, закрасив при этом отмеченные клетки. Длина стен и расстояние между ними неизвестны.
- Создать программу, проводящую Робота через коридор произвольной длины. По пути Робот должен закрасить все клетки, у которых снизу нет стены (стена сверху окон не имеет). Количество окон снизу неизвестно.
Вариант 1
Источник: topuch.com
Циклы в кумире исполнитель робот. Исполнитель Робот. Простые команды
Исполнитель Робот находится где-то внутри огороженного пространства, имеющего форму прямоугольника. Размеры прямоугольника неизвестны. Составьте алгоритм, закрашивающий все клетки, расположенные в первой и последней строке прямоугольника.
Создать программу, проводящую Робота через коридор произвольной длины. По пути Робот должен закрасить все клетки, у которых сверху нет стены (стена снизу окон не имеет). Количество окон сверху неизвестно.
Исполнитель Робот находится где-то внутри огороженного пространства, имеющего форму прямоугольника. Размеры прямоугольника неизвестны. Составьте алгоритм, закрашивающий все клетки, расположенные в первом и последнем столбце прямоугольника.
Составить алгоритм, который переместит Робота из начального положения в положение, отмеченное звёздочкой. Задачу решить для конкретного рисунка, применяя команду «цикл N раз».
Перевести исполнитель из начального положения в положение, отмеченное звёздочкой, закрасив при этом отмеченные клетки. Длина стен и расстояние между ними неизвестны.
Создать программу, проводящую Робота через коридор произвольной длины. По пути Робот должен закрасить все клетки, у которых снизу нет стены (стена сверху окон не имеет). Количество окон снизу неизвестно.
Исполнитель Робот Система команд исполнителя Робот Команды перемещения: вверх, вниз, влево, вправо Робот перемещается на одну клетку вверх, вниз, влево, вправо. Команда закрасить – закрашивает клетку, в которой стоит Робот. Проверка истинности условия: сверху свободно, снизу свободно, слева свободно, справа свободно Робот проверяет истинность условия отсутствия стены у той клетки, где находится Робот. Можно использовать запись составных условий, образованных логическими операциями И, ИЛИ, НЕ.
Исполнитель Робот Непосредственное редактирование обстановки Все команды редактирования обстановки выполняются с помощью мыши: поставить/убрать стену – щелкнуть по границе между клетками, закрасить/очистить клетку – щелкнуть по клетке, переместить Робота – перетащить мышью в нужную клетку.
Исполнитель Робот Команды меню Робот Показать поле Робота Делает видимым окно наблюдения за Роботом. Напечатать обстановку Создает файл в формате PDF, изображающий текущую обстановку в цветном или в черно-белом варианте. Сохранить обстановку в файл Создает текстовый файл с описанием обстановки во внутреннем формате *.fil.
Этот файл в дальнейшем может быть загружен в качестве стартовой обстановки (команда Сменить стартовую обстановку) или при редактировании стартовой обстановки (команда Открыть окна редактирования стартовой обстановки). Сменить как стартовую обстановку Устанавливает новое имя файла стартовой обстановки (с помощью стандартного диалога) и загружает новую стартовую обстановку. Вернуться в стартовую обстановку Делает стартовую обстановку текущей.
Исполнитель Робот Изображение текущей обстановки в окне наблюдения Изображение текущей обстановки всегда полностью помещается в рабочем поле окна наблюдения за Роботом. Фон рабочего поля – зеленый. Закрашенные клетки – серые. Между клетками – тонкие черные линии. Стены Изображаются толстыми желтыми линиями.
В клетке рабочего поля окна наблюдения Робот изображается ромбиком.
Исполнитель Робот Пример 1. Составим алгоритм с именем «Ход конем», что бы Роботу попасть из точки А в точку Б (Рис.3). Алгоритм имеет вид (Рис. 4.). После его исполнения Робот переместиться в нужную точку (Рис.5). Алгоритм, записанный на языке исполнителя называется программой. Рис.3Рис.4 Рис.5
Теперь перейдем непосредственно к составлению алгоритмов для Робота с использованием простых команд.
Если вам больше нравится информация в формате видеоуроков, то на сайте есть видеоурок
У любого исполнителя должна быть система команд (СКИ — система команд исполнителя ). Система команд исполнителя — совокупность всех команд, которые может выполнить исполнитель. В качестве примера рассмотрим дрессированную собаку. Она умеет выполнять некоторые команды — «Сидеть», «Лежать», «Рядом» и т. п. Это и есть ее система команд.
Простые команды Робота
У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота . Всего их 5:
Результат выполнения этих команд понятен из их названия:
- вверх — переместить Робота на одну клетку вверх
- вниз — переместить Робота на одну клетку вниз
- влево — переместить Робота на одну клетку влево
- вправо — переместить Робота на одну клетку вправо
- закрасить — закрасить текущую клетку (клетку в которой находится Робот).
Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):
- вверх — Escape, Up (стрелка вверх)
- вниз — Escape, Down (стрелка вниз)
- влево — Escape, Left (стрелка влево)
- вправо — Escape, Right (стрелка вправо)
- закрасить — Escape, Space (пробел)
Обратите внимание, что набирать нужную комбинацию горячих клавиш нужно не привычным нам способом! Мы привыкли нажимать клавиши одновременно, а здесь их нужно нажимать последовательно . К примеру, чтобы ввести команду вверх, нужно нажать Escape, отпустить ее и после этого нажать стрелку вверх. Это нужно помнить.
Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!
Запускаем Кумир, его. Можно начинать писать программу? Конечно нет! Мы же не ! Делаем это. Предлагаю использовать вот такую:
Вот теперь все готово. Начинаем писать программу. Пока она выглядит так
Удаляем символ «|» и называем наш алгоритм «Квадрат»
Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить . Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.
Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов
В результате мы должны увидеть вот такую картину
Если такое окно Робота у вас не появилось, то на панели инструментов щелкните «Показать окно Робота » или в меню Робот выберите пункт «Показать окно Робота «. Продолжаем дальше.
Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:
Потом пойдем влево, закрашивая нижнюю границу квадрата
У нас осталась одна незакрашенная клетка. Закрасим ее
Все готово! В итоге наша программа выглядит так:
использовать Робот
Источник: greatphis.ru