Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теоретические основы информатики. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
1) отображение Σ обратимо;
W
2) любое слово из
однозначным образом раскладывается на
элементарные коды.
Предполагая, что первое условие всегда выполнимо, выясним, как по схеме Σ можно выяснить соблюдение второго из этих условий, и, следовательно, установить однозначность декодирования.
Пусть слово B = B' B''. Тогда слово B' называется началом (или префиксом), а слово B'' – концом (или аффиксом) слова B.
Пустое слово Λ будем считать префиксом и аффиксом любого другого слова. Тогда, само слово является как своим аффиксом, так и своим префиксом: В = ΛВ =
ВΛ.
Все аффиксы и префиксы данного слова В, кроме самого слова В и Λ, называются собственными аффиксами и префиксами.
Схема Σ обладает свойством префикса, если ни один элементарный код не является собственным префиксом другого элементарного кода, т.е. разложение Bi = Bj B' возможно тогда и только тогда, когда i = j и B' = Λ.
Аналогично следующее определение: схема Σ обладает свойством аффикса, если ни один элементарный код не является собственным аффиксом другого элементарного кода, т.е. разложение Bi = B'Bj возможно тогда и только тогда, когда B' = Λ и j = i.
Одной из разновидностей кодов, обладающих префиксностью, являются коды постоянной длины. В этой схеме кодирования длины всех элементарных кодов одинаковы, что и обеспечивает ее префиксность.
Теорема: Если схема Σ обладает свойством префикса, то порождаемое его алфавитное кодирование будет однозначно декодируемым. Аналогично для свойства аффикса.
Замечание: Префиксность или аффиксность не является необходимыми условиями однозначности декодирования, т.е. если схема однозначно декодируется, то не обязательно, что она обладает свойством префикса или аффикса.
Пример. Рассмотрим схему (символ → код): a1 → b1, a2 → b1b2, a3 → b3b1. Очевидно, что она не обладает ни префиксностью, ни аффиксностью, однако порождаемое ею кодирование – однозначно.
§ 1.4. Оценка длины элементарных кодов.
Рассмотрим алфавитное кодирование со схемой Σ: ai1ai2…aik→Bi1Bi2…Bik. Количество букв в алфавите А обозначим n; |A| = n. Количество букв в алфавите B обозначим q; |B| = q. Пусть li = l(Bi) – длина i – го кодового слова, i = 1, …, n. Тогда имеет место теорема.
Теорема: (неравенство Макмиллиана – Крафта). Если алфавитное кодирование со схемой Σ обладает свойством однозначности, то
11
.1
1
1
n
i
l
i
q
a b c d e
000
001
010
01
1
символ
код
символ
код
а 1 р
5
з 4 г 3 б 2 у
6
символ
код
символ
код
а β н
γγ
г
βα о αγ е α п γα
з γ т
ββ
и
βγ у βγ
Следствие 1: Неравенство Макмиллиана – Крафта является необходимым и достаточным условием существования взаимно однозначной схемы кодирования с предписанным набором длин кодовых слов.
Следствие 2: Если существует однозначно декодируемая схема с предписанным набором длин кодовых слов, то существует и префиксная схема с таким же набором длин элементарных кодов.
Практическая работа №2
Задание 2.1. С помощью кодовой таблицы закодируйте слова «abcde»,
«ababa», «dabbe». Для каждого из полученных кодов подсчитайте количество способов, которыми оно может быть декодировано.
Задание 2.2. Схема алфавитного кодирования задана таблицей.
Пользуясь данной схемой:
1) зашифровать слова: арбуз, арба, буза, зуб, зураб;
2) расшифровать слова: 512, 15264, 4625, 514, 3564.
Задание 2.3. Дана схема алфавитного кодирования:
Является ли эта схема однозначно декодируемой? Ответ обоснуйте. Пользуясь заданной схемой:
1) зашифровать слова: топот, затоп, гипотенуза, загон;
2) расшифровать всеми возможными способами слова: γααγββ, ββγ, βααγγ,
γαβγ, γαβγγαγ.
Задание 2.4. В таблице приведены данные о количестве слов разной длины в некоторой схеме троичного кодирования. Может ли такая схема обладать свойством однозначности декодирования?
12
Длина
1 2 3 4 Количество слов
1 4 4
7
Самостоятельная работа №1
a b c d e 1 01
010
001
000
1. Самостоятельно подберите ключевую фразу и с её помощью закодируйте свои
имя и фамилию.
Для заданий 2 - 4 необходимо придумать три предложения из 4-6 слов (строки из стихотворений, песен, лозунги).
2. Закодируйте фразу №1 способом «Любая буква».
3. Закодируйте фразу №2 шифром Цезаря.
4. Закодируйте фразу №3 шифром Виженера; ключевое слово «АД».
5. Смотри условие задачи.
6. С помощью кодовой таблицы закодируйте слово. Для полученного кода
подсчитайте количество способов, которыми оно может быть декодировано.
Вариант 1.
5. Каждая буква кодируется определенным двузначным числом, причем какие-то
два слова из списка (КРОТ, ТОРТ, ПОРТ, ТРАКТИР, ПАСТИЛА, ПАРОХОД) закодированы как 12131415 и 16171314181419. Как при этом будет закодировано слово РОТОР?
6. «acbed».
Вариант 2.
5. Каждая буква кодируется определенным двузначным числом, причем какие-то
два слова из списка (КРЫША, ШАЛАШ, ШОРОХ, ШАТЕР, РОТОР) закодированы как 3230441566 и 1566279830. Как при этом будет закодировано слово ШАР?
6. «debca».
Вариант 3.
5. Каждая буква кодируется определенным двузначным числом, причем какие-то
два слова из списка (САПОГИ, РУБАХА, ГРОХОТ, ПРОКАТ, БАТРАК, ПОНТОН) закодированы как 517514318836 и 647514291436. Как при этом будет закодировано слово КАРТА?
6. «bcdbc».
Вариант 4.
5. Каждая буква кодируется определенным двузначным числом, причем какие-то
два слова из списка (КОПОТЬ, ЛАПОТЬ, ЗАХВАТ, ПОНТОН, БАТРАК,
13
ВОРОНА, ЛИСИЦА, СОБАКА) закодированы как 983745377265 и
456413651265. Как при этом будет закодировано слово БАЦИЛЛА?
6. «dcbad».
Вариант 5.
5. Каждая буква кодируется определенным двузначным числом, причем какие-то
два слова из списка (РАСХОД, ХОДОК, САДОК, КОРСАР, ДОСКА) закодированы как 3211411221 и 211222321122. Как при этом будет закодировано слово САХАР?
6. «bedca».
Вариант 6.
5. Каждая буква кодируется определенным двузначным числом, причем какие-то
два слова из списка (ПОТОЛОК, ОКОЛОТОК, ТОЛОКНО, КОРОСТА, СТАРОСТА) закодированы как 14111311121811 и 1614101511161410. Как при этом будет закодировано слово СТАКАН?
6. «cacab».
Вариант 7.
5. Каждая буква кодируется определенным двузначным числом, причем какие-то
два слова из списка (ПАРТА, РОПОТ, ПАТРУЛЬ, ПАРТЕР, ТАРАН, РОБОСТЬ) закодированы как 3022212231 и 212030314030. Как при этом будет закодировано слово ТРОПА?
6. «ccbba».
Вариант 8.
5. Каждая буква кодируется определенным двузначным числом, причем какие-то
два слова из списка (БАРКАС, БАКЛАН, ЛАНГЕТ, РАБОТА, КАРКАС) закодированы как 221113213211 и 121122121131. Как при этом будет закодировано слово КОРОБКА?
6. «cadcb».
Вопросы для самоконтроля.
1. Какие проблемы рассматривает «теория информации»?
2. В чем отличие сигналов детерминированных от случайных?
3. Что представляют собой дискретизация во времени и квантование по
уровню непрерывного сигнала?
4. Что определяет термин «бит» в теории информации и вычислительной
технике?
5. Дайте определения понятиям «скорость передачи информации» и
«пропускная способность канала связи».
14
Тема 2. Позиционные системы счисления
§ 2.1. Системы счисления
Системой счисления (С.С.) называется правило записи чисел при помощи ограниченного заданного набора специальных символов (цифр).
Унарная система счисления – это С.С., в которой для записи чисел используется только один знак – I («палочка»).
Позиционная система счисления – это С.С., в которой значение каждой цифры в записи числа зависит (определяется) от её положения (позиции) в записи числа. Пример: арабская С.С.
Непозиционная система счисления – это С.С., в которой значение каждой цифры в записи числа не зависит от её положения, а определяется иными правилами. Пример: римская С.С.
Далее будем рассматривать только позиционные С.С. Количество цифр, используемых для построения чисел, в той или иной С.С. – является основанием С.С. Если количество таких цифр равно р, то система счисления называется р­ичной. Запись произвольного числа N в р-ичной позиционной системе счисления основывается на представлении этого числа в виде многочлена:

  


 

     

– стандартная (каноническая, развернутая) форма представления числа, где   . Для дробных чисел стандартная запись расширяется до отрицательных
позиций.
    

 


 
Если рассмотреть 5-ую С.С., то для записи чисел можно использовать только цифры: 0, 1, 2, 3, 4. Тогда стандартная форма будет выглядеть:
           
Если , то роль цифр выполняют латинские буквы. Например в 16-ой
С.С. для записи чисел можно использовать цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Причем цифра A соответствует 10, B – 11, … F – 15. В двоичной системе
запись числа будет, длиннее, чем в любой другой (
технически, реализовать вычислительную машины, работающую с двоичными числами, гораздо проще.
 
). Но

§ 2.2. Перевод чисел из одной системы счисления в другую
Перевод числа из p-ой С.С. в 10-ую С.С. производится в соответствии со стандартной формой записи числа.
                          

,
,

15
               
10 2
127
8
248
16
10 5 2
8
15 8
16
15=F
0
4 2 2 47
8 1
88
1 2 1
40
7
80
0
7
8
0,
8125
  
0,
857
   
1
625
  
13=D
712
   
1
25
   
11=B
392
   
0
5
  
6 272
   
1
0
4 352

,
Аналогично для дробных чисел:
                    

.

,
Для обратного перевода чисел из 10-ой С.С. в p-ую С.С. используется тот же самый алгоритм, но в обратном порядке. Так для целой части чисел используется следующий алгоритм:
1) целочисленно разделить исходное число
на основание новой С.С. p

