Ваш браузер устарел. Рекомендуем обновить его до последней версии.

Меню сайта


Счётчик посещений


 

счетчик посещений

Часы

Календарь

Обратная связь

Поля, помеченные символом *, обязательны для заполнения.

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

Определите значение переменной после выполнения следующего фрагмента программы, записанного ниже на разных языках программирования.

 

Бейсик   Паскаль

c =0

FOR i = 0 TO 8

    IF A(i) < A(i + 1) THEN

        c = c + 1

        t = A(i)

        A(i +1) = t

    ENDIF

NEXT i

c := 0

for i :=0 to 8 do

    if A(i) < A(i +1) then

    begin

        c := c + 1;

        t := A(i);

        A(i) := A(i + 1);

        A(i + 1) := t

    end;

Си Алгоритмический язык

 c = 0;

for (i = 0; 1 <= 8; i + +)

    if (A[i] < A[i + 1])

    {

        c++;

        t = A[i];

        A[i] =A[i + 1];

        A[i + 1] = t;

    }

 c := 0

нц для i от 0 до 8

    если A[i] < A[i + 1] то

        c := c + 1

        t := A[i]

        A[i] := A[i + 1]

        A[i + 1] := t

    все

кц

    Ответ: 6

    Решение:

Исходный массив  

i 0 1 2 3 4 5 6 7 8 9
A( i ) 6 9 7 2 1 5 0 3 4 8

1) A(i) = 6   A(i + 1) = 9

    6 < 9  да

    c = 0 + 1    c =1

    t = A(i) = 6

    A(i) = A(i + 1) = 9

    A(i + 1) = t = 6

i 0 1 2 3 4 5 6 7 8 9
A( i ) 9 6                

 

2) A(i) = 6    A(i + 1) = 7

    6 < 7 да

    c = 1 + 1    c = 2

    t = A(i) = 6

    A(i) = A(i + 1) = 7

    A(i + 1) = t = 6

i 0 1 2 3 4 5 6 7 8 9
A( i ) 9 7 6              

 

3) A(i) = 6    A(i + 1) = 2

    6 < 2 нет

i 0 1 2 3 4 5 6 7 8 9
A( i ) 9 7 6 2            

 

4) A(i) = 2    A(i + 1) = 1

    2 < 1 нет

i 0 1 2 3 4 5 6 7 8 9
A( i ) 9 7 6 2 1          

 

5) A(i) = 1    A(i + 1) = 5

    1 < 5 да

    c = 2 + 1    c = 3

    t = A(i) = 1

    A(i) = A(i + 1) = 5

    A(i + 1) = t = 1

i 0 1 2 3 4 5 6 7 8 9
A( i ) 9 7 6  2 5  1        

 

6) A(i) = 1    A(i + 1) = 0

    1 < 0 нет

i 0 1 2 3 4 5 6 7 8 9
A( i ) 9 7 6  2 5  1 0      

 

7) A(i) = 0    A(i + 1) = 3

    0 < 3 да

    c = 3 + 1    c = 4

    t = A(i) = 0

    A(i) = A(i + 1) = 3

    A(i + 1) = t = 0

i 0 1 2 3 4 5 6 7 8 9
A( i ) 9 7 6  2 5  1  3 0    

 

8) A(i) = 0    A(i + 1) = 4

    0 < 4 да

    c = 4 + 1    c = 5

    t = A(i) = 0

    A(i) = A(i + 1) = 4

    A(i + 1) = t = 0

i 0 1 2 3 4 5 6 7 8 9
A( i ) 9 7 6  2 5  1  3 4 0  

 

9) A(i) = 0    A(i + 1) = 8

    0 < 8 да

    c = 5 + 1    c = 6

    t = A(i) = 0

    A(i) = A(i + 1) = 8

    A(i + 1) = t = 0

i 0 1 2 3 4 5 6 7 8 9
A( i ) 9 7 6  2 5  1  3 4 8 0

 

 Итак, в цикле сравниваются пары элементов. В том случае, если предшествующий элемент меньше последующего, значение переменной сувеличивается на единицу, а элементы меняются местами. В процессе выполнения программы, поменялись местами элементы 6 и 9, 6 и 7, 1 и 5, 0 и 3, 0 и 4, 0 и 8. Значение с = 6.

 

НАЗАД