Разберем программу по шагам, чтобы понять, какое значение будет присвоено переменной s.
Исходный код программы:
var a, s: integer;
begin
s := 0;
readln(a);
while a <> 0 do
begin
if (a mod 6 = 0) and (a mod 10 = 4) then
s := s + a;
readln(a);
end;
writeln(s);
end.
Пошаговое выполнение программы:
s := 0.readln(a). Считываем первое значение из входного потока: a = 12.while a <> 0:a = 12.(a mod 6 = 0) and (a mod 10 = 4):a mod 6 = 12 mod 6 = 0 (истина).a mod 10 = 12 mod 10 = 2 (ложь).(0) and (2) ложно, поэтому s := s + a не выполняется.readln(a). Считываем следующее значение из входного потока: a = 24.a = 24.(a mod 6 = 0) and (a mod 10 = 4):a mod 6 = 24 mod 6 = 0 (истина).a mod 10 = 24 mod 10 = 4 (истина).(0) and (4) истинно, поэтому s := s + a выполняется. s = 0 + 24 = 24.readln(a). Считываем следующее значение из входного потока: a = 44.a = 44.(a mod 6 = 0) and (a mod 10 = 4):a mod 6 = 44 mod 6 = 2 (ложь).a mod 10 = 44 mod 10 = 4 (истина).(2) and (4) ложно, поэтому s := s + a не выполняется.readln(a). Считываем следующее значение из входного потока: a = 54.a = 54.(a mod 6 = 0) and (a mod 10 = 4):a mod 6 = 54 mod 6 = 0 (истина).a mod 10 = 54 mod 10 = 4 (истина).(0) and (4) истинно, поэтому s := s + a выполняется. s = 24 + 54 = 78.readln(a). Считываем следующее значение из входного потока: a = 0.a = 0.a = 0.writeln(s). Выводится значение переменной s.В итоге, значение переменной s будет равно 78.
Ответ: 78