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

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

 

Бей­сик Python

s = 27

n = 10

FOR i = 0 TO n-1

    s = s+A(i)-A(i+1)+2

NEXT i

s = 27

n = 10

for i in range(0,n):

    s = s + A[i] - A[i+1]+2

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

s := 27

n := 10

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

    s:=s+A[i]-A[i+1]+2

кц

s := 27;

n := 10;

for i:=0 to n-1 do begin

    s:=s+A[i]-A[i+1]+2

end;

Си++

s = 27;

n = 10;

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

    s=s+A[i]-A[i+1]+2;

}

 

Из­вест­но, что в на­ча­ле вы­пол­не­ния этого фраг­мен­та в мас­си­ве на­хо­ди­лась воз­рас­та­ю­щая по­сле­до­ва­тель­ность чисел, то есть A[0] < A[1] < … < A[10].

Какое наи­боль­шее зна­че­ние может иметь пе­ре­мен­ная s после вы­пол­не­ния дан­ной про­грам­мы?

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

Ре­ше­ние.

При за­вер­ше­нии ра­бо­ты про­грам­мы S = 27 + A[0] − A[n] + 2. Таким об­ра­зом, S тем боль­ше, чем мень­ше раз­ни­ца между A[0] и A[n]. А так как в мас­си­ве пред­став­ле­на воз­рас­та­ю­щая по­сле­до­ва­тель­ность, то эта раз­ни­ца может быть ми­ни­мум 10. Итого мак­си­маль­ное зна­че­ние S = 27 − 10 + 2*10 = 37.


Аналоги к заданию № 9203: 9311 Все