ОГЭ по информатике: задание 15 — тренажёр

Теория по заданию 15: Программа для исполнителя «Робот»

Задание 15.1 — написать алгоритм для исполнителя Робот: он ходит по клетчатому полю со стенами и закрашивает нужные клетки. Алгоритм должен работать при любом расположении и размере стен.

Ключевые идеи

  • Команды‑приказы: вверх, вниз, влево, вправо, закрасить (сквозь стену идти нельзя — Робот разрушится).
  • Команды проверки: сверху/снизу/слева/справа свободно — с ними используют «если ... то ... все» и «нц пока ... кц».
  • Движение вдоль стены организуют циклом «нц пока», а пропуски (проходы) обходят проверкой условия внутри цикла.

Типовой алгоритм решения

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

Типичные ошибки

  • Алгоритм «жёстко» рассчитан на конкретную длину стены и ломается на другой.
  • Робот идёт сквозь стену и разрушается.
  • Закрашивают лишние клетки или клетки прохода.

Выберите количество задач на странице, порядок сортировки и решайте задачи. Ответ и пояснение можно открыть по отдельным кнопкам для каждой задачи.

Задание 15. В банке задач: 15. Сейчас показывается 10 задач(и) на странице.

Показать по:
Страница:

Задача 1 (легкая)

ID: 15-001
Исполнитель Робот перемещается по клетчатому полю; между соседними клетками может быть стена, через которую Робот не проходит. У Робота есть команды-приказы: вверх, вниз, влево, вправо — при их выполнении Робот перемещается на одну соседнюю клетку (если на пути стена, Робот разрушается); закрасить — закрашивает клетку, в которой Робот находится. Есть также команды проверки условий: сверху свободно, снизу свободно, слева свободно, справа свободно — они проверяют, свободен ли путь в соответствующем направлении. Эти команды используют с условием «если условие то ... все» и с циклом «нц пока условие ... кц»; в условии можно применять логические связки и, или, не. Выполните задание. Робот находится в клетке непосредственно под левым концом горизонтальной стены. Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно под горизонтальной стеной. Проходов в стене нет; закрашены должны быть только эти клетки.
расположение стен и Робота что должно получиться Р Р
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого размера проходов внутри стен. Сохраните алгоритм в текстовом файле.

Практическое задание: выполните его в редакторе и сравните с образцом.

Задача 2 (легкая)

ID: 15-002
Исполнитель Робот перемещается по клетчатому полю; между соседними клетками может быть стена, через которую Робот не проходит. У Робота есть команды-приказы: вверх, вниз, влево, вправо — при их выполнении Робот перемещается на одну соседнюю клетку (если на пути стена, Робот разрушается); закрасить — закрашивает клетку, в которой Робот находится. Есть также команды проверки условий: сверху свободно, снизу свободно, слева свободно, справа свободно — они проверяют, свободен ли путь в соответствующем направлении. Эти команды используют с условием «если условие то ... все» и с циклом «нц пока условие ... кц»; в условии можно применять логические связки и, или, не. Выполните задание. Робот находится в клетке непосредственно над левым концом горизонтальной стены. Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно над горизонтальной стеной.
расположение стен и Робота что должно получиться Р Р
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого размера проходов внутри стен. Сохраните алгоритм в текстовом файле.

Практическое задание: выполните его в редакторе и сравните с образцом.

Задача 3 (легкая)

ID: 15-003
Исполнитель Робот перемещается по клетчатому полю; между соседними клетками может быть стена, через которую Робот не проходит. У Робота есть команды-приказы: вверх, вниз, влево, вправо — при их выполнении Робот перемещается на одну соседнюю клетку (если на пути стена, Робот разрушается); закрасить — закрашивает клетку, в которой Робот находится. Есть также команды проверки условий: сверху свободно, снизу свободно, слева свободно, справа свободно — они проверяют, свободен ли путь в соответствующем направлении. Эти команды используют с условием «если условие то ... все» и с циклом «нц пока условие ... кц»; в условии можно применять логические связки и, или, не. Выполните задание. Робот находится в клетке слева от верхнего конца вертикальной стены. Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно слева от вертикальной стены.
расположение стен и Робота что должно получиться Р Р
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого размера проходов внутри стен. Сохраните алгоритм в текстовом файле.

