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

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

 

Бей­сикPython

FOR i = 0 TO 10

    A(i) = i

    t = A(0)

NEXT i

FOR i = 1 TO 10

    A(i-1) = A(i)

NEXT i

A(10) = t

 

for i in range(0, 11):

    A[i] = i

    t = A[0]

for i in range(1, 11):

    A[i-1] = A[i]

A[10] = t

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

for i : = 0 to 10

    do A[i] : = i;

    t : = A[0];

for i : = 1 to 10 do begin

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

end;

A[10] : = t;

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

    A[i] : = i

    t : = A[0]

кц

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

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

кц

A[10] : = t;

 

Си++

 

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

    A[i] = i;

    t = A[0];

}

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

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

}

A[10] = t;

 

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

 

1)  10 10 10 10 10 10 10 10 10 10

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

3)  0 0 0 0 0 0 0 0 0 0

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

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

Ре­ше­ние.

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

i=0: a[0]=0,

i=1: a[1]=1,

i=2: a[2]=2,

...

i=10: a[10]=10.

 

При­сва­и­ва­ем пе­ре­мен­ной t зна­че­ние 0.

 

Вто­рой цикл, сдви­га­ем все эле­мен­ты влево, а эле­мен­ту a[10] при­сва­и­ва­ем зна­че­ние t, ко­то­рое не ме­ня­лось в ходе цикла: a[10] = 0:

 

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

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

...

i=10: a[9]=a[10]=10,

 

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

 

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