1. Определим размер алфавита, т.е. количество используемых символов. 20 букв и 9 цифр - это 29 символов. Чтобы закодировать 29 разных символов нужно 5 бит ( 2⁴ < 29 < 2⁵ ). 2. Определим длину личного кода. В коде 15 символов, каждый символ занимает 5 бит. Всего потребуется 5×15=75 бит. Поскольку код занимает целое число байт, переводит 75 бит в байты. 75/8 = 9.375 ≈ 10 байт. 3. Номер отдела можно закодировать 1 байтом (в байт помещается число от 0 до 255). 4. Найдем количество дополнительных байт. На пропуске 20 байт, из них 10 заняты кодом, 1 - номером отдела, остаются 20-10-1 = 9 байт.
Камера не очень, так что спрашивай, если непонятно что-то. ____________________________________________________ В первом номере деление на триады для восьмеричной - сверху, а для шестнадцатеричной - снизу (см. дуги около числа в двоичной записи). Во втором номере слева исходный пример, а справа в десятичной записи(подразумевалось, что числа сам можешь перевести из (2) в (10) ). Потом ниже проверка. В третьем а) можно было умножать на 16, а можно через двоичную. Я сделала через двоичную. В четвертом, как и в первом, деление на восьмеричные триады - сверху, на шестнадцатеричные - снизу.
var a,b,c:integer;
begin
a:=3; b:=5;
writeln('a = ',a,' b = ',b);
c:=a;
a:=b;
b:=c;
writeln('a = ',a,' b = ',b);
end.
Результат:
a = 3 b = 5
a = 5 b = 3
2.
var a,b:integer;
begin
a:=3; b:=5;
writeln('a = ',a,' b = ',b);
a:=a+b;
b:=a-b;
a:=a-b;
writeln('a = ',a,' b = ',b);
end.
Результат:
a = 3 b = 5
a = 5 b = 3