Содержание верного ответа
(допускаются иные формулировки ответа, не искажающие его смысла)
- При вводе программа выведет число .
- Программа выводит верный ответ при вводе (ответ ) или (ответ ).
- Программа содержит две ошибки.
Первая ошибка. Ошибочная проверка. После завершения цикла гарантированно выполняется неравенство , поэтому в сравнении после цикла левая часть всегда неотрицательна, а правая – отрицательна. Сравнение оказывается всегда верным, в результате выбирается не ближайший к точный факториал, а ближайший, не превосходящий . Вторая ошибка. Ошибочный вывод. Вместо значения факториала выводится «основание» факториала . Пример исправления для языка Паскаль
Первая ошибка:
Исправленная строка:
Возможно также использование функции (модуль числа): if f-a >= abs(f div k – a)
Функцию можно использовать и в левой части сравнения. Это ничего не меняет по сути, так как левая часть заведомо неотрицательна, но такое использование нельзя считать ошибкой: if abs(f-a) >= abs(f div k – a)
При использовании модуля для исправлении фрагмента на алгоритмическом языке следует использовать функцию (модуль для целых чисел): если f-a >= iabs(div(f,k)-a)
Использование в алгоритмическом языке функции вместо отмечается как ошибка, но не влияет на оценку работы. Вторая ошибка:
Исправленная строка:
В программах на других языках ошибочные строки и их исправления аналогичны.
Незначительной опиской, не влияющей на оценку, следует считать отсутствие служебных слов и знаков после содержательной части исправления (например, слова THEN в Бейсике или точки с запятой в C++).
Указания по оцениванию | Баллы |
В задаче требуется выполнить четыре действия.
1. Указать ответ программы при данном вводе.
2. Указать пример входного числа, при котором программа выдаёт верный ответ, и ответ программы в этом случае.
3. Исправить первую ошибку в программе.
4. Исправить вторую ошибку в программе.
Действие считается выполненным, если указан верный результат работы программы при заданном входном значении.
Действие считается выполненным, если указаны входное значение и ответ, при выполнении программы с этим входным значением получается этот ответ и этот ответ совпадает с ответом, который выдаёт для данного входного значения правильная программа.
Для действий и экзаменуемый не обязан объяснять, как получен результат, достаточно указать верные числа.
Каждое из действий и считается выполненным при одновременном выполнении двух условий:
а) правильно указана строка с ошибкой;
б) указан такой новый вариант строки, что при исправлении другой ошибки получается правильная программа.
В исправленной строке допускаются незначительные синтаксические ошибки (лишние или пропущенные знаки препинания, неточные написания служебных слов языка). | |
Выполнены все четыре необходимых действия, ни одна верная строка не указана в качестве ошибочной. | |
Не выполнены условия, позволяющие поставить балла. Имеет место одна из следующих ситуаций.
1. Выполнены три из четырёх необходимых действий, ни одна верная строка не названа ошибочной.
2. Выполнены все четыре необходимых действия, одна верная строка названа ошибочной. | |
Не выполнены условия, позволяющие поставить или балла.
Выполнены два из четырёх необходимых действий. | |
Не выполнены условия, позволяющие поставить , или балла. | |
Максимальный балл | |