Практическое задание: выполните его в редакторе и сравните с образцом.

Задача 4 (легкая)

ID: 15-004
Исполнитель Робот перемещается по клетчатому полю; между соседними клетками может быть стена, через которую Робот не проходит. У Робота есть команды-приказы: вверх, вниз, влево, вправо — при их выполнении Робот перемещается на одну соседнюю клетку (если на пути стена, Робот разрушается); закрасить — закрашивает клетку, в которой Робот находится. Есть также команды проверки условий: сверху свободно, снизу свободно, слева свободно, справа свободно — они проверяют, свободен ли путь в соответствующем направлении. Эти команды используют с условием «если условие то ... все» и с циклом «нц пока условие ... кц»; в условии можно применять логические связки и, или, не. Выполните задание. Робот находится в клетке справа от верхнего конца вертикальной стены. Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно справа от вертикальной стены.
расположение стен и Робота что должно получиться Р Р
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого размера проходов внутри стен. Сохраните алгоритм в текстовом файле.

Практическое задание: выполните его в редакторе и сравните с образцом.

Задача 5 (средняя)

ID: 15-005
Исполнитель Робот перемещается по клетчатому полю; между соседними клетками может быть стена, через которую Робот не проходит. У Робота есть команды-приказы: вверх, вниз, влево, вправо — при их выполнении Робот перемещается на одну соседнюю клетку (если на пути стена, Робот разрушается); закрасить — закрашивает клетку, в которой Робот находится. Есть также команды проверки условий: сверху свободно, снизу свободно, слева свободно, справа свободно — они проверяют, свободен ли путь в соответствующем направлении. Эти команды используют с условием «если условие то ... все» и с циклом «нц пока условие ... кц»; в условии можно применять логические связки и, или, не. Выполните задание. Робот находится в клетке под левым концом горизонтальной стены. Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно над и под горизонтальной стеной.
расположение стен и Робота что должно получиться Р Р
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого размера проходов внутри стен. Сохраните алгоритм в текстовом файле.

Практическое задание: выполните его в редакторе и сравните с образцом.

Задача 6 (сложная)

ID: 15-006
Исполнитель Робот перемещается по клетчатому полю; между соседними клетками может быть стена, через которую Робот не проходит. У Робота есть команды-приказы: вверх, вниз, влево, вправо — при их выполнении Робот перемещается на одну соседнюю клетку (если на пути стена, Робот разрушается); закрасить — закрашивает клетку, в которой Робот находится. Есть также команды проверки условий: сверху свободно, снизу свободно, слева свободно, справа свободно — они проверяют, свободен ли путь в соответствующем направлении. Эти команды используют с условием «если условие то ... все» и с циклом «нц пока условие ... кц»; в условии можно применять логические связки и, или, не. Выполните задание. Правый конец горизонтальной стены соединён с верхним концом вертикальной стены (стена в виде буквы «Г»). Робот находится под левым концом горизонтальной стены. Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно под горизонтальной стеной и левее вертикальной стены.
расположение стен и Робота что должно получиться Р Р
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого размера проходов внутри стен. Сохраните алгоритм в текстовом файле.

Практическое задание: выполните его в редакторе и сравните с образцом.

Задача 7 (сложная)

ID: 15-007
Исполнитель Робот перемещается по клетчатому полю; между соседними клетками может быть стена, через которую Робот не проходит. У Робота есть команды-приказы: вверх, вниз, влево, вправо — при их выполнении Робот перемещается на одну соседнюю клетку (если на пути стена, Робот разрушается); закрасить — закрашивает клетку, в которой Робот находится. Есть также команды проверки условий: сверху свободно, снизу свободно, слева свободно, справа свободно — они проверяют, свободен ли путь в соответствующем направлении. Эти команды используют с условием «если условие то ... все» и с циклом «нц пока условие ... кц»; в условии можно применять логические связки и, или, не. Выполните задание. Левый конец горизонтальной стены соединён с верхним концом вертикальной стены (зеркальная буква «Г»). Робот находится под правым концом горизонтальной стены. Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно под горизонтальной стеной и правее вертикальной стены.
расположение стен и Робота что должно получиться Р Р
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого размера проходов внутри стен. Сохраните алгоритм в текстовом файле.

Практическое задание: выполните его в редакторе и сравните с образцом.

Задача 8 (сложная)

ID: 15-008
Исполнитель Робот перемещается по клетчатому полю; между соседними клетками может быть стена, через которую Робот не проходит. У Робота есть команды-приказы: вверх, вниз, влево, вправо — при их выполнении Робот перемещается на одну соседнюю клетку (если на пути стена, Робот разрушается); закрасить — закрашивает клетку, в которой Робот находится. Есть также команды проверки условий: сверху свободно, снизу свободно, слева свободно, справа свободно — они проверяют, свободен ли путь в соответствующем направлении. Эти команды используют с условием «если условие то ... все» и с циклом «нц пока условие ... кц»; в условии можно применять логические связки и, или, не. Выполните задание. Робот находится слева от верхнего конца вертикальной стены. Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно слева и справа от вертикальной стены.
расположение стен и Робота что должно получиться Р Р
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого размера проходов внутри стен. Сохраните алгоритм в текстовом файле.

Практическое задание: выполните его в редакторе и сравните с образцом.

Задача 9 (средняя)

ID: 15-009
Исполнитель Робот перемещается по клетчатому полю; между соседними клетками может быть стена, через которую Робот не проходит. У Робота есть команды-приказы: вверх, вниз, влево, вправо — при их выполнении Робот перемещается на одну соседнюю клетку (если на пути стена, Робот разрушается); закрасить — закрашивает клетку, в которой Робот находится. Есть также команды проверки условий: сверху свободно, снизу свободно, слева свободно, справа свободно — они проверяют, свободен ли путь в соответствующем направлении. Эти команды используют с условием «если условие то ... все» и с циклом «нц пока условие ... кц»; в условии можно применять логические связки и, или, не. Выполните задание. Робот находится в клетке непосредственно под правым концом горизонтальной стены. Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно под горизонтальной стеной.
расположение стен и Робота что должно получиться Р Р
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого размера проходов внутри стен. Сохраните алгоритм в текстовом файле.

Практическое задание: выполните его в редакторе и сравните с образцом.

Задача 10 (средняя)

ID: 15-010
Исполнитель Робот перемещается по клетчатому полю; между соседними клетками может быть стена, через которую Робот не проходит. У Робота есть команды-приказы: вверх, вниз, влево, вправо — при их выполнении Робот перемещается на одну соседнюю клетку (если на пути стена, Робот разрушается); закрасить — закрашивает клетку, в которой Робот находится. Есть также команды проверки условий: сверху свободно, снизу свободно, слева свободно, справа свободно — они проверяют, свободен ли путь в соответствующем направлении. Эти команды используют с условием «если условие то ... все» и с циклом «нц пока условие ... кц»; в условии можно применять логические связки и, или, не. Выполните задание. Робот находится в клетке справа от нижнего конца вертикальной стены. Напишите алгоритм, закрашивающий все клетки, расположенные непосредственно справа от вертикальной стены.
расположение стен и Робота что должно получиться Р Р
При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для любого допустимого расположения стен и любого размера проходов внутри стен. Сохраните алгоритм в текстовом файле.

Практическое задание: выполните его в редакторе и сравните с образцом.

Показать по:
Страница: