В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже...

0 голосов
42 просмотров

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

s : = 0;
n := 10;
for i := 0 to n - 1 do begin
s := s + 2*A[i] +A[i+1]
end;

В начале выполнения этого фрагмента в массиве находились двухзначные нечётные натуральные числа. Какое наименьшее (и наибольшее тоже расскажите, пожалуйста) значение может иметь переменная s после выполнения данной программы? подробно без умножения на 2 могу разобрать, а с этим умножением никак. Помогите!!!!


Информатика (15 баллов) | 42 просмотров
0

т.е получается что программа увеличивает значение первого элемента ровно в 2 раза и прибавляет значение следующего элемента, а как посчитать S min and max?

Дан 1 ответ
0 голосов
Правильный ответ
i=0; \ s=2a_0+a_1 \\ i=1; \ s=(2a_0+a_1)+2a_1+a_2=2a_0+3a_1+a_2 \\ i=2; \ s=(2a_0+3a_1+a_2)+2a_2+a_3= \\ =2a_0+3(a_1+a_2)+a_3 \\ ... \\ i=9; \ s=2a_0+3(a_1+a_2+...+a_9)+a_{10}

Если массив заполнялся нечетными двухзначными числами, минимальное из них равно 11, максимальное - 99.
Тогда минимальное s получится, если все элементы массива будут равны 11 и оно составит:
s=2a_0+3(a_1+a_2+...+a_9)+a_{10}= \\ 2\cdot11+3(11+11+...11)+11=3\cdot11\cdot10=30\cdot11=330
Рассуждая аналогично, находим максимально возможное значение:
s=30\cdot99=2970

Ответ: 330, 2970
(142k баллов)