почему в ответе получается 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.