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

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

 

Бей­сикPython

 

FOR i = 0 TO 10

    A(i) = 2 + i

NEXT i

FOR i = 0 TO 4

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

    A(10-i) = A(i) + 3

NEXT i

 

 

for i in range(0, 11):

    A[i] = 2 + i

for i in range(0, 5):

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

    A[10-i] = A[i] + 3

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

 

for i : = 0 to 10

    do A[i] : = 2 + i;

for i : = 0 to 4 do begin

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

    A[10-i]:= A[i]+3;

end;

 

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

    A[i] : = 2 + i

кц

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

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

    A[10-i]:=A[i]+3

кц

 

Си++

 

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

    A[i] = 2 + i;

}

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

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

    A[10-i] = A[i]+3;

}

 

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

 

1)  11 10 9 8 7 5 6 7 8 9

2)  11 10 9 8 7 7 5 6 7 8 9

3)  11 10 9 8 7 7 10 11 12 13 14

4)  11 10 9 8 7 10 11 12 13 14

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

Ре­ше­ние.

За­да­ем мас­сив A[i]:=2 + i: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12.

 

Ме­ня­ем мас­сив, идя от краев в центр, левый ме­ня­ем на пра­вый с вы­че­том 1, а потом пра­вый на из­ме­нен­ный левый плюс 3:

 

A[i]:= A[10-i] - 1: 12 - 1, 11 - 1, 10 - 1, 9 - 1, 8 - 1 = 11, 10, 9, 8, 7 - пер­вые пять ячеек.

 

A[10 - i]:= A[i] + 3 = A[10-i] - 1 + 3 = A[10-i] + 2: 12 + 2, 11 + 2, 10 + 2, 9 + 2, 8 + 2 = 14, 13, 12, 11, 10 - вто­рые пять ячеек в об­рат­ном по­ряд­ке (с но­ме­ра 10 до но­ме­ра 6).

 

Эле­мент A[5] остал­ся не­из­мен­ным: A[5] = 7.

 

В итоге: 11 10 9 8 7 7 10 11 12 13 14.

 

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