Светодиодная панель состоит из нескольких излучающих

Содержание урока:

4.2. Кодирование информации
4.1. Задачи обработки информации 4.3. Поиск информации

4.2. Кодирование информации

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

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

Код — это система (список) условных обозначений (кодовых слов), используемых для представления информации 1) .

Кодовая таблица — это совокупность используемых кодовых слов и их значений.

1) Также кодом зачастую называют результат кодирования информации.

Ранее мы уже рассмотрели примеры равномерных двоичных кодов — пятиразрядный код Бодо и восьмиразрядный код ASCII.

Самый известный пример неравномерного кода — код (азбука) Морзе, в которой цифры и буквы алфавита представляются последовательностями длинных («тире») и коротких («точек») сигналов, названный в честь американского изобретателя и художника Сэмюэля Морзе (1791-1872). Буквы, встречающиеся в сообщениях чаще, имеют в этом коде более короткий код, чем «редкие» буквы (рис. 1.12).

Рис. 1.12. Кодовая таблица азбуки Морзе

В азбуке Морзе сигналы отделяются друг от друга паузами — отсутствием сигналов. За единицу «измерения» длительности сигналов принимается длительность сигнала «точка». Длительность тире (длинного сигнала) равна длительности трёх точек (коротких сигналов). Пауза между сигналами одного знака равна одной точке; пауза между знаками в слове — трём точкам; пауза между словами — семи точкам. Фактически пауза является третьим знаком в азбуке Морзе, а сам код — троичным.

Слово WORD, закодированное с помощью азбуки Морзе, на «временной» шкале можно представить так:

Самым знаменитым сообщением, закодированным азбукой Морзе, является сигнал бедствия «SOS». Его запрещено использовать без острой на то необходимости. Передаётся сигнал без межбуквенных пауз:

При использовании неравномерных кодов важно понимать, сколько различных кодовых слов они позволяют построить.

Пример 1. Светодиодная панель содержит восемь излучающих элементов, каждый из которых может светиться или красным, или жёлтым, или синим, или зелёным цветом. Сколько различных сигналов можно передать с помощью панели (все излучающие элементы должны гореть, порядок цветов имеет значение)?

На уроках математики и информатики в основной школе вы изучали элементы комбинаторики, в том числе правило умножения. Согласно ему, если элемент А можно выбрать n способами и при любом выборе А элемент В можно выбрать m способами, то пару (А, В) можно выбрать n • m способами. Это правило справедливо и для произвольного количества независимо выбираемых элементов.

Применим его к решению нашей задачи.

Существует 4 варианта выбора цвета первого элемента, 4 варианта выбора цвета второго элемента; цвета для пары элементов (1, 2) можно выбрать 4 • 4 = 4 2 = 16 способами; цвета для тройки элементов (1, 2, 3) можно выбрать 16 • 4 = 4 3 = 64 способами и т. д. Цвета для восьми элементов (1, 2, 3, 4, 5, 6, 7, 8) можно выбрать 4 8 = 65 536 способами.

Читайте также  Посчитать сумму цифр в числе паскаль

Можно ли отнести эту задачу к классу задач на определение максимально возможного количества комбинаций (слов) фиксированной длины определённого алфавита? Обоснуйте свой ответ.

Пример 2. Выясним, сколько всего различных символов можно закодировать, используя последовательности точек и тире, содержащие не более шести знаков.

Для кодирования различных символов можно использовать последовательности точек и тире, содержащие не более шести знаков, т. е. 1, 2, 3, 4, 5 или 6 знаков.

Последовательностями, содержащими один из двух возможных знаков, можно закодировать два символа: один будет закодирован точкой, второй — тире.

Рассмотрим последовательности, содержащие два знака из двухсимвольного алфавита. Их может быть 2 • 2 = 2 2 = 4.

Последовательностей из трёх знаков, принадлежащих двухсимвольному алфавиту, может быть 4 • 2 = 2 3 = 8.

Рассуждая аналогичным образом, подсчитаем число последовательностей, содержащих 4, 5 и 6 знаков — 16, 32 и 64 соответственно.

Число различных последовательностей, содержащих не более шести знаков двухсимвольного алфавита, будет равно 126 = 2 + 4 + 8 + 16 + 32 + 64.

Пример 3. Имеющаяся информация должна быть закодирована в четырёхбуквенном алфавите <А, В, С, D>. Выясним, сколько существует различных последовательностей из 7 символов четырёхбуквенного алфавита <А, В, С, D>, которые содержат ровно пять букв А.

Нас интересуют семисимвольные последовательности, любые пять мест в которых будут заняты буквой А, а на двух оставшихся местах могут находиться любые из букв В, С, D.

Так как на 6-м и 7-м местах могут стоять любые из трёх оставшихся букв В, С, D, то всего существует 9 (3 • 3 = 9) разных семибуквенных последовательностей, в которых первые пять позиций заняты буквой А.

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

А сколько таких вариантов всего? Сколько всего существует способов, которыми мы можем выбрать пять мест из семи для размещения там буквы А?

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

В комбинаторике набор k элементов, выбранных из данного множества, содержащего n различных элементов, называется сочетанием из n по k.

Для вычисления значения этой величины применяется формула:

Здесь n! = 12 • . • n.

Действительно, множество, с которым мы имеем дело, состоит из мест для записи символов в последовательности. Его элементы можно обозначить 1, 2, 3, 4, 5, 6 и 7. Требуётся выбрать из этого множества пять мест для размещения буквы А. Число возможных вариантов можно вычислить как число сочетаний из 7 по 5:

