Const m=5; n=8; var b:array[1..m,1..n] of integer; i,j,ko,sp:integer; begin Randomize; ko:=0; sp:=0; for i:=1 to m do for j:=1 to n do begin b[i,j]:=Random(51)-20; if b[i,j]>0 then sP:=sp+b[i,j] else if b[i,j]<0 then Inc(ko) end; Writeln('Сумма положительных элементов равна ',sp); Writeln('Количество отрицательных элементов равно ',ko); Writeln('Исходный массив'); for i:=1 to m do begin for j:=1 to n do Write(b[i,j]:4); Writeln end end.
Пример работы программы Сумма положительных элементов равна 382 Количество отрицательных элементов равно 13 Исходный массив -6 13 10 2 -14 14 28 28 5 7 26 -8 26 24 7 27 15 -9 -13 28 4 12 9 -12 -2 -9 20 10 -16 8 -10 2 30 -10 -9 -10 2 2 0 23
То есть, целое число может занимать, например, один байт, два или четыре байта. Число, которое занимает 1 байт( 8 бит ), может принимать значения от нуля то 255, то есть 2^8 = 256 чисел (до 255, потому что ноль - тоже число). Если прибавить к однобайтному числу 256, в нём сохранится 0 (каждый раз, когда происходит выход за границу диапазона - счёт начинается с нуля). То есть, и если прибавить 513, в числе сохраница единица. Если число занимает 2 байта, его диапазон 2^16 = 32767. Четыре байта - диапазон [0..4294967295].
2. Точностью хранимых в нём чисел (количество значащих разрядов), и диапазоном.
То есть, например, переменная вещественного типа может занимать в памяти 4 байта, и при этом в нём может храниться число 1.23 * 10^35. То есть в 4-х байтах целого типа можно хранить числа не больше 4294967295, а в 4-х байтах вещественного типа - в несколько десятков раз больше. Это возможно потому, что хранится не всё число, в только первые несколько значащих цифр. В 4-байтной вещественной переменной могут храниться числа [-3.4∙10³⁸ .. 3.4∙10³⁸], при этом количество значащих разрядов в нём всего 7-8(часть бит из этих 4 байт отводится для хранения степени 10).
m=5;
n=8;
var
b:array[1..m,1..n] of integer;
i,j,ko,sp:integer;
begin
Randomize;
ko:=0; sp:=0;
for i:=1 to m do
for j:=1 to n do begin
b[i,j]:=Random(51)-20;
if b[i,j]>0 then sP:=sp+b[i,j]
else
if b[i,j]<0 then Inc(ko)
end;
Writeln('Сумма положительных элементов равна ',sp);
Writeln('Количество отрицательных элементов равно ',ko);
Writeln('Исходный массив');
for i:=1 to m do begin
for j:=1 to n do Write(b[i,j]:4);
Writeln
end
end.
Пример работы программы
Сумма положительных элементов равна 382
Количество отрицательных элементов равно 13
Исходный массив
-6 13 10 2 -14 14 28 28
5 7 26 -8 26 24 7 27
15 -9 -13 28 4 12 9 -12
-2 -9 20 10 -16 8 -10 2
30 -10 -9 -10 2 2 0 23