Главная / ЕГЭ Информатика / Задание №24 / ID 34085
ID 34085 ЕГЭ Информатика Линия №24 СдамГИА ID: 16453 Анализ информационных моделей
✈️ TG ВК Следующая ⏭️
Факториалом натурального числа n (обозначается n!) называется произведение всех натуральных чисел от 1 до n. Например, 4!  =  1 · 2 · 3 · 4  =  24.
Дано целое положительное число A. Необходимо найти ближайшее к A число, которое является точным факториалом какого-либо натурального числа. Если два точных факториала одинаково близки к A, нужно выбрать меньший из них. Например, для A = 15 нужно получить ответ 6, а для A = 20 – ответ 24.
Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.
Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

Бейсик | Python

DIM A, K, F AS INTEGER
INPUT A
K = 0
F = 1
WHILE F A − F \ K THEN
    F = F \ K
    K = K − 1
END IF
PRINT K
END

|

a = int(input())
k = 0
f = 1
while f a − f // k:
    f //= k
    k −= 1
print(k)

Паскаль | Алгоритмический язык

var a, k, f: integer;
begin
    read(a);
    k := 0;
    f := 1;
    while f a − f div k then begin
         f := f div k;
        k := k − 1;
    end;
    writeln(k)
end.

|

алг
нач
    цел a, k, f
    ввод a
    k := 0
    f := 1
    нц пока f a − div(f,k)
        то f := div(f,k)
            k := k − 1
    все
    вывод k
кон

С++

#include <iostream>
using namespace std;
int main(){
    int a, k, f;
    cin >> a;
    k = 0;
    f = 1;
    while (f a − f/k) {
        f = f/k;
        −−k;
    }
    cout

Последовательно выполните следующее.
1.  Напишите, что выведет эта программа при вводе A = 7.
2.  Приведите пример числа A, при котором программа выведет верный ответ. Укажите этот ответ.
3.  Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
💡 Пошаговый разбор и решение:
1.  При вводе A = 7 программа выведет число 3.
2.  Программа выводит верный ответ при вводе A = 1 (ответ 1), AA = 2 (ответ 2) и A = 3 (ответ 2).
3.  Программа содержит две ошибки.
1)  Первая ошибка. Ошибочная проверка. По условию при = м удалении A от двух точных факториалов нужно выбрать меньший из них. Для этого нужно строгое сравнение заменить на нестрогое.
2)  Ошибочный вывод. Вместо значения факториала F выводится «основание» факториала K.

Пример исправления для языка Паскаль:

Первая ошибка:
if f − a > a − f div k
Исправленная строка:
if f − a >= a − f div k

Допускается использование функции abs (модуль числа). Это ничего не меняет по сути, так как обе части сравнения часть заведомо неотрицательны, но такое использование нельзя считать ошибкой:

if abs(f−a) >= abs(a − f div k)

При использовании функции модуля на алгоритмическом языке следует использовать функцию iabs (модуль для целых чисел):

если iabs(f − a) >= iabs(div(f,k) − a)

Использование в алгоритмическом языке функции abs вместо iabs отмечается как ошибка, но не влияет на оценку работы.

Вторая ошибка:
writeln(k)
Исправленная строка:
writeln(f)
В программах на других языках ошибочные строки и их исправления аналогичны.
Незначительной опиской, не влияющей на оценку, следует считать отсутствие служебных слов и знаков после содержательной части исправления.
📚 Похожие разобранные задания по предмету:
ID 140504 • Задание №7
Файл winter.jpg был выложен в Интернете по адресу ftp://weather.info/winter.jpg. Потом на сайте создали подкат...
Смотреть разбор ↗
ID 31813 • Задание №12
Дан фрагмент таблицы истинности выражения F: x1 x2 x3 x4 x5 x6 x7 x8 F 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1 0 0 1 ...
Смотреть разбор ↗
Официальные критерии проверки ФИПИ:
Критерии проверки:

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

Выполнены все четыре необходимых действия, и ни одна верная строка не указана в качестве ошибочной | 3

Не выполнены условия, позволяющие поставить 3 балла. Имеет место одна из следующих ситуаций.
1. Выполнены три из четырёх необходимых действий, ни одна верная строка не названа ошибочной.
2. Выполнены все четыре необходимых действия, одна верная строка названа ошибочной. | 2

Не выполнены условия, позволяющие поставить 2 или 3 балла.
Выполнены два из четырёх необходимых действий. | 1

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

Максимальный балл | 3
🔗 Другие задания линии №24 по предмету Информатика:
ID 33959 Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количеств... ID 33960 Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите длину самой длинной по... ID 33961 Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальную длину цеп... ID 33962 Текстовый файл состоит не более чем из 106 символов A, B и C. Определите максимальное количеств... ID 33963 Текстовый файл состоит не более чем из 106 символов A, B и C. Определите максимальное количеств...
← Предыдущее задание 📚 Все задания по предмету Следующее задание →