Тренировка задания 24 ЕГЭ (24.1), вторая часть ЕГЭ про последовательности чисел

24_1

На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество чисел, кратных 3 в исходной последовательности и минимальное кратное 3 число. Если кратных 3 чисел нет, требуется на экран вывести «N0». Известно, что вводимые числа не превышают 1000. Программист написал программу неправильно.
Паскаль:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
const
  n = 4;
var
  i, x: integer;
var
  minimum, count: integer;
begin
  count := 0;
  minimum := 0;
  for i := 1 to n do
  begin
    read(x);
    if x mod 3 = 0 then
    begin
      count := count + 1;
      if x < minimum then
        minimum := i
    end
  end;
  if count > 0 then
  begin
    writeln(count);
    writeln(minimum)
  end
  else
    writeln('NO')
end.

Последовательно выполните следующее:

  1. Напишите, что выведет эта программа при вводе последовательности:
  2. 6 9 12 5
  3. Приведите пример такой последовательности, содержащей хотя бы одно кратное 3 число, что несмотря на ошибки, программа печатает правильный ответ.
  4. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
  5. 1) выпишите строку, в которой сделана ошибка;
    2) укажите, как исправить ошибку, то есть приведите правильный вариант строки.

    Достаточно указать ошибки и способ их исправления для одного языка программирования.

    Примечание: 0 — кратное 3 число.

✍ Решение:
 

Решение использует запись программы на Паскале. Допускается использование программы на трёх других языках программирования.

  1. Программа выведет два числа: 3 и 0.
  2. Пример последовательности, содержащей числа, кратные 3, для которой программа работает правильно: 1 0 3 5.
  3. В конце работы программы значение переменной minimum всегда равно 0. Соответственно, программа будет работать верно, если в последовательности есть 0. Выведенное количество кратных 3 чисел будет правильным в любом случае.
  4. В программе есть две ошибки.
  5. Первая ошибка: неверная инициализация minimum.
    Строка с ошибкой:

    minimum := 0;

    Верное исправление:

    minimum : = 1001;
    Вместо 1001 может быть любое целое число, большее 1000, либо MAXINT. Можно использовать и число 1000, так как при выводе мы проверяем, есть ли в последовательности хотя бы одно кратное 3 число.

    Вторая ошибка: неверное присваивание при вычислении минимума.
    Строка с ошибкой:

    minimum = i;

    Верное исправление:

    minimum = х;

1 комментарий для “Тренировка задания 24 ЕГЭ (24.1), вторая часть ЕГЭ про последовательности чисел”

  1. «Строка с ошибкой:
    minimum := 0;
    Верное исправление:
    minimum : = 1001;
    Вместо 1001 может быть любое целое число, большее 1000, либо MAXINT. Можно использовать и число 1000, так как при выводе мы проверяем, есть ли в последовательности хотя бы одно кратное 3 число.»

    Минимальное число, которое можем взять для minimum, не 1000, а 999. Это максимально возможное кратное 3 число. При наличии в последовательности этого числа 999 (единственного кратного 3 в последовательности), minimum будет 999.

Обсуждение закрыто.