Просуммировать вводимые положительные числа так, что каждое четвертое при суммировании игнорируется. Определить количество введенных и просуммированных чисел. При вводе отрицательного числа закончить работу.



program chisla2;
var
a, b, c, d : integer;

begin
Writeln('Будем суммировать вводимые числа, каждое 4 игнорировать.');
writeln('Чтобы закончить работу введите отрицательное число.');
writeln('Поехали.');
b := 0; c := 0; d := 0;
repeat
readln(a);
inc(b);
if (a > 0) and (b mod(4) > 0) then
begin
c := c + a;
inc(d);
end;
until a < 0; // если ввели отрицат. число всё закончилось
writeln('Сумма введённых чисел = ', c-1); //последн. Отр. Не считаем
writeln('Кол-во введённых чисел = ', b);
writeln('Кол-во просуммированных чисел = ', d);
readln;
end.

Скачать решение.

Ниже решение с помощью цикла While

program z1;
uses crt;
var i,j,k,m:integer;
begin
clrscr;
Writeln('Введите число: ');
readln(i);
k:=0;
j:=1;
While (i>0) do
begin
if (j mod 4 <> 0) then
begin
k:=k+i;
inc(j);
inc(m);
end else inc(j);
Writeln('Введите следующее число: ');
readln(i);
end;
Writeln('Сумма равна = ',k,' Кол-во введённых = ',j-1,' Кол-во просуммир. = ',m);
readln
end.

Скачать решение.
Hosted by uCoz