Исполнитель робот действует в следующей обстановке:

для робота составлена следующая программа:

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

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

конечное расположение робота может быть произвольным.
1) опишите укрупнёнными шагами план действий робота по решению поставленной :
2) введите и отладьте программу, соответствующую составленному вами плану, в среде программирования кумир.

vovanharahashyox7cel vovanharahashyox7cel    3   20.01.2020 09:09    793

Ответы
krecet6r krecet6r  13.09.2022 22:04
лгоритм, закрашивающий все клетки, расположенные справа от вертикальной стены и примыкающие к ней. требуется закрасить только клетки, удовлетворяющие данному условию:

конечное расположение робота может быть произвольным.
1) опишите укрупнёнными шагами план действий робота по решению поставленной :
2) введите и отладьте программу, соответствующую составленному вами плану, в среде программирования кумир
ПОКАЗАТЬ ОТВЕТЫ
рикки8 рикки8  09.01.2024 09:15
Здравствуйте, уважаемый школьник!

Для решения данной задачи нам предлагается разработать алгоритм для робота. Давайте разберемся пошагово.

1) На первом этапе нам нужно определить, сколько из девяти клеток соответствуют требованию, чтобы робот уцелеет и останется в той же клетке, с которой он начал движение. Перед нами имеется цикл «пока», который выполняется, пока условие истинно, иначе происходит переход к следующей команде программы. Согласно условию, если робот начинает движение в сторону находящейся рядом с ним стены, то он разрушается и программа останавливается.

Давайте представим себе доску с клетками. Назовем вертикальную стену "В", горизонтальную стену "Г", а робота "р". У нас есть следующие возможные расположения клеток:

1) В рекурсивном обзоре возможных клеток, мы замечаем, что если робот находится в каком-то столбце справа от вертикальной стены, то он может двигаться только вправо, чтобы уцелеть. Поэтому, для соответствия требованию и остаться в той же клетке, робот должен начать движение на одну клетку левее вертикальной стены.

Таким образом, координаты таких клеток будут записываться как (номер строки, номер столбца). Если мы используем нумерацию строк и столбцов с 1, то эти клетки будут: (1,9), (2,9), (3,9) и (4,9).

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

План действий робота:
- Найти вертикальную стену.
- Проверить, насколько длинная она.
- Переместиться на одну клетку левее вертикальной стены.
- Проверить справа от себя (вправо) каждую клетку до конца вертикальной стены.
- Если встречается свободная клетка, то закрасить ее.
- Закончить выполнение программы.

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

{ Код на языке Кумир }
`ПрограммаРобота()
Рзл: Х := Х - 1
Пока ничего Справа(1) <> "В"
Покрасить()
Шаг("Вправо")
КонецПрограммы`

Это код на Кумир, который выполнит все действия, описанные в нашем плане. Он будет выполняться до тех пор, пока справа от робота нет вертикальной стены. При этом робот будет закрашивать каждую клетку, в которую попадает и продвигаться дальше вправо.

Очень важно отладить программу, чтобы убедиться, что она работает правильно. Для этого нажмите кнопку "Запустить" в среде программирования Кумир, чтобы увидеть, как робот выполняет код.

Надеюсь, моя подробная и обстоятельная информация помогла Вам понять, каким образом решить данную задачу!

Если у вас возникли дополнительные вопросы, не стесняйтесь задавать. Я буду рад помочь вам!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика