Предмет: Информатика,
автор: Adilet02082000
) На обработку поступает последовательность из четырёх целых чисел. Нужно написать программу,
которая выводит на экран количество неотрицательных чисел последовательности и их
произведение. Если неотрицательных чисел нет, требуется вывести на экран «NO». Известно, что
вводимые числа по абсолютной величине не превышают 10. Программист написал программу
неправильно, надо найти ошибку
var p,i,x,count: integer;
begin
count := 0;
p := 0;
for i := 1 to 4 do begin
read (x);
if x >= 0 then begin
p := p*x;
count := count+1
end
end;
if count > 0 then begin
writeln(х);
writeln(p);
end
else
writeln('NO')
end
Ответы
Автор ответа:
7
Ошибки
var p,i,x,count: integer;
begin
count := 0;
p := 0 ;
for i := 1 to 4 do begin
read (x);
if x >= 0 then begin
p := p*x;
count := count+1
end
end;
if count > 0 then begin
writeln(х );
writeln(p);
end
else
writeln('NO')
end
- Переменная p в начале равняется нулю. В эту переменную будет записываться общее произведение неотрицательных чисел, умножая p на каждое неотрицательное число, но при умножении любого числа на 0 произведение будет 0, поэтому нужно в начале присвоить ей единицу
- В конце выводится последнее введённое число, а нужно вывести количество
- После end не стоит точка
Правильный вариант программы
var p,i,x,count: integer;
begin
count := 0;
p := 1;
for i := 1 to 4 do begin
read (x);
if x >= 0 then begin
p := p*x;
count := count+1
end
end;
if count > 0 then begin
writeln(count);
writeln(p);
end
else
writeln('NO')
end.
Похожие вопросы
Предмет: Физика,
автор: kirillgoncarov5544
Предмет: Литература,
автор: cogutdasa123
Предмет: Право,
автор: drabyktetyanka
Предмет: Алгебра,
автор: Hellstaf
Предмет: Биология,
автор: vandagallagher