//где-то не закрыла begin end var A:array [1..40] of integer; sa,s3,s10,k,i: integer; begin sa:=0; s10:=0; s3:=0; k:=0; writeln('исходные значения'); for i:=1 to 40 do begin A[i]:= random(21); write(A[i],'') end; writeln; for i:=1 to 40 do begin if A[i]mod 2<>0 then begin sa:=sa+A[i]; k:=k+1; if A[i]<10 then s10:=s10+A[i]; if A[i] mod 3=0 then s3:=s3+A[i]; //здесь было странное выражение end; end; //здесь writeln('среднее арефмитическое нечетных чисел',sa/k:5:0); writeln('сумма чисел, не превышающих', s10); writeln('сумма чисел, кратных трем', s3); End.
1. Редактор отдает приоритет комбинации 555, потому что она стоит сразу после ЕСЛИ. Потому сначала Редактор преобразует все 555 к 3.
Среди 62 пятерок комбинация 555 встретится 20 раз (62 делим нацело на 3, потому что в группе 3 цифры). Поэтому получим 20 троек и за ними 55 (62 - 60 = 2 пятерки останутся).
2. Теперь 555 больше нет и Редактор начнет заменяать каждые 333 на 5. Он так сделает три раза (заменит 9 троек на 555), потому что снова появится 555, которое более приоритетно. Поэтому 9 троек заменятся на 555, а 555 заменится на 3. Из 20 исходных троек обработали 9 и заменили их на одну троку, поэтому теперь будет строка из 12 троек (20 -9 + 1) и двух пятерок в конце.
3. Снова 9 из 12 троек заменятся на 555, а те потом заменятся на 3. Получим строку 333355. В ней 333 заменится на 5. И окончательно будет 5355.
var A:array [1..40] of integer;
sa,s3,s10,k,i: integer;
begin
sa:=0;
s10:=0;
s3:=0;
k:=0;
writeln('исходные значения');
for i:=1 to 40 do
begin
A[i]:= random(21);
write(A[i],'')
end;
writeln;
for i:=1 to 40 do
begin
if A[i]mod 2<>0 then
begin
sa:=sa+A[i];
k:=k+1;
if A[i]<10 then s10:=s10+A[i];
if A[i] mod 3=0 then
s3:=s3+A[i]; //здесь было странное выражение
end;
end; //здесь
writeln('среднее арефмитическое нечетных чисел',sa/k:5:0);
writeln('сумма чисел, не превышающих', s10);
writeln('сумма чисел, кратных трем', s3);
End.
5355
Объяснение:
1. Редактор отдает приоритет комбинации 555, потому что она стоит сразу после ЕСЛИ. Потому сначала Редактор преобразует все 555 к 3.
Среди 62 пятерок комбинация 555 встретится 20 раз (62 делим нацело на 3, потому что в группе 3 цифры). Поэтому получим 20 троек и за ними 55 (62 - 60 = 2 пятерки останутся).
2. Теперь 555 больше нет и Редактор начнет заменяать каждые 333 на 5. Он так сделает три раза (заменит 9 троек на 555), потому что снова появится 555, которое более приоритетно. Поэтому 9 троек заменятся на 555, а 555 заменится на 3. Из 20 исходных троек обработали 9 и заменили их на одну троку, поэтому теперь будет строка из 12 троек (20 -9 + 1) и двух пятерок в конце.
3. Снова 9 из 12 троек заменятся на 555, а те потом заменятся на 3. Получим строку 333355. В ней 333 заменится на 5. И окончательно будет 5355.