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

13. Десятичное кодирование ----------------------------------------------------------

"Информатика (в 2 частях)", Матвеева Н.В., Челак Е.Н., Конопатова Н.К., Панкратова Л.П., Нурова Н.А.

Объяснение темы В оглавлении: 13. Десятичное кодирование ----------------------------------------------------------

Кратко о теме

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

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

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

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

Десятичное кодирование — представление символов или сообщений с помощью чисел, записанных цифрами от 0 до 9. Например, букве можно назначить число 12, а знаку пробела — отдельный числовой код. Такое представление нужно, чтобы записывать или передавать символы в выбранной числовой форме.

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

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

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

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

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

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

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

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

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

Пример десятичного кодирования символов

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

СимволДесятичный кодПример записи в сообщении
А1БА → 2, 1
Б2БА → 2, 1
В3В → 3
Пробел0А Б → 1, 0, 2
Последовательность символов и соответствующих кодовКоды записывают в порядке символовБА → 2, 1

Разбор задач

Задача 1. Закодировать слово «БА»

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

  1. Первый символ слова — Б. По таблице ему соответствует код 2.
  2. Следующий символ — А. Его код равен 1.
  3. Записываем найденные коды подряд или через запятую, сохраняя порядок букв.

Ответ: «БА» кодируется как 2, 1, или как 21, если в этой таблице договорились не ставить разделители. Порядок чисел повторяет порядок букв.

Задача 2. Расшифровать запись «3, 1, 2»

Условие: по той же таблице определить сообщение, записанное кодами 3, 1, 2. Запятые уже отделяют один код от другого, поэтому не нужно искать границы внутри записи. Для каждого числа используем соответствие из исходной таблицы.

  1. Первый код — 3. В таблице ему соответствует В.
  2. Второй код — 1. Это буква А.
  3. Третий код — 2. Это буква Б; записываем найденные символы по порядку.

Ответ: запись «3, 1, 2» означает «ВАБ». Если поменять порядок кодов, получится другое сообщение.

Задача 3. Можно ли однозначно прочитать «123»?

Условие: даны коды А = 1, Б = 2, В = 3, Г = 4. Нужно понять, можно ли прочитать запись 123 без разделителей, если в общем случае коды могут быть многозначными. Однозначность проверяют не по догадке, а по числу возможных разбиений цифр на коды.

  1. Если использовать только приведённые однозначные коды, цифры можно разделить как 1 | 2 | 3. Тогда получится «АБВ».
  2. Но условие допускает и многозначные коды. Например, если в таблице есть код 12, ту же запись можно прочитать как 12 | 3, то есть как два других символа.
  3. Получаются разные разбиения, поэтому без полной таблицы и правила границ нельзя утверждать, что чтение единственное.
  4. Чтобы сделать запись понятной, ставим разделитель, например 1, 2, 3, либо задаём коды одинаковой длины.

Ответ: без дополнительных условий запись 123 нельзя гарантированно прочитать однозначно. Для однозначности нужны известная таблица и способ определить границы кодов.

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

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

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

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

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

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

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

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

  • Кодирование заменяет символы сообщения их кодами.
  • Десятичная запись использует цифры от 0 до 9.
  • Для кодирования и декодирования нужна одна и та же таблица и одно правило.
  • Коды должны позволять однозначно восстановить исходное сообщение.
  • Для разделения кодов разной длины могут понадобиться разделители.
  • Порядок кодов соответствует порядку символов сообщения.

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

Что называют десятичным кодированием?

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

Почему одной и той же букве могут соответствовать разные числа?

Код задаётся выбранной таблицей, а разные таблицы могут устанавливать разные соответствия. Поэтому число без указания таблицы не всегда позволяет определить букву.

Как расшифровать последовательность десятичных кодов?

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

Зачем нужны разделители между кодами?

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

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

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

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

13. Десятичное кодирование ----------------------------------------------------------

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика (в 2 частях)", Матвеева Н.В., Челак Е.Н., Конопатова Н.К., Панкратова Л.П., Нурова Н.А.