Задания
Версия для печати и копирования в MS Word
Тип Д16 № 3362
i

В про­грам­ме опи­сан од­но­мер­ный це­ло­чис­лен­ный мас­сив с ин­дек­са­ми от 0 до 10 и це­ло­чис­лен­ные пе­ре­мен­ные k, i. В при­ве­ден­ном ниже фраг­мен­те про­грам­мы мас­сив сна­ча­ла за­пол­ня­ет­ся, а потом из­ме­ня­ет­ся:

 

Бей­сикPython

FOR i = 0 TO 10

    A(i) = i

NEXT i

FOR i = 0 TO 4

    k = A(2*i)

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

    A(2*i+1) = k

NEXT i

 

for i in range(0, 11):

    A[i] = i

for i in range(0, 5):

    k = A[2*i]

    A[2*i] = A[2*i+1]

    A[2*i+1] = k

Пас­кальАл­го­рит­ми­че­ский язык

for i : = 0 to 10 do A[i] : = i;

for i : = 0 to 4 do begin

    k : = A[2*i];

    A[2*i] : = A[2*i+1];

    A[2*i+1] : = k;

end;

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

    A[i] : = i

кц

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

    k : = A[2*i];

        A[2*i] : = A[2*i+1];

        A[2*i+1] : = k;

кц

 

Си++

 

for (i = 0; i <= 10; i++) {

    A[i] = i;

}

for (i = 0; i <= 4; i++) {

    k = A[2*i];

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

    A[2*i+1] = k;

}

 

Чему будут равны эле­мен­ты этого мас­си­ва?

 

1)  5 6 7 8 9 0 1 2 3 4 10

2)  10 9 8 7 6 5 4 3 2 1 0

3)  0 1 2 3 4 5 4 3 2 1 0

4)  1 0 3 2 5 4 7 6 9 8 10

Спрятать решение

Ре­ше­ние.

Пер­вый цикл, за­пол­ня­ем мас­сив:

i=0: a[0]=0,

i=1: a[1]=1,

i=2: a[2]=2,

...

i=10: a[10]=10.

 

Вто­рой цикл, ме­ня­ем зна­че­ния эле­мен­тов a[2*i] и a[2*i+1] ме­ста­ми:

i=0: a[0]=a[1]=1 и a[1]=a[0]=0,

i=1: a[2]=a[3]=3 и a[3]=a[2]=2,

...

i=4: a[8]=a[9]=9 и a[9]=a[8]=8.

 

По­это­му в ре­зуль­та­те вы­пол­не­ния про­грам­мы эле­мен­ты мас­си­ва будут равны: 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 10.

 

Пра­виль­ный ответ ука­зан под но­ме­ром 4.