
program z1;
var a,m:integer;
begin
m:=30000;
repeat
read(a);
if (a <> 0) and (a mod 2 = 0) and (a mod 10 <> 2) and (m > a) then m:=a
until a = 0;
writeln(m)
end.
Объяснение:
m равно максимально возможному чётному числу (согласно условию)
Цикл с пост условием:
ввод числа
проверка числа (верно, когда верны все условия):
не 0 (a <> 0) - не является условием окончания последовательности
число чётное (a mod 2 = 0)
число не оканчивается на 2 (a mod 10 <> 2)
число меньше m (m > a)
если проверка пройдена, то переменной m присваивается значение числа
Проверка условия выхода из цикла (a = 0)
Вывод m
var
a: array[1..1000] of real;
i, k, n, z: integer;
begin
writeln('введите число n: ');
readln(n);
writeln('введите число z: ');
readln(z);
writeln('введите ',n,' действительных чисел (каждое с новой строки): ');
for i : = 1 to n do
begin
readln(a[i]);
if a[i] > z then
begin
a[i] : = z;
k : = k + 1;
end;
end;
writeln('количество замен: ', k);
end.