Задание 23.1
Содержание верного ответа и указания по оцениванию
(допускаются иные формулировки ответа, не искажающие его
смысла)
| Команды исполнителя будем записывать жирным шрифтом, а комментарии, поясняющие алгоритм и не являющиеся его частью, — курсивом. Начало комментария будем обозначать символом «|».
| Закрасим левый верхний угол
закрасить
|Переместим Робота в левый нижний угол и закрасим его:
нц пока снизу свободно
вниз
кц
закрасить
| Переместим Робота в правый нижний угол и закрасим его:
нц пока справа свободно
вправо
кц
закрасить
| Переместим Робота в правый верхний угол и закрасим его:
нц пока сверху свободно
вверх
кц
закрасить
Возможны и другие варианты решения.
| Указания по оцениванию
| Баллы.
| Записан правильный алгоритм, не приводящий к уничтожению Робота, полностью решающий поставленную задачу.
Допускается использование иного синтаксиса инструкций
исполнителя, более привычного учащимся.
| 2
| Алгоритм в целом записан верно, но может содержать одну ошибку. Примеры ошибок:
1. Робот разрушается в результате столкновения со стеной (например, вследствие неверного определения конца стены).
2. Робот закрашивает лишную клетку или, наоборот, не закрашивает клетку, которую необходимо закрасить.
3 пропущена одна инструкция, или инструкция записана ошибочно («влево» вместо «вправо» и т. д)
| 1
| Задание выполнено неверно, или возможных ошибок в алгоритме больше одной.
| 0
| Максимальный балл
| 2
| Задание 23.2
Содержание верного ответа и указания по оцениванию
(допускаются иные формулировки ответа, не искажающие его
смысла).
| Решением является программа, записанная на любом языке программирования, не содержащая циклов. Пример верного и эффективного решения, записанного на языке Паскаль:
var a, b, answer: integer;
begin
read(a, b);
answer := (b - a) div 2;
if (b mod 2 = 0) or (a mod 2 = 0) then
answer := answer + 1;
writeln(answer)
end.
Для проверки правильности работы программы необходимоиспользовать следующие тесты
1
2
3
4
№
| Входные данные
| Выходные данные
| 1
| 200
400
| 101
| 2
| 1
30000
| 15000
| 3
| 1000
1001
| 1
| 4
| 743
27459
| 13358
| Возможны и другие варианты решения, в том числе и не содержащие
инструкцию ветвления.
| Указания по оцениванию.
| Баллы.
| Верное и эффективное решение, правильно работающее на всех
приведенных выше тестах и не содержащее циклов.
| 2
| Программа, не содержащая циклов, выдающая неверный ответ
на одном из тестов из числа приведенных выше. Например,
следующее решение выдает неверный ответ в случае, когда a и
b – нечетные числа (тест №4):
var a, b, answer: integer;
begin
read(a, b);
answer := (b - a) div 2 + 1;
writeln(answer)
end.
ИЛИ
Решение выдает верный ответ на всех тестах, но неэффективно,
поскольку содержит циклы. Например:
var a, b, i, answer: integer;
begin
read(a, b);
answer := 0;
for i := a to b do
if i mod 2 = 0 then
answer := answer + 1;
writeln(answer)
end.
| 1
| Решение выдает неверный ответ на двух и более тестах или
решение выдает неверный ответ на одном тесте, но при этом
содержит циклы.
| 0
| Максимальный балл .
| 2
| |