На Горох
Информатика

§ 18. Кодирование

"Информатика", Горячев А.В., Волкова Т.О.

Объяснение темы В оглавлении: § 18. Кодирование

Кратко о теме

Кодирование — способ представить информацию с помощью условных знаков по определённому правилу. Оно помогает передавать сообщения, хранить их, обрабатывать или делать понятными только тем, кто знает код. Для записи можно использовать буквы, цифры, сигналы и другие знаки. Одно сообщение допускает разные варианты кодирования, но правильно восстановить его можно лишь тогда, когда известны используемые знаки и правила их чтения.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Код — система условных обозначений, с помощью которой представляют информацию. Знаки в такой системе должны быть понятны отправителю и получателю одинаковым образом. Тогда сообщение можно записать и прочитать без догадок. Если люди по-разному понимают обозначения, переданная запись не гарантирует сохранения смысла.

Кодирование — преобразование информации в форму, заданную выбранным кодом. Например, букву можно заменить цифрой, а сообщение — последовательностью сигналов. Это нужно, чтобы представить сведения в удобном для передачи, хранения или обработки виде. Один и тот же смысл можно закодировать разными способами.

Декодирование — восстановление исходной информации по её кодовой записи. Чтобы выполнить его, нужно знать код или правильно определить, какие правила использовались. Иначе знаки можно принять за другое сообщение. Декодирование возвращает содержание, а не обязательно исходный внешний вид сообщения.

Алфавит кода — набор знаков, которые используют для кодирования. Алфавитом могут быть буквы, цифры или всего два символа, например 0 и 1. Выбор знаков определяет, из чего будет состоять запись. Сам по себе алфавит ещё не объясняет, какое сообщение означает каждая комбинация.

Как это устроено

Информацию кодируют, когда её нужно передать на расстояние, сохранить или обработать. При передаче сообщение можно представить сигналами, которые способен принять канал связи; при хранении — знаками, которые удобно записать. Иногда код выбирают, чтобы сделать запись понятной определённому получателю, например использовать условные обозначения на карте. Значит, кодирование помогает приспособить сообщение к задаче, но само по себе не меняет его смысл.

Путь сообщения начинается с исходной информации: это может быть слово, число или команда. Отправитель применяет выбранное правило и получает кодовую запись, затем передаёт её или сохраняет. Получатель использует соответствующее правило, чтобы декодировать запись и восстановить исходные сведения. Если на любом этапе перепутать знаки или порядок, результат может измениться, поэтому все этапы должны согласовываться.

Способ кодирования определяется двумя вещами: алфавитом и правилом соответствия. Алфавит отвечает на вопрос, какие знаки разрешено записывать, а правило — что означают отдельные знаки или их комбинации. Например, цифры можно сопоставить буквам по таблице, а двоичные последовательности — сообщениям. Если изменить алфавит или соответствия, изменится и способ чтения записи.

Одно и то же сообщение может выглядеть совершенно по-разному в разных кодах: слово можно представить буквами, числами или сигналами. При этом одинаковая запись тоже может означать разное, если правила различаются. Поэтому нельзя определять смысл только по внешнему виду знаков. Нужно учитывать и выбранный код, и то, как в нём устроены соответствия.

Получателю необходимы тот же код и знание правил его применения, потому что без них запись не имеет однозначно понятного прочтения. Даже знакомые знаки могут быть объединены в комбинации по незнакомому правилу. Кроме того, важно понимать, где заканчивается одна кодовая часть и начинается следующая. Разделители или правила однозначного чтения позволяют восстановить сообщение без нескольких возможных вариантов.

Сравнение способов представления информации

Способ кодированияКакие знаки используютсяПример информацииКак декодировать
Буквенный или условныйБуквы, значки, условные обозначенияСлово или знак на картеПрочитать знаки по известному правилу или условным обозначениям
ЦифровойЦифрыБуквы, заменённые числамиИспользовать таблицу соответствий и учитывать порядок цифр
ДвоичныйДва знака: 0 и 1Данные или команда компьютеруЗнать правило, по которому последовательности соответствуют данным
Звуковой или световой сигналЗвуки, вспышки, сигналы разной длительностиУсловное сообщение, передаваемое сигналамиСопоставить сигналы с сообщениями по таблице и правилам границ

Сравнивая способы, сначала выясните, какие знаки входят в алфавит, а затем — какое правило связывает их с информацией. Последний столбец показывает, что для восстановления смысла одной записи недостаточно: нужен способ её прочитать. Если кодовая таблица задана, пользуйтесь ею в нужном направлении и не меняйте порядок знаков.

Разбор задач

Задача 1. По условию «А — 1, Б — 2, В — 3» закодировать слово «БА» и восстановить слово по записи «3–1». Здесь дана таблица, связывающая буквы с числами, поэтому нужно применять её без перестановки знаков. При декодировании ищем для каждого числа соответствующую букву. Тире отделяет части записи и помогает увидеть границы.

  1. Для кодирования читаем слово слева направо: первая буква — Б, вторая — А.
  2. По условию заменяем Б числом 2, а А числом 1.
  3. Получаем запись 2–1. Для декодирования 3–1 находим в таблице: 3 соответствует В, 1 соответствует А.

Ответ: слово «БА» кодируется как 2–1, а запись 3–1 означает «ВА». Проверка проста: каждый знак заменён по одной и той же таблице, порядок сохранён.

