В задании сказано, что надо найти 4-хзначных чисел, но в конце написано, что значение чисел не должно превышать 300.
Но числа меньше 300 будут трехзначными, поэтому в моей программе числа могут быть больше 300.
Может быть опечатка в задании.
Программа:
var kol, n, i, a: integer;
sum: real;
z: boolean;
begin
writeln('Введите количество чисел');
readln(n);
if (n > 100) then begin
writeln('Ошибка');
exit;
end;
sum:= 0;
kol:= 0;
z:= false;
writeln('Введите числа');
for i:= 1 to n do begin
readln(a);
if (((a div 10000) = 0) and ((a mod 2) = 1) and (a > 0)) then begin
sum:= sum + a;
kol:= kol + 1;
if((a mod 5) = 0) then z:= true
end;
end;
if ((kol = 0) or (z = false)) then begin
writeln('Нет');
end
else begin
sum := sum / kol;
writeln('Среднее значение суммы: ', sum);
writeln('Количество чисел: ', kol);
end;
end.
1. Определите, какое значение будет выведено на экран в результате выполнения приведенной ниже последовательности операторов:
a:=1; b:=1;
while a>=b do b:=b+a; 1>=1 да b:=1+1=2
a:=a+1; a:=1+1=2
write(b*a) 2*2=4 ответ 4
2. Сколько раз будет исполнен Цикл в фрагменте программы?
а) p:=2;
repeat
p:=p*0.1 2*0,1=0,2 0,2*0,1= 0,02
until p<0.1; 0.02<0.1 Да Условие истинно значит цикл заканчивается
ответ 2
б) p:=1;
repeat
p:=p*0.1
until p>0.1; Ни разу
3.Определите, какое значение будет выведено на экран в результате выполнения приведенной ниже последовательности операторов:
a:=1; b:=1;
while a<=32 do a:=a*2; тут программа сработает ровно 32 раза
и это получается 32*2=64
b:=b*a; 64*1=64
write (b) 64
ответ 64
Объяснение: