Program n1; const n=100; var a,b,c: array [1..n] of integer; i,kp,ko: integer; begin randomize; kp:=0; ko:=0; writeln('исходный массив: '); for i:=1 to n do begin a[i]:=random(201)-100; write(a[i],' '); end; writeln; for i:=1 to n do if a[i]>0 then kp:=kp+1 else if a[i]<0 then ko:=ko+1; writeln('кол-во положительных: ',kp); writeln('кол-во отрицательных: ',ko); for i:=1 to n do begin if a[i]>0 then b[i]:=a[i] else if a[i]<0 then c[i]:=a[i]; end; writeln('массив пол. значений: '); for i:=1 to n do if b[i]<>0 then write(b[i],' '); writeln; writeln('массив отр. значений: '); for i:=1 to n do if c[i]<>0 then write(c[i],' '); end.
1) Переводим 1100111112 в десятичную систему:
1100111112 = 1·28+1·27+0·26+0·25+1·24+1·23+1·22+1·21+1·1 = 41510
2)Переводим целую часть 29710 в 2-ую систему последовательным делением на 2:
297/2 = 148, остаток: 1
148/2 = 74, остаток: 0
74/2 = 37, остаток: 0
37/2 = 18, остаток: 1
18/2 = 9, остаток: 0
9/2 = 4, остаток: 1
4/2 = 2, остаток: 0
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
29710 = 1001010012
3)Переводим 4758 в десятичную систему:
4758 = 4·82+7·81+5·1 = 31710
Переводим целую часть 31710 в 2-ую систему последовательным делением на 2:
317/2 = 158, остаток: 1
158/2 = 79, остаток: 0
79/2 = 39, остаток: 1
39/2 = 19, остаток: 1
19/2 = 9, остаток: 1
9/2 = 4, остаток: 1
4/2 = 2, остаток: 0
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
31710 = 1001111012
4)Окончательный ответ: 11101(2) + 110011(2) = 1010000(2)
5)Окончательный ответ: 100110011(2) * 1001101(2) = 101110001010111(2)
6)Окончательный ответ: 1111011(2) - 111011(2) = 1000000(2)
const n=100;
var a,b,c: array [1..n] of integer;
i,kp,ko: integer;
begin
randomize;
kp:=0;
ko:=0;
writeln('исходный массив: ');
for i:=1 to n do
begin
a[i]:=random(201)-100;
write(a[i],' ');
end;
writeln;
for i:=1 to n do if a[i]>0 then kp:=kp+1 else if a[i]<0 then ko:=ko+1;
writeln('кол-во положительных: ',kp);
writeln('кол-во отрицательных: ',ko);
for i:=1 to n do
begin
if a[i]>0 then b[i]:=a[i] else if a[i]<0 then c[i]:=a[i];
end;
writeln('массив пол. значений: ');
for i:=1 to n do if b[i]<>0 then write(b[i],' ');
writeln;
writeln('массив отр. значений: ');
for i:=1 to n do if c[i]<>0 then write(c[i],' ');
end.