Демонстрационный вариант Единый государственный экзамен ЕГЭ 2017 г. – задание №19
Решение:
Данный алгоритм меняет местами элементы с номером j и j-1 до тех пор, пока элемент A[j] не станет больше либо равен элементу A[j-1], при каждой такой перестановке j уменьшается на единицу.
A[0]=1 A[3]=8 A[6]=4 A[9]=6
A[1]=2 A[4]=9 A[7]=0
A[2]=5 A[5]=3 A[8]=7
Сначала тройка (j=5, A[ j ]=A[5]=3) сравнивается с девяткой (A[ j-1 ]=A[4]=9), поскольку тройка меньше девятки они меняются местами (A[5]=9, A[4]=3), j=4. Аналогично тройка (j=4, A[ j ]=A[4]=3) меняется местами с восьмёркой (A[3]=8), j=3 и пятёркой (A[2]=5), j=2. Затем тройка сравнивается с двойкой, поскольку тройка больше двух алгоритм завершает работу. Всего было 3 захода в цикл, следовательно, после исполнения данного фрагмента программы j станет равным двум.
1 |
2 |
5 |
8 |
9 |
3 |
4 |
0 |
7 |
6 |
j = 5 |
3 < 9 |
|
|
|
|
3 |
9 |
|
|
|
|
j = 4 |
3 < 8 |
|
|
|
3 |
8 |
|
|
|
|
|
j = 3 |
3 < 5 |
|
|
3 |
5 |
|
|
|
|
|
|
j = 2 |
3 < 2 |
Ответ: 2
Демонстрационный вариант Единый государственный экзамен ЕГЭ 2016 г. – задание №19
В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 4, 7, 3, 8, 5, 0, 1, 2, 9, 6 соответственно, т.е. A[0] = 4, A[1] = 7 и т.д.
Определите значение переменной c после выполнения следующего фрагмента этой программы (записанного ниже на пяти языках программирования).
Бейсик
Visual Basic
123456789
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
Python
1234567
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
Алгоритмический язык
123456789
c := 0 нц для i от 1 до 9 если A[i] < A[0] то c := c + 1 t := A[i] A[i] := A[0] A[0] := t все |
|
|
|
|
|