Требовалось написать программу, при выполнении которой с клавиатуры поступает последовательность из пяти целых чисел (некоторые числа могут быть одинаковыми).
Программа должна найти в исходной последовательности среднее арифметическое чётных чисел и максимальное чётное число и вывести найденные числа на экран. Если чётных чисел в последовательности нет, требуется на экран вывести «No». Известно, что вводимые числа больше −1000 и меньше, чем 1000.
Программист написал программу неправильно. Ниже эта программа для вашего удобства приведена на четырёх языках программирования.
Последовательно выполните следующее:
1. Напишите, что выведет эта программа при вводе последовательности чисел −6 5 − 8 4 2.
2. Приведите пример такой последовательности, содержащей хотя бы одно чётное число, что, несмотря на ошибки, программа напечатает правильный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько).Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.
Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку,— приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в данной программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
1.При вводе последовательности чисел−6 5 −8 4 2 программа выведет два числа −1.6 и 4.
2. Пример последовательности, содержащей чётные числа, для которой программа работает правильно: 4 − 8 2 − 6 10.
3. Программа содержит три строки с ошибками (Паскаль):
1) Строка с ошибкой:
MaxX:=0;
Верное исправление:
MaxX:=-1000;
2) Строка с ошибкой:
if Sum <> 0 then begin
Верное исправление:
if K > 0 then begin
3) Строка с ошибкой:
writeln(Sum/N:2:1);
Верное исправление:
writeln(Sum/K:2:1);