var
n, k, s, sa: integer;
begin
k := 0;
s := 0;
sa := 0;
writeln('Введите последовательность, окончание ввода - число 0');
repeat
read(n);
if (n mod 4 = 0) and (n mod 10 = 2) then s := s + n;
if (n <> 0) and (n < 100) then inc(k);
sa := sa + n
until n = 0;
readln;
writeln('Сумма чисел, кратных 4 и заканчивающихся на 2, равна ', s);
writeln('Количество чисел, не больших 100, равно ', k);
writeln('Сумма последовательности равна ', sa);
readln
end.
Объяснение:
2. Почти ничего не меня получим код для цикла while:
var
i, n, k: integer;
begin
i := 2;
readln(n);
while i <= n div 2 do begin
if (n mod i) = 0 then k := i;
i:=i+1;
end;
writeln('наибольший делитель ', n, ' = ', k);
end.
3. Аналогично для цикла Repeat:
var
i, n, k: integer;
begin
i := 2;
readln(n);
repeat
if (n mod i) = 0 then k := i;
i:=i+1;
until i> n div 2;
writeln('наибольший делитель ', n, ' = ', k);
end.