Задача к ЕГЭ по информатике на тему «перемена мест элементов массива» №1

В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 7; 3; 2; -1; 6; 1; 0; 4; 8; 5 соответственно, т.е. A[0] = 7; A[1] = 3 и т.д. Определите значение переменной c после выполнения следующего фрагмента программы, записанного ниже на разных языках программирования.

|---------------------------|---------------------|-------------------------| |C++------------------------|Python---------------|Pascal-------------------| |s = 0;                     |s = 0                |s := 0;                  | |for(i = 0; i <= 9; i + + ) {|for i in range (10):|for i = 0 to 9 do         | |  if (A [i] > A [i + 1]) {    |   if A[i] > A [i + 1] :  if A[i] > A [i + 1] then| |                           |                     |                         | |     s = s + 1;            |     s = s + 1       |     begin               | |     t = A [i];             |     t = A[i]        |       s = s + 1;        | |     A[i] = A [i + 1];     |     A [i] = A[i + 1] |       t := A [i];        | |     A[i + 1 ] = t;}       |     A [i + 1] = t    |       A [i] := A [i + 1];| |  }                        |                     |       A [i + 1] := t;    | |                           |                     |                         | ———————————————————end;—————-|  » class=»math-display» width=»auto»></center>                                                                                                                                                                                                                                                                                                                       </div>
<p><button class=Показать ответ

Первый способ решения

С помощью цикла сравниваются текущее значение элемента A [i]  и со следующим элементом A [i + 1]  . Если A [i] > A [i + 1]  » class=»math» width=»auto»>, то значение переменной <img decoding= увеличивается на 1, а элементы массива меняются местами. Пошагово распишем работу программы: A  = {7,3,2, − 1,6, 1,0,4,8,5} ; s = 0

7 > 3  » class=»math» width=»auto»>, значит, увеличиваем <img decoding= и меняем элементы местами: A  = {3,7, 2,− 1, 6,1,0,4,8,5} ; s = 1

7 > 2  » class=»math» width=»auto»>, значит, увеличиваем <img decoding= и меняем элементы местами: A  = {3,2, 7,− 1, 6,1,0,4,8,5} ; s = 2

7 > (− 1 )  » class=»math» width=»auto»>, значит, увеличиваем <img decoding= и меняем элементы местами: A = {3, 2,− 1,7,6,1,0,4,8,5 } ; s = 3

7 > 6  » class=»math» width=»auto»>, значит, увеличиваем <img decoding= и меняем элементы местами: A  = {3,2, − 1,6, 7,1,0,4,8,5} ; s = 4

7 > 1  » class=»math» width=»auto»>, значит, увеличиваем <img decoding= и меняем элементы местами: A  = {3,2, − 1,6, 1,7,0,4,8,5} ; s = 5

7 > 0  » class=»math» width=»auto»>, значит, увеличиваем <img decoding= и меняем элементы местами: A  = {3,2, − 1,6, 1,0,7,4,8,5} ; s = 6

7 > 4  » class=»math» width=»auto»>, значит, увеличиваем <img decoding= и меняем элементы местами: A  = {3,2, − 1,6, 1,0,4,7,8,5} ; s = 7

7 < 8  , не увеличиваем значение s  , массив остается без изменений. Рассмотрим последнюю пару: 8 > 5  » class=»math» width=»auto»>, увеличиваем <img decoding=, получаем ответ s = 8  .

Второй способ решения

Можем заметить, что 7 — самое старшее значение в массиве до предпоследнего элемента. Значит, до A [8]  каждый раз будет увеличиваться значение s  и элементы будут меняться местами. От A [0 ]  до A [7]  находится 7 пар, каждая даст +1 к значению s  , таким образом получаем, что на предпоследнем шаге решение будет выглядеть: A = {3, 2,− 1, 6,1,0,4,7,8,5} ; s = 7  . Т.к. 7 < 8  , не увеличиваем значение s  , массив остается без изменений. Рассмотрим последнюю пару: 8 > 5  » class=»math» width=»auto»>, увеличиваем <img decoding=, получаем ответ s = 8  .

Ответ: 8
Оцените статью
Я решу все!