Напишите программу, в которой осуществляется ввод целых чисел (ввод осуществляется до тех пор, пока не будет введен 0) и подсчет количества введенных положительных и отрицательных чисел.
Решение
1 способ
С использованием оператора repeat.
Так как здесь в явном виде задано условие окончания работы, то воспользуемся оператором repeat.
Код:
program podschet_chisel_1;
var n, k1, k2: integer;
begin
k1:=0;
k2:=0;
repeat
write (‘Введите целое число>>’);
readln (n);
if n>0 then k1:=k1+1;
if n<0 then k2:=k2+1;
until n=0;
writeln (‘Введено:’) ;
writeln (‘положительных чисел — ‘, k1);
writeln (‘отрицательных чисел — ‘, k2)
end.
2 способ
С использованием оператора while.
Имеющееся условие окончания работы можно достаточно просто преобразовать в условие продолжения работы — работа продолжается, пока n ≠ 0. И мы можем воспользоваться оператором while:
Код:
program podschet_chisel_2;
var n, k1, k2: integer;
begin
k1:=0;
k2:=0;
while <>0 do
begin
write (‘Введите целое число>>’);
readln (n);
if n>0 then k1:=k1+1;
if n<0 then k2:=k2+1;
end;
writeln (‘Введено:’) ;
writeln (‘положительных чисел — ‘, k1);
writeln (‘отрицательных чисел — ‘, k2)
end.