Исполнитель Робот в средеКУМИР 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Исполнитель Робот в средеКУМИР



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

Подготовка к ГИА по информатике.

Исполнитель Робот в средеКУМИР

 

Язык КУМИР - универсальный язык программирования, его прототипом послужил "школьный язык программирования", разработанный А.П. Ершовым в первой половине 80-х годов ХХ века.

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

В то же время КУМИР является учебной системой. В неё встроено несколько графических исполнителей, действия которых визуализируются на их "игровом поле" или арене.

 

 

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

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

У Робота есть пять команд-приказов:

· вверх

· вниз

· влево

· вправо

· закрасить

При выполнении одной из первых четырех команд Робот перемещается на одну клеткусоответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижениячерез стену, то он разрушится (произойдет отказ).

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

 

Задача 1.

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

 

                                                     
                                                     
    Р                                                
                                                     
                                                     
                                                     
                                                     
                                                     

 

 

                                                     
                                                     
                                                     
                                                     
                                                     
    Р                                                
                                                     
                                                     

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

Алг

Нач

Вниз

Вниз

Вправо

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

Закрасить

Вправо

кц

Вниз

Влево

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

Закрасить

Влево

кц

Кон

 

Задача 2.

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

Рисунок. Возможный способ расположения стен и робота (Робот обозначен буквой «Р»)

               
  Р            
               
               
               
               

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

Результат.

               
  Р            
               
               
               
               

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

Выполнение

Задача 3.

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

                                                 
                                                 
                                                 
                                                 
            Р                                    
                                                 

 

 

 

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

                                                 
                                                 
                                                 
                                                 
                                          Р      
                                                 

 

Конечное положение Робота значения не имеет.

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

1) перевести Робота в исходное положение — крайнюю левую клетку, примыкающую к стене сверху;

2) двигаясь слева направо, закрасить через одну все клет­ки, примыкающие к стене сверху.

 

Задача 4.

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

 

                                                 
                                                 
                                                 
                                                 
                                          Р      
                                                 
                                                 
                                                 
                                                 
                                                 
                                                 
                                                 

 


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

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

Алг

Нач

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

Влево

Кц

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

Вверх

Кц

.влево; вниз

То

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

.....закрасить; влево

Кц

Все

..

..закрасить;

Вниз

То

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

.....закрасить; вправо

Кц

Закрасить

....

Все

Вниз

..

Кц

.

Кон

 


Задача 5.

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

 

                                                 
                                                 
                                                 
                                                 
            Р                                    
                                                 

 

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

                                                 
                                                 
                                                 
                                                 
                                          Р      
                                                 

 

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

1) перевести Робота в исходное положение — крайнюю левую клетку, примыкающую к стене сверху;

2) двигаясь слева направо, закрасить через одну все клет­ки, примыкающие к стене сверху.

 

Напишите алгоритм:
алг
нач
нц пока не
(снизу свободно)
влево
кц
вправо
нц пока не (снизу свободно)
закрасить
вправо
вправо
кц
кон

Задача 6.

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

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

Алг

Нач

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

Вниз

Кц

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

Влево

Кц

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

Закрасить

Вправо

Закрасить

Кц

Кон

 

 


Задача 7.

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

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

 

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

Подготовка к ГИА по информатике.

Исполнитель Робот в средеКУМИР

 

Язык КУМИР - универсальный язык программирования, его прототипом послужил "школьный язык программирования", разработанный А.П. Ершовым в первой половине 80-х годов ХХ века.

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

В то же время КУМИР является учебной системой. В неё встроено несколько графических исполнителей, действия которых визуализируются на их "игровом поле" или арене.

 

 

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

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

У Робота есть пять команд-приказов:

· вверх

· вниз

· влево

· вправо

· закрасить

При выполнении одной из первых четырех команд Робот перемещается на одну клеткусоответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижениячерез стену, то он разрушится (произойдет отказ).

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

 

Задача 1.

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

 

                                                     
                                                     
    Р                                                
                                                     
                                                     
                                                     
                                                     
                                                     

 

 

                                                     
                                                     
                                                     
                                                     
                                                     
    Р                                                
                                                     
                                                     

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

Алг

Нач

Вниз

Вниз

Вправо

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

Закрасить

Вправо

кц

Вниз

Влево

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

Закрасить

Влево

кц

Кон

 

Задача 2.

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

Рисунок. Возможный способ расположения стен и робота (Робот обозначен буквой «Р»)

               
  Р            
               
               
               
               

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

Результат.

               
  Р            
               
               
               
               

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

Выполнение



Поделиться:


Читайте также:




Последнее изменение этой страницы: 2019-12-14; просмотров: 327; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.216.229 (0.16 с.)