Предмет: Информатика, автор: Adilet02082000

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

var n, s: longint;
i: integer;
begin
s:=1;
for i:=1 to 6 do begin
readln(n);
if i mod 2 = 0 then
s := s + n;
end;
write(s);
end.

Ответы

Автор ответа: raf1O5
1

Ошибки

var n, s: longint;

i: integer;

begin

s:=1 ;

for i:=1 to 6 do begin

readln(n);

if i mod 2 = 0 then

s := s + n;

end;

write(s);

end.

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

Правильный вариант программы

var n, s: longint;

i: integer;

begin

s:=0;

for i:=1 to 6 do begin

readln(n);

if n mod 2 = 0 then

s := s + n;

end;

write(s);

end.

Похожие вопросы
Предмет: Математика, автор: KotikMonolitove4
Предмет: Биология, автор: Starmy1
Предмет: Алгебра, автор: Hellstaf