Значения элементов равны 4, 7, 3, 8, 5, 0, 1, 2, 9, 6 соответственно
Демонстрационный вариант ЕГЭ 2016 по информатике – задание №19
В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 4, 7, 3, 8, 5, 0, 1, 2, 9, 6 соответственно, т.е. A[0] = 4, A[1] = 7 и т.д.
Определите значение переменной c после выполнения следующего фрагмента этой программы (записанного ниже на пяти языках программирования).
Бейсик
|
1 2 3 4 5 6 7 8 9 |
c = 0 FOR i = 1 TO 9 IF A(i) < A(0) THEN c = c + 1 t = A(i) A(i) = A(0) A(0) = t ENDIF NEXT i |
Python
|
1 2 3 4 5 6 7 |
c = 0 for i in range(1,10): if A[i] < A[0]: c = c + 1 t = A[i] A[i] = A[0] A[0] = t |
Алгоритмический язык
|
1 2 3 4 5 6 7 8 9 |
c := 0 нц для i от 1 до 9 если A[i] < A[0] то c := c + 1 t := A[i] A[i] := A[0] A[0] := t все кц |
Паскаль
|
1 2 3 4 5 6 7 8 9 |
c := 0; for i := 1 to 9 do if A[i] < A[0] then begin c := c + 1; t := A[i]; A[i] := A[0]; A[0] := t; end; |
Си
|
1 2 3 4 5 6 7 8 9 |
c = 0; for (i = 1;i < 10;i++) if (A[i] < A[0]) { c++; t = A[i]; A[i] = A[0]; A[0] = t; } |
Ответ:
Решение:
Данный алгоритм меняет местами элементы A[0] и А[ i ] и увеличивает значение c на 1, если А[ i ]< A[0].
A[0]=4 A[3]= 8 A[6]=1 A[9]=6
A[1]=7 A[4]= 5 A[7]=2
A[2]=3 A[5]=0 A[8]=9
Сначала четверка (A[0]=4 ) сравнивается с семеркой ( i=1,А[ i ]= A[1]=7),
7!<4
Дальше четверка (A[0]=4 ) сравнивается с тройкой ( i=2,А[ i ]= A[2]=3),поскольку тройка меньше четверки они меняются местами (A[0]=3, A[2]=4), c=0+1=1.
Аналогично тройка сравнивается с A[3]= 8, A[4]= 5, A[5]=0 .
8!<3
5!<3
0<3 → 3 и 0 меняются местами (A[0]=0, A[5]=3), c=.1+1=2.
0-наименьшее число в массиве, c=2.
Ответ: 2