Практическая работа №6
Тема. Составление алгоритма управления работой исполнителя
Цель. Научиться составлять и реализовывать алгоритм работы исполнителя в среде программирования КУМИР.
Ход работы.
1. Изучить онлайн-платформу Кумир (http://axelofan.github.io/kumir/)
2. Решение задач.
ЗАДАНИЕ
№1. На бесконечном поле имеется лестница. Сначала лестница поднимается вверх слева направо, потом опускается вниз также слева направо. Правее спуска лестница переходит в горизонтальную стену. Высота каждой ступени — 1 клетка, ширина — 1 клетка. Количество ступенек, ведущих вверх, и количество ступенек, ведущих вниз, неизвестно. Между спуском и подъемом ширина площадки — 1 клетка. Робот находится в клетке, обозначенной буквой «Р».
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над лестницей. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).
Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля.
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться.
Выберите правильно записанный алгоритм:
A |
B |
C |
D |
использовать
Робот закрасить вправо |
использовать
Робот закрасить вправо |
использовать
Робот закрасить влево |
использовать
Робот закрасить вправо |
№2. На бесконечном поле есть горизонтальная и вертикальная стены. Левый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, обозначенной буквой «Р».Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно выше горизонтальной стены и правее вертикальной стены. Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен.
Выберите правильно записанный алгоритм:
A |
B |
C |
D |
использовать
Робот нц
пока снизу стена нц
пока сверху не стена нц
пока справа свободно нц
пока слева стена нц
пока слева не стена нц
пока слева стена |
использовать
Робот нц
пока снизу стена нц
пока снизу не стена нц
пока слева свободно нц
пока слева стена нц
пока слева не стена нц
пока слева стена |
использовать
Робот нц
пока снизу стена нц
пока снизу не стена нц
пока слева свободно нц
пока слева стена нц
пока справа не стена нц
пока справа стена |
использовать
Робот нц
пока снизу стена нц
пока снизу не стена нц
пока слева свободно нц
пока слева стена нц
пока слева стена |
№3.
На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец
горизонтальной стены соединён с верхним концом вертикальной стены. Длины
стен неизвестны. В каждой стене есть ровно один проход, точное место
прохода и его ширина неизвестны. Робот находится в клетке, расположенной
непосредственно под горизонтальной стеной у её левого конца.
Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно ниже горизонтальной стены и левее вертикальной стены, кроме клетки, в которой находится Робот перед выполнением программы. Выберите верный алгоритм.
1 |
2 |
3 |
4 |
Вправо нц пока не сверху свободно закрасить вправо кц нц пока сверху свободно вправо кц нц пока справа свободно закрасить вправо кц нц пока не справа свободно закрасить вниз кц нц пока не справа свободно закрасить вниз кц |
Вправо нц пока не сверху свободно закрасить вправо кц нц пока сверху свободно вправо кц нц пока справа свободно закрасить вправо кц нц пока не справа свободно закрасить вниз кц нц пока справа свободно вниз кц нц пока не справа свободно закрасить вниз кц |
Вправо нц пока не сверху свободно закрасить вправо кц нц пока сверху свободно вправо кц нц пока не справа свободно закрасить вниз кц нц пока справа свободно вниз кц нц пока не справа свободно закрасить вниз кц |
Вправо нц пока не сверху свободно закрасить вправо кц нц пока сверху свободно вправо кц нц пока справа свободно закрасить вправо кц нц пока не справа свободно закрасить вниз кц нц пока справа свободно вниз кц нц пока не справа свободно закрасить вниз кц нц пока сверху свободно вправо кц |
Скачано с www.znanio.ru
© ООО «Знанио»
С вами с 2009 года.