Uses crt; var item, rub, doll: real; job: integer; begin writeln('Введите курс ру по отношению к дол: '); read(item);//Вводим курс рубль-доллар writeln('Перевести из (рубля в доллар(2)) или (доллар в рубль(1))?'); read(job);//Вводим режим case job of 2: begin writeln('Введите кол-во рублей: '); read(rub);//Вводим рубль rub := rub / item; writeln('doll = ',rub); end; 1: begin writeln('Введите кол- во долларов: '); read(doll);//Вводим доллар doll := doll * item; writeln('rub = ',doll); end; end; end.
Итак первые два символа кодируются кодовыми словами 0 и 10. Найдём для оставшихся трех символов наиболее короткое представление, удовлетворяющее условию Фано. Из двузначных чисел можно взять 11, но тогда невозможно подобрать трехзначное число для четвертого символа, по этому не берем. Единственное подходящее трехзначное число - 110 (111 не подходит по той же причине. что и 11). Аналогично выбираем числа 1110 и 11110. В итоге получается ряд: 0, 10, 110, 1110, 11110. Общая длина = 1+2+3+4+5=15
var item, rub, doll: real;
job: integer;
begin
writeln('Введите курс ру по отношению к дол: ');
read(item);//Вводим курс рубль-доллар
writeln('Перевести из (рубля в доллар(2)) или (доллар в рубль(1))?');
read(job);//Вводим режим
case job of
2: begin
writeln('Введите кол-во рублей: ');
read(rub);//Вводим рубль
rub := rub / item;
writeln('doll = ',rub);
end;
1: begin
writeln('Введите кол- во долларов: ');
read(doll);//Вводим доллар
doll := doll * item;
writeln('rub = ',doll);
end;
end;
end.
В итоге получается ряд: 0, 10, 110, 1110, 11110.
Общая длина = 1+2+3+4+5=15