и найти остаток от деления – это и будет цифра младшего, нулевого разряда числа
;
2) частное от деления снова целочисленно разделить на p с выделением
остатка. Процедуру продолжать до тех пор, пока частное от деления не окажется меньше p;
3) образовавшиеся остатки от деления, в обратном порядке, и представляют
число
.
Рассмотренный алгоритм удобно реализовать в следующем виде.
  

  

Для дробной части числа используется иной алгоритм:
1) умножить исходную дробь в 10-ой С.С. жить на p. Выделить целую часть – она и будет первой цифрой новой дроби. Отбрасываем целую часть;
2) для оставшейся дробной части операцию умножения с выделением целой и
дробной частей повторять, пока в дробной части не окажется 0 или не будет достигнута желаема точность конечного числа. Появляющиеся при этом целые знаки будут цифрами новой дроби;
3) записать дробь в виде последовательности цифр после ноля с разделителем в порядке их появления.
Продемонстрируем работу алгоритма на примере.
 
  
(4 знака )


Перевод из p-ой С.С. в q-ую С.С. осуществляется через десятичную С.С. А
именно: 
.
16
:         
38
14
28
2
10=A






































Практическая работа №3
Задание 3.1. Перевести числа в 10-ую С.С. (дробную часть результата
записать с пятью знаками):
Задание 3.2. Перевести числа из 10-ой С.С. в указанную (дробную часть результата записать с пятью знаками):

.
Задание 3.3. Переведите числа из одной С.С. в другую:
Задание 3.4. Дети собрали 100 грибов – 44 белых гриба и 23 подберезовика.
В какой С.С. подсчитаны грибы? Сколько грибов собрали дети, если вести подсчет в 10-ой С.С.?
Задание 3.5. В группе 100 человек: 23 мальчика и 22 девочки. В какой С.С. ведется студенческая документация? Что стоит в зачетке у отличника?
Задание 3.6. За 5 лет учебы в ВУЗе двоечник Вася 1000 раз сдавал зачеты: 122 раза по математике и 101 раз по информатике. В какой системе счисления производил подсчет своих успехов Вася? Сколько раз он порадовал своих педагогов в привычной для нас С.С.?
Как отмечалось ранее, интерес к 2-ой С.С. связан с тем, что именно эта система используется для представления информации в компьютере (простая техническая реализация). Однако 2-ая запись чисел оказывается громоздкой и, кроме того, она плохо воспринимается и запоминается человеком. Поэтому часто
§ 2.3. Перевод чисел между 2-ой, 8-ой и 16–ой системами счисления
17
(в нумерации ячеек памяти компьютера, записи кодов команд, нумерации
10-ая с.с.
Для 8-ой С.С.
2-ые триады
10-ая с.с.
Для 16-ой С.С.
2-ые тетрады
0
000
0 0000 1 001
1 0001 2 010
2 0010 3 011
3 0011 4 100
4 0100
5
101
5 0101
6
110
6 0110
7
111
7 0111
8 1000
9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
регистров и устройств) 2-ую С.С. заменяют на 8-ую или 16-ую С.С. Выбор данных С.С. связан с тем, что существует простая связь между представлениями одного и того же числа в С.С. с основаниями 2, 8 и 16. Так как одна цифра в 8-ом представлении числа соответствует трем цифрам двоичного представления – двоичная триада, а одна цифра 16-ого – двоичной тетраде, четырем цифрам двоичного представления.
Этими соответствиями можно пользоваться для ускоренного перевода чисел
из 8-ой и 16-ой систем в 2-ую С.С. и обратно. Причем, в целой части производить группировку следует справа налево, в дробной — слева направо. Если в последней группе недостает цифр, дописываем нули: в целой части — слева, в дробной — справа. Затем каждая группа заменяется соответствующей цифрой новой системы (соответствия приведены в таблице).

