Разбор задачи A6 (демо ЕГЭ 2010)
В программе используется одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент программы, записанный на разных языках программирования, в котором значения элементов сначала задаются, а затем меняются.
Бейсик | Паскаль |
---|---|
FOR i=0 TO 10 A(i)=i NEXT i FOR i=0 TO 10 A(10-i)=A(i) A(i)=A(10-i) NEXT i |
for i:=0 to 10 do A[i]:=i; for i:=0 to 10 do begin A[10-i]:=A[i]; A[i]:=A[10-i]; end; |
Си | Алгоритмический язык |
for (i=0;i<=10;i++) A[i]=i; for (i=0;i<=10;i++) { A[10-i]=A[i]; A[i]=A[10-i]; } |
нц для i от 0 до 10 A[i]:=i кц нц для i от 0 до 10 A[10-i]:=A[i] A[i]:=A[10-i] кц |
Чему будут равны элементы этого массива после выполнения фрагмента программы?
- 10 9 8 7 6 5 4 3 2 1 0
- 0 1 2 3 4 5 6 7 8 9 10
- 10 9 8 7 6 5 6 7 8 9 10
- 0 1 2 3 4 5 4 3 2 1 0
В данном фрагменте программы описана работа 2-х циклов.
В первом цикле в массив записываются цифры:
A[0]=0, A[1]=1, A[2]=2, A[3]=3, A[4]=4, A[5]=5, A[6]=6, A[7]=7, A[8]=8, A[9]=9, A[10]=10.
Во втором цикле значения элементов массива образуются так:
A[10]=A[0]=0, A[0]=A[10]=0
A[9]=A[1]=1, A[1]=A[10]=1
Получаем, что пары элементов c индексами (10,0), (9,1), (8,2), (7,3), (6, 4) имеют значения 0,1,2,3,4, соответственно. Элемент с индексом 5 не изменяется.
Получается: 0,1,2,3,4,5,4,3,2,1,0.