почему в ответе получается 26? var s,i:integer;mas:array[1..10] of...

0 голосов
86 просмотров

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

Информатика (15 баллов) | 86 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Пошагово:

 

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

 

Всё!

(52.6k баллов)
0 голосов

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

Это 14 и 12.

 

14+12=26

 

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

(7.2k баллов)