󰇛󰇜 

󰇛󰇜 

 

:
:

:
󰇛
󰇜

:
.
.
.
18
 
246 65432
324567

100,00753 0,55331
1101010100011101 11100011100011
10101011101100011 1111111,111111
101010,1110001111 1,100001111011




;

.
󰇛󰇜  

.
Практическая работа №4
Задание 4.1. Перевести из 10-ой С.С. в 2-ую, используя в качестве
промежуточной 8-ую и 16-ую С.С.:
Задание 4.2. Перевести из 2-ой С.С. в 10-ую, используя в качестве
промежуточной 8-ую и 16-ую С.С.:
Задание 4.3. Выберите наибольшее из следующих чисел:
Задание 4.4. Известно, что  и . Найти   . Задание 4.5. Найдите наименьшее a, такое, что 
b.
Самостоятельная работа №2
1. Перевести в 10-ую систему счисления.
2. Перевести из 10-ой системы счисления.
3. Перевести из 10-ой в 2-ую систему счисления через 8-ую и 16-ую.
4. Перевести из 2-ой в 10-ую систему счисления через 8-ую и 16-ую.
5. Перевести числа из одной системы счисления в другую.
1. 10110111012 ; 0,10011101012; 2615748; 1332,32234; F5316
2. 321-Z3; 0,9562-Z8; 42765-Z16; 980,2345-Z9;
3. 67832; 0,9876; 387,41778
4. 10101010101; 0,110110111; 111001110,01100011
при некотором
Вариант 1.
5. 23105 - Z13; C3515 - Z6
1. 201112013 ; 0,01020121213; 10423415; 265,5748; 7C116
2. 245-Z2; 0,7567-Z6; 34521-Z16; 980,2345-Z7;
3. 45781; 0,7821; 476,94318
4. 11100011101; 0,001101111; 101010101,01110101
Вариант 2.
19
5. 52046 - Z12; 7A214 - Z5
Вариант 3.
1. 1011001011000112 ; 0,02102121023; 3706518; 244,32045; 56A16
2. 633-Z3; 0,8732-Z7; 51239-Z16; 980,2345-Z6;
3. 51292; 0,7112; 712,93421
4. 11001110111; 0,110000011; 110011110,110001111
5. 64127 - Z15; 5B714 - Z6
Вариант 4.
1. 120021222113 ; 0,11101110112; 304021325; 2122,002013; 6A416
2. 581-Z2; 0,9327-Z6; 48767-Z16; 980,2345-Z8;
3. 34192; 0,7329; 332,83452
4. 11110001010; 0,100110111; 101101100,10111111
5. 20334 - Z14; 85D15 - Z7
Вариант 5.
1. 11100100012 ; 0,11100101012; 3412148; 1223,23234; C6316
2. 502-Z3; 0,8312-Z8; 50725-Z16; 902,0745-Z9;
3. 69032; 0,5176; 349,52708
4. 11111010001; 0,011110101; 110001010,01101011
5. 24115 - Z13; A3715 - Z6
Вариант 6.
1. 220011023 ; 0,02100120013; 10213045; 273,5248; 8D116
2. 237-Z2; 0,9267-Z6; 35121-Z16; 924,2015-Z7;
3. 54721; 0,8761; 576,73318
4. 10100111011; 0,010101101; 111110001,01000111
5. 72046 - Z12; 7E214 - Z5
Вариант 7.
1. 1010101011010112 ; 0,02212100023; 4106718; 231,32245; 5C616
2. 523-Z3; 0,8902-Z7; 61249-Z16; 924,2015-Z6;
3. 33292; 0,8142; 755,92421
4. 11011110101; 0,110101011; 110101110,111011111
5. 63327 - Z15; 5E714 - Z6
Вариант 8.
1. 112121200113 ; 0,10011110012; 302220425; 2110,012113; 6D416
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]