Var s, i: integer; Mas:array[1..10] of integer; Begin Mas[1]:=14; Mas[2]:=10;...

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

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.решение с пояснением


Информатика (20 баллов) | 156 просмотров
Дан 1 ответ
0 голосов

Ответ:

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

(2.2k баллов)