Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г и Д, используется неравномерный двоичный код, позволяющий однозначно декодировать полученную двоичную последовательность. Вот этот код: А — 00, Б — 01, В — 100, Г — 101, Д — 110
Для какой из букв длину кодового слова можно сократить так, чтобы его по-прежнему можно было декодировать однозначно? Коды остальных букв меняться не должны. Выделите в нужном коде нужные символы.
Объяснение:
На чистом паскале никак. Либо используя графические библиотеки (например, GraphABC в Pascal ABC.NET), либо, например Delphi.
GraphABC:
uses GrathABC;
var b: picture;
begin
b:= Picture.Create('1.png');
...
end.
Далее через процедуру OnKeyDown или OnKeyPress считываем ключ с клавиатуры, и если это 2, то показываем изображение.
Примерно это должно выглядеть так:
procedure OnKeyPress(key: integer);
begin
if key = 2 then b.Draw(10, 10);
end;
Delphi: на нём гораздо проще. Здесь есть уже готовая форма, и стандартные компоненты за визуальность).
Через компонент TImage (вкладка Additional) загружаем изображение, устанавливаем у изображения свойство Visible:= false. Далее через OnKeyPress главной формы считываем ключ, и если key = 2, то Image.Visible:= true;