/ Материалы / Информатика и ИКТ / В программе используется одномерный целочисленный..

В программе используется одномерный целочисленный..

Задание:

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


c := 0;
for i := 1 to 9 do
  if A[i-1] >= A[i] then begin
    t:= A[i];
    A[i]:= A[i - 1];
    A[i-1]:= t
  end
  else
    c:= c + 1;  
 

Ответ: 4

Решение:

* Разберем задачу по циклам:
* Заметим, что переменная C изменяется в противном случае от условия, то есть нам нужно, чтобы условие не выполнялось.
 
Цикл 1:

A[0] >= A[1], 5 > = 1, да, условие выполняется, меняем значения A[0] на A[1] и наоборот. => A[1] = 5

Цикл 2:

A[1] >= A[2], 5 >= 6, нет, условие не выполняется, c = c + 1 = 0 + 1 = 1, значения остаются прежними.

Цикл 3:

A[2] >= A[3], 6 >= 7, нет, условие не выполняется, c = c + 1 = 1 + 1 = 2, значения остаются прежними.

Цикл 4:

A[3] >= A[4], 7 >= 8, нет, условие не выполняется, c = c + 1 = 2 + 1 = 3, значения остаются прежними.

Цикл 5:

A[4] >= A[5], 8 >= 8, да, условие выполняется, меняем значения A[4] на A[5] и наоборот. => A[5] = 8

Цикл 6:

A[5] >= A[6], 8 >= 7, да, условие выполняется, меняем значения A[5] на A[6] и наоборот. => A[6] = 7

Цикл 7;

A[6] >= A[7], 7 >= 7, да, условие выполняется, меняем значения A[6] на A[7] и наоборот. => A[7] = 7

Цикл 8:

A[7] >= A[8], 7 >= 6, да, условие выполняется, меняем значения A[7] на A[8] и наоборот. => A[8] = 7

Цикл 9 - последний:

A[8] >= A[9], 7 >= 9, нет, условие не выполняется, c = c + 1 = 3 + 1 = 4


Похожие материалы

Поделитесь в социальных сетях

Наверх