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

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

 

Бей­сикPython

 

FOR i = 0 TO 10

    A(i) = 2*i

NEXT i

FOR i = 0 TO 4

    A(10-i) = A(i) - 1;

    A(i) = A(10-i) - 1;

NEXT i

 

 

for i in range(0, 11):

    A[i] = 2*i

for i in range(0, 5):

    A[10-i] = A[i] - 1

    A[i] = A[10-i] - 1

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

 

for i : = 0 to 10

    do A[i] : = 2*i;

for i : = 0 to 4 do begin

    A[10-i]:= A[i] - 1;

    A[i] : = A[10-i]-1;

end;

 

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

    A[i] : = 2*i

кц

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

    A[10-i]:= A[i] - 1

    A[i]:= A[10-i] - 1

кц

 

Си++

 

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

    A[i] = 2*i;

}

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

    A[10-i] = A[i] - 1;

    A[i] = A[10-i] - 1;

}

 

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

 

1)  0 2 4 6 8 10 12 14 16 18 20

2)  19 17 15 13 11 10 -1 1 3 5 7

3)  -2 0 2 4 6 10 7 5 3 1 -1

4)  -1 1 3 5 7 9 11 13 15 17 19

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

Ре­ше­ние.

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

i=0: a[0]=0,

i=1: a[1]=2,

i=2: a[2]=4,

...

i=10: a[10]=20.

 

Вто­рой цикл, ме­ня­ем эле­мен­ты масс­си­ва, причём за­ме­тим, что эле­мент a[10-i] задаётся через ис­ход­ные эле­мен­ты, а эле­мент а[i] задаётся через уже изменённый эле­мент a[10-i].

 

i=0:

a[10] = a[0] - 1 = -1,

a[0] = a[10] - 1 = -2.

i=1:

a[9] = a[1] - 1 = 1,

a[1] = a[9] - 1 = 0,

...

i=4:

a[6] = a[4] - 1 = 7

a[4] = a[6] - 1 = 6.

При за­пол­не­нии этого мас­си­ва мы ис­поль­зо­ва­ли уже из­ме­нив­ши­е­ся эле­мен­ты

 

 

В итоге по­лу­ча­ем сле­ду­ю­щие эле­мен­ты: -2, 0, 2, 4, 6, 10, 7, 5, 3, 1, -1.

 

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