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

Сборник «Типовые экзаменационные варианты» 2019, Крылов С.С., Чуркина Т.Е., Вариант 19

На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество чисел, кратных 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 = х;

Поделитесь уроком с коллегами и друзьями:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*

Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить