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

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

|-------------------------|---------------------|-------------------------| |C++----------------------|-Python--------------|Pascal-------------------| |s = 0;                   | s = 0               |s := 0;                  | |for(i = 0; i < 9; i + + ) { for i in range (9):  |for i = 0 to 8 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  = {6,2,1,− 2,5, 0,− 1, 3,7,4} ; s = 0

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

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

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

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

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

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

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

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

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

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

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