pascal
Объяснение:
1)
const n = 20;
var i, s: integer;
a: array[1..n] of integer;
begin
randomize;
for i := 1 to n do
begin
a[i] := random(31) - 15;
Write(a[i], ' ');
if a[i] > 9 then s := s + a[i];
end;
WriteLn;
WriteLn('Сумма элементов, больших 9, равна ', s);
end.
2)
const n = 20;
var i, s: integer;
a: array[1..n] of integer;
begin
randomize;
for i := 1 to n do
begin
a[i] := random(31) - 15;
Write(a[i], ' ');
if a[i] mod 2 = 0 then s := s + a[i];
end;
WriteLn;
WriteLn('Сумма четных элементов равна ', s);
end.
Число 113: для него прямой, обратный и дополнительный коды совпадают, так как оно положительное.
113(10)=01110001(2)
Число (-36):
Прямой код: 36(10)=00100100(2)
Обратный код (код, в котором меняем 0 на 1, а 1 на 0 в прямом коде):
-36(10) - обратный код 11011011(2)
Дополнительный код (к младшему разряду обратного кода прибавляем 1):
-36(10) - дополнительный код 11011100(2) - это число -36 в доп.коде
Сложим 113+(-36) в двоичных кодах:
01110001(2)+11011100(2)=1 0100 1101(2). Старшую единицу отбрасываем, получаем:
01001101(2)=77(10)
Проверим: 113-36=77 в десятичной с/с