Почему в ответе получается 26? var s,i: integer; mas: array[1..10] of integer; begin mas[1]: =14; mas[2]: =10; mas[3]: =-8; mas[4]: =6 ; mas[5]: =12; mas[6]: =4 ; mas[7]: =-16 ; mas[8]: =-7 ; mas[9]: =5; mas[10]: =3; s: =0; for i: =1 to 5 do mas[2*i]: =0; for i: =1 to 10 do if mas[i]> 5 then s: =s+mas[i]; write(s); end.
Пошагово:
1) Строки
mas[1]:=14;
. . .
mas[10]:=3;
задают значения элементов массива.
Массив имеет вид:
14 10 -8 6 12 4 -16 -7 5 3
2) переменная s:=0;
3) цикл
for i:=1 to 5 do
mas[2*i]:=0;
все элементы, стоящие на чётных местах, обнуляются.
Массив имеет вид:
14 0 -8 0 12 0 -16 0 5 0
4) цикл
for i:=1 to 10 do
if mas[i]>5 then s:=s+mas[i];
просматриваем массив, и если элемент больше 5, добавляем его в сумму s:
добавится сначала 1-й элемент (так как 14>5), сумма станет 0+14=14
а потом 5-й (12>5), сумма станет 14+12 = 26
5)write(s);
напечатает 26, то есть значание s
Всё!
Сначала заданы элементы, потом все элементы с четным индексом обнуляются (через один). Потом мы считаем сумму элементов больших 5 в получившемся массиве.
Это 14 и 12.
14+12=26
Тебе на экран и выводит 26.