Pascalabc.net 3.3.5, сборка 1662 от 29.04.2018 внимание! если программа не работает, обновите версию! function gcd(a,b: integer): integer; // нод begin while b< > 0 do begin a: =a mod b; swap(a,b) end; result: =a end; procedure redfrac(var a,b: integer); // сокращение дроби begin var (sgna,sgnb): =(sign(a),sign(b)); // мы должны учитывать знак! (a,b): =(abs(a),abs(b)); var d: =gcd(a,b); a: =(a div d)*sgna; b: =(b div d)*sgnb end; begin var (a,b): =readinteger2('введите числитель и знаменатель 1-й дроби: '); var (c,d): =readinteger2('введите числитель и знаменатель 2-й дроби: '); (a,b): =(a*c,b*d); redfrac(a,b); writeln('результат умножения: ',a,' / ',b) end. пример введите числитель и знаменатель 1-й дроби: 32 1024 введите числитель и знаменатель 2-й дроби: 60 300 результат умножения: 1 / 160 в качестве бонуса - решение на базе входящей в состав pascalabc.net библиотеки численных методов uses numlibabc; begin var (a,b): =readinteger2('введите числитель и знаменатель 1-й дроби: '); var (c,d): =readinteger2('введите числитель и знаменатель 2-й дроби: '); writeln('результат умножения: ',frc(a,b)*frc(c,d)) end.
Astrians
06.07.2021
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 байт. ответ: 9
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Продолжите алгоритм заполнив пустые клетки таблицы. информатика 5 класс