) На обработку поступает последовательность из четырёх целых чисел. Необходимо написать

) На обработку поступает последовательность из четырёх целых чисел. Необходимо написать программу,
которая выводит на экран количество неотрицательных чисел последовательности и их
произведение. Если неотрицательных чисел нет, нужно вывести на экран NO. Знаменито, что
вводимые числа по безусловной величине не превосходят 10. Программер написал программу
ошибочно, надобно отыскать ошибку
var p,i,x,count: integer;
begin
count := 0;
p := 0;
for i := 1 to 4 do begin
read (x);
if x gt;= 0 then begin
p := p*x;
count := count+1
end
end;
if count gt; 0 then begin
writeln(х);
writeln(p);
end
else
writeln('NO')
end

Задать свой вопрос
1 ответ

Ошибки

var p,i,x,count: integer;

begin

count := 0;

p := 0 ;

for i := 1 to 4 do begin

read (x);

if x gt;= 0 then begin

p := p*x;

count := count+1

end

end;

if count gt; 0 then begin

writeln(х );

writeln(p);

end

else

writeln('NO')

end

  1. Переменная p в начале приравнивается нулю. В эту переменную будет записываться общее творенье неотрицательных чисел, умножая p на каждое неотрицательное число, но при умножении хоть какого числа на 0 творенье будет 0, потому необходимо в начале присвоить ей единицу
  2. В конце выводится заключительнее введённое число, а нужно вывести количество
  3. После end не стоит точка

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

var p,i,x,count: integer;

begin

count := 0;

p := 1;

for i := 1 to 4 do begin

read (x);

if x gt;= 0 then begin

p := p*x;

count := count+1

end

end;

if count gt; 0 then begin

writeln(count);

writeln(p);

end

else

writeln('NO')

end.

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт