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

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

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

n = 10

FOR i = 1 ТО n

    s = A(n + 1 - i) * (n + 1 - i)

    A(n + 1 - i) = A(i) * (n + 1 - i)

    A(i) = s

NEXT i

n : = 10;

for i : = 1 to n do begin

    s : = A[n + 1 - i] * (n + 1 - i);

    A[n + 1 - i] : = A[i] * (n + 1 - i);

    A[i] : = s;

end;

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

n = 10;

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

    s = A[n + 1 - i] * (n + 1 - i);

    A[n + 1 - i] = A[i] * (n + 1 - i);

    A[i] = s;

}

n : = 10

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

    s := A[n+1-i]*(n+1-i)

    A[n+1-i] := A[i]*(n+1-i)

    A[i] := s

кц

Python

n = 10

for i in range(1, n+1):

    s = A[n + 1 - i] * (n + 1 - i);

    A[n + 1 - i] = A[i] * (n + 1 - i);

    A[i] = s;

 

Перед на­ча­лом вы­пол­не­ния фраг­мен­та все эле­мен­ты мас­си­ва равны 1. Ука­жи­те утвер­жде­ние, ко­то­рое будет верно после вы­пол­не­ния ука­зан­но­го фраг­мен­та про­грам­мы при из­ме­не­нии ин­дек­са от 1 до 10.

 

1)  зна­че­ния мас­си­ва по­сто­ян­ны

2)  зна­че­ния мас­си­ва сна­ча­ла воз­рас­та­ют, а потом убы­ва­ют

3)  зна­че­ния мас­си­ва воз­рас­та­ют

4)  зна­че­ния мас­си­ва убы­ва­ют

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

Ре­ше­ние.

Так будет вы­гля­деть мас­сив после вто­ро­го шага:

 

A[10] = 10

A[9] = 9

A[8] = 1

A[7] = 1

A[6] = 1

A[5]= 1

A[4]= 1

A[3] = 1

A[2] = 9

A[1] = 10

 

Видно, что после вы­пол­не­ния по­сле­ду­ю­щих шагов дан­но­го цикла эле­мен­ты мас­си­ва будут рас­по­ло­же­ны сим­мет­рич­но от­но­си­тель­но пя­то­го и ше­сто­го эле­мен­тов (т. е. пятый будет равен ше­сто­му, седь­мой чет­вер­то­му, и. т. д.). По­сколь­ку с ро­стом i зна­че­ние вы­ра­же­ния (n + 1 - i) будет убы­вать, эле­мен­ты мас­си­ва будут воз­рас­тать вплоть до пя­то­го эле­мен­та, а потом нач­нут убы­вать.

 

Сле­до­ва­тель­но, ответ 2.