ВУЗ:
Составители:
10
9. Итоговые задания
Задание 1. Работа с кодом Морзе
Предлагается написать программу, перекодирующую текстовое сообщение
(строку) в код Морзе либо программу, по коду Морзе восстанавливающую исходную
строку.
Краткая историческая справка (прочитать обязательно!). Американец Сэмюэль
Морзе (Samuel Morse) в 1837 году изобрёл телеграфный аппарат для передачи информации с по-
мощью сигналов двух видов - точек и тире. В аппарате Морзе принятая телеграмма записыва-
лась на бумажную ленту. Своё «второе рождение» код Морзе получил после изобретения радио-
связи в 1895 году (А.С Попов -
Россия, Г. Маркони - Италия), когда была обнаружена возмож-
ность приёма телеграфных радиограмм на слух, без предварительной записи. К середине XX ве-
ка телеграфные аппараты Морзе были практически вытеснены буквопечатающими аппаратами,
однако определённый интерес к коду Морзе появился вновь после изобретения микропроцессо-
ров и микроконтроллеров. В настоящее время код (азбука) Морзе продолжает применяться
в ра-
диолюбительской связи (CW-связь), а также в аварийно-спасательных системах в качестве за-
пасного средства. Радиосигналы Морзе удаётся принимать даже при наличии таких сильных
помех, когда никакой другой вид радиообмена невозможен.
В коде Морзе каждый символ (буква, цифра, знак препинания) представлен в
виде комбинации двух знаков - точек и тире. Количество этих знаков может быть от 1
до 6, то есть код Морзе - это пример неравномерного кода. За единицу времени при пе-
редаче принята продолжительность точки. Продолжительность тире должна быть равна
трём точкам. Продолжительность паузы между знаками - одна точка, между символами
- три точки, между словами - семь точек. Мы видим, что код Морзе - не двоичный код,
как иногда принято считать: его алфавит содержит не два, а целых пять знаков - точка,
тире и три вида пробелов.
Цифровая аппаратура работает с битами и байтами. Как же представить с их по-
мощью код Морзе? Для упрощения задачи ограничимся только буквами (без цифр и
служебных символов). Один из возможных способов состоит в том, что каждая буква,
как и в коде ASCII, представляется одним байтом. Младший полубайт (4 бита) пусть
содержит количество знаков - точек и тире - в данной букве. Старший полубайт (ещё 4
бита) будет содержать саму последовательность точек и тире для данной буквы, причём
точку будем кодировать нулём, а тире - единицей и записывать эту последовательность,
начиная с крайнего левого бита
. Поскольку количество точек и тире в букве (за редким
исключением) не превышает 4, нам как раз хватит этих четырёх бит.
Пример. Буква «А» кодируется по Морзе как «точка-тире». Количество знаков
- два, число 2 в двоичной системе - это 10, отсюда младший полубайт = 0010. Старший
полубайт будет содержать 0100, так как «точка» - это 0,
«тире» - это 1, остальные би-
ты не используются и остаются нулями. Байт 0100 0010 переводим в шестнадцатерич-
ную систему и получаем 42h - это и есть представление буквы «А». Итак, всё вместе:
А = ( • -) = 0100 0010 = 42h
Непонятно? Тогда вот ещё примеры (буквы из четырёх знаков):
Б = (
- ••• ) = 1000 0100 = 84h
Ж = (
••• -) = 0001 0100 = 14h
10 9. Итоговые задания Задание 1. Работа с кодом Морзе Предлагается написать программу, перекодирующую текстовое сообщение (строку) в код Морзе либо программу, по коду Морзе восстанавливающую исходную строку. Краткая историческая справка (прочитать обязательно!). Американец Сэмюэль Морзе (Samuel Morse) в 1837 году изобрёл телеграфный аппарат для передачи информации с по- мощью сигналов двух видов - точек и тире. В аппарате Морзе принятая телеграмма записыва- лась на бумажную ленту. Своё «второе рождение» код Морзе получил после изобретения радио- связи в 1895 году (А.С Попов - Россия, Г. Маркони - Италия), когда была обнаружена возмож- ность приёма телеграфных радиограмм на слух, без предварительной записи. К середине XX ве- ка телеграфные аппараты Морзе были практически вытеснены буквопечатающими аппаратами, однако определённый интерес к коду Морзе появился вновь после изобретения микропроцессо- ров и микроконтроллеров. В настоящее время код (азбука) Морзе продолжает применяться в ра- диолюбительской связи (CW-связь), а также в аварийно-спасательных системах в качестве за- пасного средства. Радиосигналы Морзе удаётся принимать даже при наличии таких сильных помех, когда никакой другой вид радиообмена невозможен. В коде Морзе каждый символ (буква, цифра, знак препинания) представлен в виде комбинации двух знаков - точек и тире. Количество этих знаков может быть от 1 до 6, то есть код Морзе - это пример неравномерного кода. За единицу времени при пе- редаче принята продолжительность точки. Продолжительность тире должна быть равна трём точкам. Продолжительность паузы между знаками - одна точка, между символами - три точки, между словами - семь точек. Мы видим, что код Морзе - не двоичный код, как иногда принято считать: его алфавит содержит не два, а целых пять знаков - точка, тире и три вида пробелов. Цифровая аппаратура работает с битами и байтами. Как же представить с их по- мощью код Морзе? Для упрощения задачи ограничимся только буквами (без цифр и служебных символов). Один из возможных способов состоит в том, что каждая буква, как и в коде ASCII, представляется одним байтом. Младший полубайт (4 бита) пусть содержит количество знаков - точек и тире - в данной букве. Старший полубайт (ещё 4 бита) будет содержать саму последовательность точек и тире для данной буквы, причём точку будем кодировать нулём, а тире - единицей и записывать эту последовательность, начиная с крайнего левого бита. Поскольку количество точек и тире в букве (за редким исключением) не превышает 4, нам как раз хватит этих четырёх бит. Пример. Буква «А» кодируется по Морзе как «точка-тире». Количество знаков - два, число 2 в двоичной системе - это 10, отсюда младший полубайт = 0010. Старший полубайт будет содержать 0100, так как «точка» - это 0, «тире» - это 1, остальные би- ты не используются и остаются нулями. Байт 0100 0010 переводим в шестнадцатерич- ную систему и получаем 42h - это и есть представление буквы «А». Итак, всё вместе: А = ( • -) = 0100 0010 = 42h Непонятно? Тогда вот ещё примеры (буквы из четырёх знаков): Б = ( - • • • ) = 1000 0100 = 84h Ж = ( • • • -) = 0001 0100 = 14h
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »