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

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

 

Бей­сик Python

s = 29

n = 10

FOR i = 0 TO n-1

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

NEXT i

s = 29

n = 10

for i in range(0,n):

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

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

s := 29

n := 10

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

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

кц

s := 29;

n := 10;

for i:=0 to n-1 do begin

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

end;

Си++

s = 29;

n = 10;

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

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

 

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

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

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

Ре­ше­ние.

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


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