для кодування текстів,
записаних на природних мовах, виникли з появою електричного телеграфу, наприклад:
• азбука Морзе;
• набір знаків другого міжнародного телеграфного коду (телекс).
При кодуванні інформації для технічних пристроїв особливо важливе значення мають набори, складаються всього з двох знаків: {+, -}; {•, -}; {0, 1}; {так, ні}.
Алфавіт, що складається з двох знаків, називають двійковим, а кожен знак з цього алфавіту - двійковим знаком.
Кодування використовується для подання інформації у вигляді, зручному для зберігання і передачі. Розглянемо найпростіші задачі кодування і декодування.
Приклад . Спробуємо закодувати числа від 0 до 100 , без використання арабських або римських цифр.
Перш за все необхідно придумати алфавіт або вибрати який-небудь з відомих.
Чи можна використовувати в якості В«буквВ» алфавіту знаки або голосні літери російського алфавіту?
Так, можна вибрати будь набір відрізняються один від одного знаків.
Кожному числу, яке потрібно закодувати, поставимо у відповідність одну "букву" обраного нами алфавіту. Наприклад:
В
У всіх трьох випадках з наведеного прикладу ми не вирішили поставленого завдання. Ми не змогли закодувати числа від 0 до 100, використовуючи запропоновані алфавіти. Виходить, що наш алфавіт обов'язково повинен складатися з 101 знака? Але за допомогою всього десяти арабських цифр ви можете записати будь-яке число. А римських цифр для кодування перших 101 числа потрібно всього п'ять: I, V, X, L, С.
Потрібен інший підхід, інше правило.
Покажемо, що використовуючи всього три символи, наприклад, можна закодувати (зашифрувати, уявити) будь-яке число. Для цього кожне число будемо представляти не одним, а кількома символами з нашого алфавіту.
У нашому правилі кодування з'являється поняття В«довжина кодуВ».
Довжиною коду назвемо кількість < i> знаків , яке використовується для представлення кодованого числа (Або слова). p> Тобто термін В«кодВ» використовується у двох сенсах - як правило кодування і як набір знаків для кодування деякого символу.
Кількість знаків в алфавіті кодування і довжина коду - абсолютно різні речі. Наприклад, в російській алфавіті 33 букви, а слова можуть бути довжиною в 1, 2, 3, ... літери.
Подивимося, скільки чисел ми можемо закодувати, якщо довжина коду становить не більше 2 знаків.
Скористаємося правилом, схематично представленим на рис. 2. br/>В
Рис. 2. Схематичне подання правила кодування
Якщо подивитися на схему, то видно, що на перше місце в кожному коді ставиться код попереднього рівня, а до нього дописуються по одному всі знаки алфавіту в заданому алфавітному порядку. Таке правило кодування дозволяє перебрати всі можливі коди і ніколи не повторитися.
З таблиці (праворуч від рис. 2) видно, що при довжині коду не більше 2 знаків всього можна закодувати 12 (3 + 9) різних чисел. Щоб закодувати числа 12, 13, ..., слід збільшити довжину коду.
Приклад .
Розглянемо завдання, зворотний до задачі кодування з попереднього прикладу. Є закодована інформація:. Коди вам відомі. Довжина коду - не більше 2 знаків. Визначте вихідне число. Так як довжина коду може бути 1 або 2, то
• могли бути закодовані три числа - 1, 2, 0;
• могли бути закодовані два числа - 1, 9;
• могли бути закодовані два числа - 8, 0.
Всі три рішення справедливі. Як ви думаєте, чому? Чи є спосіб, який приведе нас до однозначного вирішення поставленого завдання?
Коди змінної (Непостійною) довжини в техніці зустрічаються досить рідко. Винятком є лише код Морзе. p> Приклад . Погляньте на міжнародну азбуку Морзе:
В
Для відправника наведена таблиця виглядає цілком логічно, бо літери в ній розташовані в алфавітному порядку. Але для людини, що одержує повідомлення, вона незручна. p> У якому ж порядку слід розташувати знак азбуки Морзе, щоб отримавши сигнал, ми могли, не втрачаючи часу, визначити, який букві він відповідає. Уявімо азбуку Морзе в вигляді дерева:
В
При отриманні сигналу - це або точка, або тире - записуємо букву і спускаємося по дереву: якщо точка - вліво від поточної вершини, якщо тире - вправо, якщо пауза - записуємо букву поточної вершини, якщо довга пауза - записуємо букву і відзначаємо кінець слова.
За загальним правилом радистів тривалість передачі точки дорівнює тривалості паузи, тривалість передачі тире дорівнює тривалості передачі трьох точок, тривалість передачі пропуску (між буквами) дорівнює тривалості трьох пауз.
Азбука Морзе - це приклад троично...