А) У нас есть число в двоичной системе счисления: 01001100. Над каждой цифрой напишем ее разряд (справа налево; разряд начинается с 0). Затем мы первую цифру данного нам числа должны перемножить на основание данного нам числа ( т.к 01001100 - двоичное число, то основание соответственно равно 2) в какой-то степени ( степень определяется разрядом цифры), затем нужно проделать это со всеми цифрами числа и сложить результаты(все это делается с право налево). 01001100(2) = 1*2^6 + 1*2^3 + 1*2^2 = 76(10) ( 0 можно опускать, так как при умножении на 0 всегда будет 0) б) 00010101(2) = 1*2^4 + 1*2^2 + 1*2^0 = 21(10) P.s Так как код прямой, то все разряды являются целом числом в двоичном коде. Самый крайний левый разряд определяет знак числа в десятичной системе счисления ( если 0, то +, если 1, то -)
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016 begin var a:=MatrixRandom(7,7,0,9); var k:=0; for var i:=0 to 6 do begin for var j:=0 to 6 do begin Write(a[i,j]:3); if a[i,j] in [1..5] then Inc(k) end; Writeln end; Writeln('Кол-во элементов на [1,5]: ',k) end.
const n=7; var a:array[1..n,1..n] of integer; i,j,k:integer; begin Randomize; k:=0; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=Random(10); Write(a[i,j]:3); if a[i,j] in [1..5] then Inc(k) end; Writeln end; Writeln('Кол-во элементов на [1,5]: ',k) end.
01001100(2) = 1*2^6 + 1*2^3 + 1*2^2 = 76(10) ( 0 можно опускать, так как при умножении на 0 всегда будет 0)
б) 00010101(2) = 1*2^4 + 1*2^2 + 1*2^0 = 21(10)
P.s Так как код прямой, то все разряды являются целом числом в двоичном коде. Самый крайний левый разряд определяет знак числа в десятичной системе счисления ( если 0, то +, если 1, то -)
begin
var a:=MatrixRandom(7,7,0,9);
var k:=0;
for var i:=0 to 6 do begin
for var j:=0 to 6 do begin
Write(a[i,j]:3);
if a[i,j] in [1..5] then Inc(k)
end;
Writeln
end;
Writeln('Кол-во элементов на [1,5]: ',k)
end.
Тестовое решение:
2 1 7 3 3 2 7
9 2 9 2 0 5 5
4 2 6 9 4 6 0
1 0 3 5 4 5 9
6 3 6 0 2 0 8
0 8 4 3 2 1 8
6 0 4 4 5 4 0
Кол-во элементов на [1,5]: 27
Вариант "совсем для школы"
const
n=7;
var
a:array[1..n,1..n] of integer;
i,j,k:integer;
begin
Randomize;
k:=0;
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=Random(10);
Write(a[i,j]:3);
if a[i,j] in [1..5] then Inc(k)
end;
Writeln
end;
Writeln('Кол-во элементов на [1,5]: ',k)
end.