Требовалось написать программу, которая вводит с клавиатуры последовательность натуральных чисел, оканчивающихся нулем, и выводит на экран сумму четных чисел среди этой последовательности. Известно, что последовательность не пу...
Требовалось написать программу, которая вводит с клавиатуры последовательность натуральных чисел, оканчивающихся нулем, и выводит на экран сумму четных чисел среди этой последовательности. Известно, что последовательность не пуста и в ней есть четные числа. Программист торопился и написал программу неправильно.
var a, s: integer;
begin
readln(a);
s:=0;
while a>0 do
begin
read(a);
if a mod 2=0 then
s:=s+a;
end;
writeln(s);
end.
Выполните следующие действия:
1. Напишите, что выведет программа при вводе чисел 50 2 14 0.
2. Приведите пример такой входной последовательности, при которой программа работает верно.
3. Укажите ошибки в программе и исправьте их. Для этого для каждой ошибки: выпишите строку, которая написана неправильно и приведите правильный вариант строки.
Ответ(ы) на вопрос:
Гость
1. Выведет 16
2. 1 14 2 0 - выведет 16
3. Перемещаем строку read(a); в конец цикла while.
Изменяем while a>0 do на while <> 0 do
Не нашли ответ?
Похожие вопросы