Var a:array[1..18] of integer; i,n,n2,max:integer; Begin for i:=1 to 18 do Begin case i of 1..6:begin Write('Введите ',i,'-ую оценку по обязательной программе '); Readln(a[i]); n:=n+a[i]; if i=6 then Begin max:=n; n:=0; n2:=1; End; End; 7..12:Begin Write('Введите ',i-6,'-ую оценку по короткой программе '); Readln(a[i]); n:=n+a[i]; if i=12 then Begin if n>max then Begin max:=n; n2:=2;End; n:=0; End; End; 13..18:Begin Write('Введите ',i-12,'-ую оценку по произвольной программе '); Readln(a[i]); n:=n+a[i]; if i=18 then Begin if n>max then Begin max:=n; n2:=3;End; n:=0; End; End; end; end; case n2 of 1: write('Лучшая оценка по обязательной программе = ',max); 2: write('Лучшая оценка по короткой программе = ',max); 3: write('Лучшая оценка по произвольной программе = ',max); End; End.
В начале в строке находилось 333 троек по 8 плюс одна 8, всего 1000 восьмерок. 1. При выполнения цикла каждая из троек 8 будет заменена на одну 9. Значит у нас получится строка длиной в 334 символа, где 333 девятки и последний символ - восьмерка 2. Далее 333 девятки заменятся на 111 восьмерок плюс последняя восьмерка - всего получим 112 восьмерок 3. Из 112 восьмерок получится 37 девяток и одна восьмерка 4. И 37 девяток получим 12 восьмерок плюс одна девятка и плюс последняя восьмерка 5. 12 восьмерок дадут 4 девятки плюс последние 9 и 8 6. И наконец получаем строку 8998 ответ: 8998
a:array[1..18] of integer;
i,n,n2,max:integer;
Begin for i:=1 to 18 do Begin
case i of
1..6:begin Write('Введите ',i,'-ую оценку по обязательной программе '); Readln(a[i]); n:=n+a[i]; if i=6 then Begin max:=n; n:=0; n2:=1; End; End;
7..12:Begin Write('Введите ',i-6,'-ую оценку по короткой программе '); Readln(a[i]); n:=n+a[i]; if i=12 then Begin if n>max then Begin max:=n; n2:=2;End; n:=0; End; End;
13..18:Begin Write('Введите ',i-12,'-ую оценку по произвольной программе '); Readln(a[i]); n:=n+a[i]; if i=18 then Begin if n>max then Begin max:=n; n2:=3;End; n:=0; End; End;
end;
end;
case n2 of
1: write('Лучшая оценка по обязательной программе = ',max);
2: write('Лучшая оценка по короткой программе = ',max);
3: write('Лучшая оценка по произвольной программе = ',max);
End;
End.
1. При выполнения цикла каждая из троек 8 будет заменена на одну 9. Значит у нас получится строка длиной в 334 символа, где 333 девятки и последний символ - восьмерка
2. Далее 333 девятки заменятся на 111 восьмерок плюс последняя восьмерка - всего получим 112 восьмерок
3. Из 112 восьмерок получится 37 девяток и одна восьмерка
4. И 37 девяток получим 12 восьмерок плюс одна девятка и плюс последняя восьмерка
5. 12 восьмерок дадут 4 девятки плюс последние 9 и 8
6. И наконец получаем строку 8998
ответ: 8998