Шешімі: Подсчёт обменов в массиве
В программе используется одномерный целочисленный массив $A$ с индексами от 0 до 9. Значения элементов равны 8, 3, 4, 0, 7, 1, 2, 5, 9, 6 соответственно, то есть $A[0] = 8$, $A[1] = 3$ и так далее. Определите значение переменной $s$ после выполнения фрагмента программы на любом из приведённых языков программирования.
1s = 0 2for j in range(9): 3 if A[j] < A[j+1]: 4 s = s + 1 5 t = A[j] 6 A[j] = A[j+1] 7 A[j+1] = t
Шешім по шагам
3 қадамПоследовательно сравниваем соседние элементы массива и учитываем только случаи, когда левый элемент меньше правого.
$$A[1] < A[2],\ A[3] < A[4],\ A[4] < A[5],\ A[5] < A[6],\ A[6] < A[7],\ A[7] < A[8],\ A[8] < A[9]$$После каждого такого сравнения элементы меняются местами, поэтому следующие сравнения нужно выполнять уже с изменённым массивом. Условие выполняется 7 раз.
Следовательно, переменная $s$ увеличивается с нуля до семи.
$$s = 7$$Где здесь ошибаются
Считать сравнения в исходном массиве, не учитывая обмены элементов.
Учитывать случаи, когда левый элемент больше правого.
Забыть, что цикл выполняется для $j$ от 0 до 8 включительно.