РУҚА
15

Закрашивание горизонтального коридора

ОГЭ · Информатика · Тапсырма 15 · Алгоритмдер және орындаушылар
КүрделіФИПИ860591Толық шешім≈ 10 минут

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

Условие как в банке ФИПИ — открыть и сверить
Дайте развернутый ответ.

Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.

У Робота есть тоғыз команд. Четыре команды – это команды-приказы:

вверх вниз влево вправо

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

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

Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

сверху свободно снизу свободно слева свободно справа свободно

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

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

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

все

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

Последовательность команд – это одна или несколько любых команд-приказов.

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

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

вправо

закрасить

все

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

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

вправо

все

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

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

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

кц

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

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

вправо

кц

Выполните Тапсырма

Робот находится в произвольной клетке узкого горизонтального коридора. Ширина коридора – одна клетка, длина коридора может быть произвольной. Точное положение Робота также неизвестно. Возможный нұсқа начального расположения Робота приведён на рисунке (Робот обозначен буквой «Р»):

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

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

Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.

Сохраните алгоритм в формате программы Кумир или в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.



Жауап

Это задание с развёрнутым решением: ответом считается шешімнің барысын жазу, жол емес. Шешімді қағазға жазып, салыстырыңыз с разбором — там каждый шаг с обоснованием.

Талдауды ашу
!
3 уровня: от лёгкого толчка до почти готового решения. Следующий открывается, алдыңғысы оқылған кезде, — жауапқа бірден секіріп кетпеу үшін.
1Мягкая — с чего смотретьдеңгей 1 из 3

Как попасть в крайнее левое положение коридора, не проходя сквозь стену?

2Жетекші — қандай сандарды есептеудеңгей 2 из 3

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

3Тікелей — іс жүзінде шешімдеңгей 3 из 3

Используйте два цикла: первый — для перехода к левому краю, второй — для закрашивания клеток при движении вправо.

Всё равно не складывается?Полное Шешім с обоснованием каждого шага — на отдельной странице.
Шешімді ашу

Тапсырма 15 ОГЭ, информатика

Задача из темы «Алгоритмдер және орындаушылар»: в ней 178 задач жауабымен және қадамдық талдауымен. В 15-м номере бланка — 75 задач.

Жауапты осы жерде тексеруге болады, ал егер шықпаса — ашуға болады көмекші кеңес немесе талдау. Тіркелу қажет емес.