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

wenefep07126 wenefep07126    3   22.05.2019 09:20    0

Ответы
kamilla195 kamilla195  01.10.2020 06:35

Пошагово:

 

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

 

Всё!

ПОКАЗАТЬ ОТВЕТЫ
VLADWER5 VLADWER5  01.10.2020 06:35

Сначала заданы элементы, потом все элементы с четным индексом обнуляются (через один). Потом мы считаем сумму элементов больших 5 в получившемся массиве.

Это 14 и 12.

 

14+12=26

 

Тебе на экран и выводит 26.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика