1. Как я понял, нужно перевести 297(10) в ...(2),...(8) и ...(16). Тогда: - 10-ная : 297; - 2-ная : 100101001; - 8-ная : 451; - 16-ная : 129.
2.Как я понял нужно показать как перевести 100101001(2-ная) в 8-ная через триады. Тогда : 100 101 001 1) 100 = 2^2 = 4; 2) 101 = 2^2 + 2^0 = 4 + 1 = 5; 3) 001 = 2^0 = 1; Тогда 100101001 (2-ная) = 451(8-ная).
3. 16 = 2^4 = 10000(2-ная); 32 = 2^5 = 100000(2-ная); 64 = 2^6 = 1000000(2-ная); 128 = 2^7 = 10000000(2-ная). Выведем правило : Если мы переводим в двоичную СС числа, являющиеся степенями двойки, то мы ставим везде ноли, но единицу ставим в том разряде двоичного числа, в который мы возвели двойку, чтобы получить 8;16 и т.п(32 - это 5-ая степень двойки, следовательно мы ставим единицу на 5-ый разряд, а в другие разряды ставим нули : 100000(1 на 5 разряде).
procedure MatrA(var a: mass); var i, j: integer; begin for i := 1 to n do for j := 1 to m do begin writeln('a[', i, ',', j, ']: '); readln(a[i, j]) end end;
procedure MatrB(var b: mass); var i, j: integer; begin for i := 1 to n1 do for j := 1 to m1 do begin writeln('b[', i, ',', j, ']: '); readln(b[i, j]) end end;
procedure Sum(a, b: mass; var c: mass); var i, j: integer; begin for i := 1 to n do for j := 1 to m do c[i, j] := a[i, j] + b[i, j]; end;
begin writeln('Введите n,m матрицы A'); readln(n, m); MatrA(a); writeln('Введите n,m матрицы B'); readln(n1, m1); MatrB(b); if (n1 <> n) and (m1 <> m) then writeln('Матрицы сложить нельзя') else begin Sum(a, b, c); writeln('A+B'); for i := 1 to n do begin for j := 1 to m do write(c[i, j]:1:3, ' '); writeln end end; readln; end.
Тогда:
- 10-ная : 297;
- 2-ная : 100101001;
- 8-ная : 451;
- 16-ная : 129.
2.Как я понял нужно показать как перевести 100101001(2-ная) в 8-ная через триады.
Тогда :
100 101 001
1) 100 = 2^2 = 4;
2) 101 = 2^2 + 2^0 = 4 + 1 = 5;
3) 001 = 2^0 = 1;
Тогда 100101001 (2-ная) = 451(8-ная).
3. 16 = 2^4 = 10000(2-ная);
32 = 2^5 = 100000(2-ная);
64 = 2^6 = 1000000(2-ная);
128 = 2^7 = 10000000(2-ная).
Выведем правило : Если мы переводим в двоичную СС числа, являющиеся степенями двойки, то мы ставим везде ноли, но единицу ставим в том разряде двоичного числа, в который мы возвели двойку, чтобы получить 8;16 и т.п(32 - это 5-ая степень двойки, следовательно мы ставим единицу на 5-ый разряд, а в другие разряды ставим нули : 100000(1 на 5 разряде).
mass = array[1..10, 1..10] of real;
var
a, b, c: mass;
n, m, i, j, n1, m1: integer;
procedure MatrA(var a: mass);
var
i, j: integer;
begin
for i := 1 to n do
for j := 1 to m do
begin
writeln('a[', i, ',', j, ']: ');
readln(a[i, j])
end
end;
procedure MatrB(var b: mass);
var
i, j: integer;
begin
for i := 1 to n1 do
for j := 1 to m1 do
begin
writeln('b[', i, ',', j, ']: ');
readln(b[i, j])
end
end;
procedure Sum(a, b: mass; var c: mass);
var
i, j: integer;
begin
for i := 1 to n do
for j := 1 to m do
c[i, j] := a[i, j] + b[i, j];
end;
begin
writeln('Введите n,m матрицы A');
readln(n, m);
MatrA(a);
writeln('Введите n,m матрицы B');
readln(n1, m1);
MatrB(b);
if (n1 <> n) and (m1 <> m) then
writeln('Матрицы сложить нельзя')
else begin
Sum(a, b, c);
writeln('A+B');
for i := 1 to n do
begin
for j := 1 to m do
write(c[i, j]:1:3, ' ');
writeln
end
end;
readln;
end.