Задача 2. Закодировать короткие сообщения условными сигналами по таблице соответствий, а затем восстановить их. Допустим, условлено: круг — «да», квадрат — «нет», треугольник — «стоп». Нужно не придумывать значения во время чтения, а строго использовать заданное соответствие. Такая проверка показывает, можно ли однозначно пройти от сообщения к записи и обратно.

  1. Выписываем правило: «да» заменяется кругом, «нет» — квадратом, «стоп» — треугольником.
  2. Кодируем сообщение «да, стоп, нет»: записываем круг, треугольник, квадрат именно в этом порядке.
  3. Для декодирования читаем каждый сигнал по таблице: круг — «да», треугольник — «стоп», квадрат — «нет».
  4. Сравниваем восстановленную последовательность с исходной. Если знаки не перепутаны и их границы видны, сообщения совпадают.

Ответ: запись «круг — треугольник — квадрат» передаёт «да, стоп, нет». При работе с другой таблицей значения сигналов могут измениться, поэтому её нельзя заменять догадками. Для проверки полезно декодировать запись обратно и сравнить результат с исходным сообщением.

Задача 3. Предложить код из двух знаков для четырёх сообщений и решить, как различать границы комбинаций. Возьмём алфавит 0 и 1, а сообщения обозначим буквами А, Б, В и Г. Сам факт использования двух знаков ещё не гарантирует, что длинная запись прочитается однозначно. Нужно подобрать соответствия и проверить, не допускают ли границы нескольких вариантов.

  1. Назначим сообщениям комбинации одинаковой длины: А — 00, Б — 01, В — 10, Г — 11.
  2. Каждое сообщение теперь представлено двумя знаками, поэтому в последовательности границы можно определять, считая знаки парами от начала.
  3. Например, запись 0001 делим на пары 00 и 01, получаем АБ. Сдвигать начало второй пары нельзя: правило требует читать последовательность по две цифры.
  4. Если разрешить комбинации разной длины без разделителей, следует отдельно проверить, не совпадает ли начало одного кода с целой комбинацией другого. Иначе одна запись может разделяться несколькими способами.

Ответ: подходят коды А — 00, Б — 01, В — 10, Г — 11, если договориться читать запись группами по две цифры или ставить разделители. Тогда четыре сообщения различаются, а запись можно однозначно разделить на комбинации. Проверка границ — обязательная часть проектирования кода.

Типичные ошибки

Считать кодированием любое изменение внешнего вида сообщения — ошибка: преобразование должно выполняться по определённому правилу. Её допускают, когда замечают только, что буквы заменились значками или запись стала другой. Проверьте себя вопросом: можно ли точно описать, как исходный знак превращается в новый? Если такого правила нет, это ещё не заданный способ кодирования.

Декодировать запись, не выяснив, какой код использован, нельзя надёжно: одинаковые знаки в разных системах могут означать разное. Ошибка возникает, когда знакомому символу сразу приписывают привычный смысл. Перед чтением найдите таблицу соответствий или уточните правило. Если возможны несколько трактовок, сначала нужно определить код, а не выбирать ответ наугад.

Путать код и алфавит кода — значит смешивать набор знаков с правилами их значения. Например, наличие цифр 0 и 1 сообщает, какие символы используются, но не объясняет, что означает последовательность 01. Чтобы проверить себя, назовите отдельно алфавит и соответствия знаков сообщениям. Полный код должен содержать достаточно правил для чтения записи.

Не учитывать границы между комбинациями опасно: одна длинная запись может разделяться на части несколькими способами. Такое случается, если комбинации имеют разную длину, а разделителей или правил чтения нет. Проверьте, можно ли разбить запись на коды только одним способом. Если получается несколько вариантов, добавьте разделители или измените правила кодирования.

Связь с другими темами

Перед изучением кодирования полезно различать саму информацию и её знаковое представление: смысл сообщения не всегда совпадает с видом его записи. Также пригодится умение читать простые таблицы соответствий, потому что по ним часто переводят знаки в сообщения и обратно. Позже эта тема поможет понять двоичное представление данных и способы хранения и передачи информации в компьютере. Она встречается и в шифрах, условных сигналах и системах обозначений, где правила чтения особенно важны.

Что запомнить

  • Кодирование преобразует информацию по определённому правилу.
  • Код — это способ представить информацию с помощью условных знаков.
  • Алфавит кода — набор знаков, которые используют в кодовой записи.
  • Декодирование восстанавливает информацию по коду.
  • Для правильного декодирования нужно знать правило кодирования.
  • Одну и ту же информацию можно закодировать разными способами.

Частые вопросы по теме

Чем код отличается от алфавита кода?

Алфавит кода — это набор знаков, которые разрешено использовать в записи. Код включает не только эти знаки, но и правила, связывающие их с сообщениями или их частями.

Можно ли одно сообщение закодировать разными способами?

Да, одно сообщение можно представить буквами, цифрами, двоичными комбинациями или сигналами. Чтобы восстановить смысл, получателю нужно знать, какой способ и какие правила применялись.

Почему получателю нужно знать правило кодирования?

Без правила нельзя надёжно понять, что означает каждый знак или их сочетание. Одна и та же запись в разных кодах может передавать разные сообщения.

Всегда ли по кодовой записи можно однозначно восстановить сообщение?

Нет, иногда запись допускает несколько вариантов прочтения. Однозначность обеспечивают подходящие правила, например разделители между комбинациями или такой код, в котором границы частей понятны.

Чем кодирование отличается от шифрования?

Кодирование меняет форму представления информации, чтобы её было удобно хранить, передавать или обрабатывать. Шифрование специально скрывает смысл сообщения от тех, кому оно не предназначено; для чтения нужен секретный ключ или правило.

Спросить по теме параграфа

§ 18. Кодирование

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика", Горячев А.В., Волкова Т.О.