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]:=-Mas[2*i-1];
for i:=1 to 10 do
if Mas[i]>0 then s:=s+Mas[1];
write(s)
End.
решение с пояснением
Answers & Comments
Ответ:
70
Объяснение:
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
для i от 1 до 5 выполнить Mas[2*i] = -Mas[2*i-1], т.е. меняем значения чётных элементов на противоположные значения предыдущих нечётных элементов (просто подставляем значения в формулу)
i = 1 Mas[2*1] = -Mas[2*1-1] Mas[2] = -Mas[1] Mas[2] = -(14) = -14
i = 2 Mas[2*2] = -Mas[2*2-1] Mas[4] = -Mas[3] Mas[4] = -(-8) = 8
i = 3 Mas[2*3] = -Mas[2*3-1] Mas[6] = -Mas[5] Mas[6] = -(12) = -12
i = 4 Mas[2*4] = -Mas[2*4-1] Mas[8] = -Mas[7] Mas[8] = -(-16) = 16
i = 5 Mas[2*5] = -Mas[2*5-1] Mas[10] = -Mas[9] Mas[10] = -(5) = -5
Mas[1]:=14 Mas[2]:=-14 Mas[3]:=-8 Mas[4]:=8 Mas[5]:=12
Mas[6]:=-12 Mas[7]:=-16 Mas[8]:=16 Mas[9]:=5 Mas[10]:=-5
s = 0
для i от 1 до 10 выполнить если Mas[i]>0 то s = s + Mas[1], т.е. если элемент больше 0, то увеличиваем сумму на значение 1-го элемента
Элементов больше 0 - 5 штук (1, 4, 5,8, 9 - их номера)
s = 0 (первоначальное значение s) + 5 (количество элементов больше 0) * 14 (значение 1-го элемента) = 70