Лучшие помощники
16 марта 2023 12:52
241

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

s:= 5;

n:= 10;

for i:=0 to n do begin

 if A[n-i]-A[і] < A[і] then

   s:=s+A[і];

end;

В начале выполнения этого фрагмента в массиве находились числа 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, т. е. А[0]=0, А[1]=2 и т. д. Чему будет равно значение переменной s после выполнения данной программы?

1 ответ
Посмотреть ответы
Значение переменной s после выполнения программы будет равно 50.

Объяснение:

Первоначально переменная s равна 5. Затем в цикле происходит обход массива с индексами от 0 до 10.

На каждой итерации вычисляется разность между элементами массива A[n-i] и A[i]. Например, на первой итерации i=0, поэтому вычисляется A[10]-A[0]=20. Затем эта разность сравнивается с элементом массива A[i]. Если разность меньше элемента, то к переменной s прибавляется значение элемента A[i].

В данном случае условие выполняется для всех i от 0 до 4 (так как при i=5 разность будет равна 0, а при i>5 разность будет отрицательной). Значит, к переменной s будет прибавлено 2+6+10+14+18=50.

Итого, значение переменной s после выполнения программы будет равно 50.
1
·
Хороший ответ
16 марта 2023 12:56
Остались вопросы?
Найти нужный