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.
Объяснение:
program zz1;
var n,n1,n2,n3:integer; //задаем переменные
begin
write('введите заданное трехзначное число');
read(n); //вводим с клавиатуры заданное трехзначное число
n1:=n div 100; //находим первую цифру числа
n2:=(n mod 100) div 10; //находим вторую цифру числа
n3:=n mod 10; //находим третью цифру числа
if (n1 mod 2 = 0)and(n2 mod 2 = 0)and(n3 mod 2 = 0) //проверяем, если все цифры четные, то выводим один ответ, если нет, то другой
then write('все цифры числа четные ') else write('некоторые цифры числа не четные');
Объяснение:
Итак, после выполнения первого цикла имеем массив:
1 2 3 4 5 6 7 8 9 10 11
Проанализируем работу второго цикла:
i=0; a[0]=a[10]=11, т.е. получим:
11 2 3 4 5 6 7 8 9 10 11
i=1; a[1]=a[9]=10, т.е. получим:
11 10 3 4 5 6 7 8 9 10 11
i=2; a[2]=a[8]=9, т.е. получим:
11 10 9 4 5 6 7 8 9 10 11
i=3; a[3]=a[7]=8, т.е. получим:
11 10 9 8 5 6 7 8 9 10 11
i=4; a[4]=a[6]=7, т.е. получим:
11 10 9 8 7 6 7 8 9 10 11
i=5; a[5]=a[5]=6, т.е. получим:
11 10 9 8 7 6 7 8 9 10 11
i=6; a[6]=a[4]=7, т.е. получим:
11 10 9 8 7 6 7 8 9 10 11
i=7; a[7]=a[3]=8, т.е. получим:
11 10 9 8 7 6 7 8 9 10 11
i=8; a[8]=a[2]=9, т.е. получим:
11 10 9 8 7 6 7 8 9 10 11
i=9; a[9]=a[1]=10, т.е. получим:
11 10 9 8 7 6 7 8 9 10 11
i=10; a[10]=a[0]=11, т.е. получим:
11 10 9 8 7 6 7 8 9 10 11
ответ: 11 10 9 8 7 6 7 8 9 10 11