Предмет: Информатика, автор: dad02

В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен фрагмент программы, обрабатывающей данный массив:
s:= 0;
n:= 10;
for i:=0 to n do begin
if і = n-i then s:=s+A[i]+A[i+1];
end;
В начале выполнения этого фрагмента в массиве находились числа 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, т.е. А[0]=0, А[1]=10 и т. д. Чему будет равно значение переменной s после выполнения данной программы?
Максимально подробно , пожалуйста.

Ответы

Автор ответа: Helper211
3

Ответ: 110.

Объяснение:

Максимально подробно.

В начале программы переменная s равна 0, n - 10.

Далее идет цикл "for" от 0 до n, то есть от 0 до 10.

Цикл "for" - последовательность команд, которые программа будет выполнять какое-то количество раз (в данном случае 11 раз:

для "i" равного 0,1,2,3,4,5,6,7,8,9 и 10).

Последовательность команд описывается между словами begin и end:

if і = n-i then s:=s+A[i]+A[i+1];

Рассмотрим подробнее эту строчку. В ней проверяется равенство:

i = n-i

Если это равенство верно, то программа переходит к инструкции, описанной после слова then: s:=s+A[i]+A[i+1];

Если же неверно - программа переходит к следующему значению i.

n - число постоянное и нигде не меняется, оно равно 10, то есть условие выглядит так:

i = 10-i

Когда такое возможно? "i" у нас меняется от 0 до 10 включительно. Посмотрим. Для этого мысленно продумаем весь ход работы программы. В начале i равно 0. Смотрим условие:

0 = 10 - 0

Неверно. 0 не равно 10. Далее программа переходит к следующему i, то есть единице.

i=1: 1 = 10 - 1

Тоже неверно. 1 не равно 9.

i=2: 2 = 10 - 2 Неверно. 2 не равно 8.

i=3: 3 = 10 - 3 Неверно. 3 не равно 7.

i=4: 4 = 10 - 4 Неверно. 4 не равно 6.

i=5: 5 = 10 - 5

Верно. Если это равенство верно, то программа переходит к инструкции, описанной после слова then: s:=s+A[i]+A[i+1];

Здесь к переменной "s", которая изначально равна нулю, прибавляется сама s, то есть 0, и значение элементов массива "A" под индексами i и i+1.

i у нас равно 5.

Следовательно: s=0+A[5]+A[5+1]

Или s=0+A[5]+A[6].

Посмотрим на массив:

(0,10,20,30,40,50,60,70,80,90,100)

A[0]=0, A[1]=10.

Значит пятый элемент равен 50, а шестой - 60.

Следовательно наше выражение:

s=0+A[5]+A[6] = 0 + 50 + 60 = 110.

Но на этом работа программы не закончена.

Цикл будет выполняться до тех пор, пока "i" не станет равно 10.

Идем дальше.

i=6: 6 = 10 - 6 Неверно. 6 не равно 4.

i=7: 7 = 10 - 7 Неверно. 7 не равно 3.

i=8: 8 = 10 - 8 Неверно. 8 не равно 2.

i=9: 9 = 10 - 9 Неверно. 9 не равно 1.

i=10: 10 = 10 - 10 Неверно. 10 не равно 0.

Теперь "i" равно 10, цикл больше выполняться не будет.

Ответ: 110.

Похожие вопросы
Предмет: Русский язык, автор: maksimowa001

Помогите, пожалуйста.

 

Вставьте пропущенные знаки препинания, подчеркните главные члены предложения, определите вид придаточных предложений, постройте схемы.

 

1) Загрузка пошла до того быстро что подводы не поспевали подвозить зерно. 2) Куда река пошла там и русло будет. 3) В то время как я вздремнул взошла луна и бросала сквозь тучи свой холодный и яркий свет. 4) Когда труд удовольствие жизнь хороша. 5) Раз мы начали говорить то лучше договорить все до конца. 6) Налетел порыв ветра с той стороны откуда мы его вовсе не ожидали. 7) Красные лучи ложились огнистым свинцом по речке там где она пряталась под нависшие кусты. 8) На пне где мы сидели я заметил несколько фигур вырубленных топором и похожих на те которые я видел во время последней экскурсии к реке. 9) Настала такая полная тишина что сразу стали слышны все предутренние лесные звуки жадная грызня волков на соседней поляне осторожное тявканье лисиц и первые еще не уверенные удары проснувшегося дятла. 10) Толчок был так быстр и внезапен что Буланин сразу сел на пол.

Предмет: Математика, автор: идиотскиеправила