При таком алфавие один символ кодируется 1 байтом
итого кол-во символов 30*70*5 = 10500
соответсвенно кол-во байт тоже 10500
Ответ 10500 байт
Type
Frac = record
P: integer;
Q: 1..32767
end;
function gcd(a: integer; b: integer): integer;
{Нахождение НОД}
var
i: integer;
begin
while b <> 0 do
begin
a := a mod b;
i := b; b := a; a := i
end;
result := a
end;
function RedFrac(a: Frac): Frac;
{Сокращение дроби}
var
igcd: integer;
r: Frac;
begin
igcd := gcd(a.P, a.Q);
r.P := a.P div igcd;
r.Q := a.Q div igcd;
RedFrac := r
end;
function Add(a, b: Frac): Frac;
{Сложение дробей}
var
r: Frac;
begin
r.P := a.P * b.Q + b.P * a.Q;
r.Q := a.Q * b.Q;
Add := RedFrac(r)
end;
function Mult(a, b: Frac): Frac;
{Умножение дробей}
var
r: Frac;
begin
r.P := a.P * b.P;
r.Q := a.Q * b.Q;
Mult := RedFrac(r)
end;
var
m, n, k: Frac;
begin
m.P := 4; m.Q := 15; {4/15}
n.P := 9; n.Q := 25; {9/25}
k := Add(m, n);
Writeln(k.P, '/', k.Q);
k := Mult(m, n);
Writeln(k.P, '/', k.Q);
end.
<u>Результат выполнения программы:</u>
47/75
12/125
1)11100001 - пронумеруем разряды
2^0*1+2^5*1+2^6*1+2^7*1=1+32+64+128=225
111111
2^0*1+2^1*1+2^2*1+2^3*1+2^4*1+2^5*1=1+2+4+8+16+32=63
2)233=128+64+32+8+1=2^7*1+2^6*1+2^5*1+2^3*1+2^0*1
11101001
1212=1024+128+32+16+8+4=2^10*1+2^7*1+2^5*1+2^4*1+2^3*1+2^4*1+2^2*1
1001011100
123.79.172.213
тупо соединяешь из вместе