В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
jillikati
jillikati
27.02.2020 12:34 •  Информатика

Ниже представлен фрагмент программы, обрабатывающей одномерный целочисленный массив с индексами от 0 до 10. При этом в начале выполнения этого фрагмента в массиве находилась возрастающая последовательность чисел, то есть A[0] \ \textless \ A[1] \ \textless \ \dots \ \textless \ A[10]. Какое наибольшее значение может иметь переменная s после выполнения данной программы? s := 27;
n := 10;
for i:=0 to n-1 do begin
s:= s + A[i] - A[i+1] + 2
end;

Показать ответ
Ответ:

37

Объяснение:

В массиве n + 1 элемент (n = 10),

цикл выполняется n раз

В цикле переменная s увеличивается на A[i] - A[i+1] + 2

Прибавка на 2 даст суммарную прибавку 20, а вот прибавка элементов получится такая, все элементы кроме первого и последнего сложатся сначала со знаком "-", потом "+", и они будут равны 0, останется только A[0] - A[n]

Поскольку массив - возрастает, то эта прибавка - отрицательная, нам нужно сделать её как можно больше.

Для этого нужно, чтобы элементы массива отличались на 1,

например, 0, 1, 2, 3, ..., n

Тогда A[0] - A[n] = -n, т.е. -10

27 + 20 - 10 = 37

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота