Перейти к содержанию

Программа должна найти в исходной последовательности сумму чисел, не превосходящих 30 и кратных 7, вывести найденное число на экран

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

Программа должна найти в исходной последовательности сумму чисел, не превосходящих 30 и кратных 7, вывести найденное число на экран.

Если чисел, не превосходящих 30 и кратных 7, в последовательности нет, требуется на экран вывести NO. Известно, что вводимые числа меньше 1000.

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

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

1. Напишите, что выведет эта программа при вводе последовательности чисел 1 7 14 49 2.

2. Приведите пример такой последовательности, содержащей хотя бы одно чётное число, для которой, несмотря на ошибки, программа напечатает правильный ответ.

3. Найдите все ошибки в этой программе (их может быть одна или несколько). Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы.

Обратите внимание, что требуется найти ошибки в данной программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.


1.При вводе последовательности чисел 1 7 14 49 2 программа выведет No.

2. Пример последовательности, для которой программа работает правильно: 1 2 3 4 5.

3. Программа содержит следующие ошибки (Паскаль):

1) Строку:

X:=X+K

следует заменить на:

K:=X+K

2) Строку:

writeln(X)

следует заменить на:

writeln(K)