Напоминание

"Исполнитель Робот. Решение задач"


Автор: Овчаренко Людмила Михайловна
Должность: учитель информатики
Учебное заведение: МБОУ СОШ № 5
Населённый пункт: Крыловский район станица Октябрьская
Наименование материала: Презентация
Тема: "Исполнитель Робот. Решение задач"
Раздел: среднее образование





Назад




ИНТЕРФЕЙС

ИНТЕРФЕЙС

ПРОГРАММЫ «КУМИР»

ПРОГРАММЫ «КУМИР»

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

перемещаться по лабиринту,

начерченному на плоскости,

разбитой на клетки.

Между соседними (по

сторонам) клетками может

стоять стена, через которую

Робот пройти не может.

Всего у Робота есть десять

команд.

Команда

Описание

1

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

позволяет указать системе, что мы будем

работать с исполнителем робот.

2

вверх

Робот перемещается на одну клетку вверх

3

вниз

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

4

влево

Робот перемещается на одну клетку влево

5

вправо

Робот перемещается на одну клетку вправо

Если Робот получит команду передвижения сквозь стену, то он

разрушится.

Команда

Описание

1

закрасить

закрашивается клетка, в которой Робот

находится в настоящий момент

2

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

Команды проверки условий. Эти команды

проверяют, свободен ли путь для Робота в

каждом из четырёх возможных направлений.

Эти команды можно использовать вместе с

условием «eсли» или условием «пока»

3

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

4

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

5

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

Эти команды можно использовать вместе с условием «eсли», имеющим

следующий вид:

если условие то

последовательность команд

все

Здесь условие – одна из команд проверки условия. Например, для

передвижения на одну клетку вправо, если справа нет стенки, и закрашивания

клетки можно использовать такой алгоритм:

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

алг

нач

если справа свободно то

вправо

закрасить

все

кон

В одном условии можно использовать несколько команд проверки условий,

применяя логические связки и, или, не, например:

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

алг

нач

если (справа свободно) и (не снизу свободно) то

вправо

закрасить

все

кон

Для повторения последовательности команд можно использовать цикл «пока»,

имеющий следующий вид:

нц пока условие

последовательность команд

кц

Например, для движения вправо, пока это возможно, можно использовать

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

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

алг

нач

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

вправо

кц

кон

На бесконечном поле есть горизонтальная

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

Робот находится в одной из клеток,

расположенных непосредственно сверху от

стены.

На рисунке показан один из возможных

способов расположения робота.

Напишите для робота алгоритм,

закрашивающий все клетки, расположенные

выше горизонтальной стены и прилегающие к

ней.

Конечное положение робота может быть

произвольным

УСЛОВИЕ ЗАДАЧИ

Решение

Решение

Переведём робота на самую левую клетку над

стеной.

РЕШЕНИЕ. ШАГ 1.

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

влево

кц

Робот оказался слева от стены. Переведём

его на первую клетку стены.

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

вправо

кц

ШАГ 2.

Закрасим клетки над стеной

ШАГ 3.

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

закрасить

вправо

кц

РЕЗУЛЬТАТ

ПОЛНЫЙ ТЕКСТ ПРОГРАММЫ

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

алг

нач

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

влево

кц

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

вправо

кц

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

закрасить

вправо

кц

кон

На бесконечном поле имеется вертикальная

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

Робот находится в одной из клеток,

расположенной непосредственно слева от

стены.

Напишите для Робота алгоритм,

закрашивающий все клетки, расположенные

правее вертикальной стены и прилегающие

к ней. Робот должен закрасить только

клетки, удовлетворяющие данному условию.

Конечное положение робота может быть

произвольным

УСЛОВИЕ ЗАДАЧИ

Решение

Решение

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

алг

нач

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

вверх

кц

вправо

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

вниз

кц

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

закрасить

вниз

кц

кон

РЕШЕНИЕ

Робот находится в крайней левой клетке узкого

горизонтального коридора. Ширина коридора

— одна клетка, длина может быть

произвольной. Возможный вариант начального

расположения Робота приведен на рисунке.

Напишите для Робота алгоритм,

закрашивающий все клетки внутри коридора

и возвращающий Робота в исходную

позицию.

Алгоритм должен решать задачу для

произвольного конечного размера коридора.

При исполнении алгоритма Робот не должен

разрушиться.

УСЛОВИЕ ЗАДАЧИ



В раздел образования