Итак, существует 21 вариант выбора в семибуквенной последовательности ровно пяти мест для размещения там буквы А. Для каждого из этих 21 вариантов имеется 9 разных вариантов заполнения двух оставшихся мест.

Всего существует 189 (21 • 9 = 189) различных последовательностей из 7 символов четырёхбуквенного алфавита <А, В, С, D>, которые содержат ровно пять букв А.

Читайте также  Самые скачиваемые обои для рабочего стола

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

Прёфиксный код — код со словом переменной длины, обладающий тем свойством, что никакое его кодовое слово не может быть началом другого (более длинного) кодового слова.

1) код, состоящий из слов 0, 10 и 11, является префиксным;
2) код, состоящий из слов 0, 10, 11 и 100, не является префиксным.

Для того чтобы сообщение, записанное с помощью неравномерного кода, однозначно декодировалось, достаточно, чтобы никакое кодовое слово не было началом другого (более длинного) кодового слова. Это условие ещё называют условием Фано (в честь Роберта Марио Фано, американского учёного, известного по работам в области теории информации).

Обратное условие Фано также является достаточным условием однозначного декодирования неравномерного кода. В нём требуется, чтобы никакой код не был окончанием другого (более длинного) кода.

Для возможности однозначного декодирования достаточно выполнения одного из условий Фано — или прямого, или обратного.

Как вы понимаете смысл этого утверждения? Можно ли на его основе заявлять, что если для некоторого кода условие Фано не выполняется, то однозначное декодирование записанного с его помощью сообщения невозможно?

Пример 4. Двоичные коды для 5 букв латинского алфавита представлены в таблице:

Выясним, какое сообщение (какой набор букв) закодировано с помощью этих кодов двоичной строкой: 0110100011000.

Проанализируем имеющиеся коды: код буквы В (01) является началом кода буквы Е (011); код буквы D (10) является началом кода буквы С (100).

Таким образом, прямое условие Фано для заданных кодов не выполняется. Следовательно, имеющуюся двоичную строку нельзя декодировать однозначно, если начать её декодирование с начала (слева направо).

Начните проводить декодирование двоичной строки 0110100011000 слева направо и убедитесь в справедливости условия Фано.

Для имеющихся кодов выполняется обратное условие Фано: никакой код не является окончанием другого кода. Следовательно, имеющуюся двоичную строку можно декодировать однозначно, если начать её декодирование с конца (справа налево).

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

Если для некоторой последовательности кодов выполняется прямое условие Фано, то её декодирование следует вести слева направо. Если для некоторой последовательности кодов выполняется обратное условие Фано, то её декодирование следует вести справа налево.

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

Читайте также  Полноэкранный режим в firefox

Дерево, из вершин которого выходит только два ребра, называется двоичным (бинарным) деревом.

Комбинации, соответствующие листьям бинарного дерева, являются кодовыми комбинациями префиксного кода.

Префиксные коды можно наглядно представить с помощью кодовых деревьев.

Пример 5. Для кодирования некоторой последовательности, состоящей из букв А, Б, В и Г, решили использовать неравномерный двоичный код, позволяющий однозначно декодировать полученную двоичную последовательность. Для букв А, Б и В использовали такие кодовые слова: А — О, Б — 10, В — 110.

Каким кодовым словом может быть закодирована буква Г? Код должен удовлетворять свойству однозначного декодирования. Если можно использовать более одного кодового слова, укажите кратчайшее из них.

Для решения задачи воспользуемся бинарным деревом.

Отметим вершины, соответствующие используемым кодовым словам: А — 0, Б — 10, В — 110:

Так как комбинациям префиксного кода должны соответствовать листья бинарного дерева, наше кодовое дерево должно выглядеть так:

Итак, для кодирования буквы Г можно использовать код 111.

Усложним условие задачи. Теперь кодируемая последовательность состоит из букв А, Б, В, Г и Д. Кодовые слова для букв А, Б и В определены: А — О, Б — 10, В — 110.

Какими кодовыми словами могут быть закодированы буквы Г и Д? Код должен удовлетворять свойству однозначного декодирования. Общая длина кодовых слов для всех пяти букв должна быть минимальной.

Cкачать материалы урока

Ответы

каждый член последовательности начиная с третьего равен произведению двух предыдущих:

138 байт,потому что 1024 бита=128 байт=> 10+128=138 как-то так.

в условии не указано но для кодирования используется фраза "в памяти " при этом для нахождения кода шифрованной буквы нужно к коду исходной буквы прибавить код буквы из предложения к первой букве прибавляем код первой буквы предложения ко второй код второй итд т.

а для расшифровки эти коды нужно вычитать, получаем

Что ты хочешь узнать?

Ответ

Ответ:

должно быть минимум 7 элементов

Объяснение:

Каждый излучающий элемент имеет два состояния- красный или синий цвет (выключенное состояние не рассматривается по условиям).

Значит, число возможных вариантов, которые можно показать на таком табло равно двум в степени, равной числу элементов.

один элемент: различных сигнала (состояния панели)

три элемента: различных сигналов можно отобразить

шесть элементов: различных сигнала (мало, надо сто)

семь элементов: различных сигналов (нам хватит)

Выбираем семь элементов, т.к. ими можно отобразить сто вариантов (и даже немного больше).

Можно и посчитать число элементов напрямую, без подбора.

Считается через логарифм по основанию два из десяти, затем округляется с избытком (то есть, всегда вверх):

В расчёте также показано, что такой логарифм можно посчитать через отношение двух десятичных логарифмов (lg), либо двух натуральных логарифмов (ln).

Ссылка на основную публикацию
Adblock
detector