Главная / ОГЭ Информатика / Задание №18 / ID 141005
ID 141005 ОГЭ Информатика Линия №18 СдамГИА ID: 1134 Количественные параметры информационных объектов
✈️ TG ВК Следующая ⏭️
Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2.

15.1 Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.
У Робота есть девять команд. Четыре команды  — это команды-приказы:

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

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

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

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

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

Здесь условие  — одна из команд проверки условия. Последовательность команд  — это одна или несколько любых команд-приказов. Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:

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

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

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

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

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

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

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

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

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

15.2 Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6 и оканчивающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введенные числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 6 и оканчивающихся на 4.

Пример работы программы:

Входные данные | Выходные данные

3
24
25
54 |
2
Чертеж к задаче Чертеж к задаче
💡 Пошаговый разбор и решение:
15.1 Команды исполнителя будем записывать жирным шрифтом, а комментарии, поясняющие алгоритм и не являющиеся его частью,  — курсивом. Начало комментария будем обозначать символом «|».

| Сначала будем двигаться направо и закрашивать клетки, пока не дойдем до конца коридора.
нц пока справа свободно
закрасить
вправо
кц
| Закрасим последнюю клетку.
закрасить
| Теперь вернемся в исходную клетку.
нц пока слева свободно
влево
кц

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

15.2 Решением является программа, записанная на любом языке программирования. Пример верного решения, записанного на языке Паскаль:

var i, n, a, s: integer;
begin
s := 0;
readln(n);
for i:=1 to n do
begin
readln(a);
if (a mod 6 = 0) and (a mod 10 = 4) then
s := s + 1;
end;
writeln(s);
end.

Возможны и другие варианты решения.

Приведем другое решение на языке Python.

count = 0
n = int(input())
for i in range(1, n + 1):
a = int(input())
if a % 6 == 0 and a % 10 == 4:
count += 1
print(count)
📚 Похожие разобранные задания по предмету:
ID 31065 • Задание №9
Откройте файл электронной таблицы, содержащей в каждой строке семь натуральных чисел. Определите количество ст...
Смотреть разбор ↗
ID 33868 • Задание №23
Сколько существует различных наборов значений логических переменных x1, x2,…, x10, которые удовлетворяют всем ...
Смотреть разбор ↗
Официальные критерии проверки ФИПИ:
Критерии проверки:

Критерии оценивания выполнения задания 15.1 | Баллы

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

При всех допустимых исходных данных верно следующее:
1) выполнение алгоритма завершается, и при этом Робот не разбивается;
2) закрашено не более 10 лишних клеток;
3) остались незакрашенными не более 10 клеток из числа тех, которые должны были быть закрашены. | 1

Задание выполнено неверно, т. е. не выполнены условия, позволяющие поставить 1 или 2 балла. | 0

Максимальный балл | 2
🔗 Другие задания линии №18 по предмету Информатика:
ID 140952 Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2. 15.1 Исполнитель Робот умеет переме... ID 140953 Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2. 15.1 Исполнитель Робот умеет переме... ID 140954 Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2. Исполнитель Робот умеет перемещатьс... ID 140955 Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2. Исполнитель Робот умеет перемещатьс... ID 140956 Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетк...
← Предыдущее задание 📚 Все задания по предмету Следующее задание →