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

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

|--------------------------|--------------------|---------------------| |C++-----------------------|-Python-------------|Pascal---------------| |c = 0;                    | c = 0              |c :=  0;              | |for(i = 0; i < 10; i + + ) { for i in range (10 ):|for i = 0 to 9 do    | |  if (A [i] < A [0]) {      |   if A [i] < A[0] :  |  if A [i] < A [0 ] then |                          |                    |                     | |    c + +;                |     c = c + 1      |     begin            | |    t = A [i];             |     t = A[i]       |       c := c + 1;   | |    A [i] = A [0];          |     A [i] = A[0]    |       t := A [i];    | |    A [0] = t;}           |     A [0] = t       |       A[i] := A [0]; | |  }                       |                    |       A[0] := t;    | |                          |                    |                     | ------------------------------------------------------end;-------------

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

1 < 4  , значит, увеличиваем   и меняем элементы местами: A  = {0;4;3;5; 2;− 2; − 1;− 3;6; 1} ; c = 1

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

Следующий элемент, меньше A[0] — A[6]. Значит, когда цикл проверит элемент A[6], значение c  увеличится и элементы поменяются местами: A =  {− 2;4;3;5;2;0;− 1;− 3;6;1 } ; c = 2

Дальше проверяем A[8], т.к. (− 3) < (− 2)  : A  = {− 3;4;3;5; 2;0;− 1;− 2;6;1} ; c = 3

Заметим, что дальше нет элементов меньших, чем A[0], значит, c = 3  .

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