- •7.100402 «Транспорті системи»
- •1. Основні поняття та етапи розвитку інформаційних систем та технологій
- •1.1 Етапи розвитку інформаційних технологій (іт)
- •1.2 Інформаційні системи
- •1.3. Класифікація іс
- •1.4. Структура іс
- •2. Бази даних
- •2.1. Інформаційні моделі даних
- •2.2. Ієрархічна модель даних
- •2.3. Мережева модель даних
- •2.4. Реляційна модель даних
- •Тобто кожний атрибут приймає значення з одного з 4-х доменів.
- •3. Реляційні бази даних
- •3.1. Первинний ключ (суперключ) відношення
- •3.2. Можливий (потенційний) ключ відношення
- •3.3. Чужий (зовнішній) ключ відношення
- •4. Проектування реляційної бази даних
- •4.1. Цілі проектування рбд
- •4.2. Універсальне відношення
- •4.2.1. Поняття форми відношення. Перша нормальна форма.
- •4.2.2. Проблеми, що можуть виникнути при роботі з рбд
- •4.3. Нормалізація відношення
- •4.3.1. Нормальна форма Бойса-Кодда
- •4.3.2. Функціональні залежності
- •4.4.1. Поняття сутності та зв’язку
- •4.4.2. Тип зв’язку
- •4.4.3. Побудова попередніх відношень
- •4.4.3.1. Правило №1
- •4.4.3.2. Правило №2
- •4.4.3.3. Правило №3
- •4.4.3.4. Правило №4
- •4.4.3.5. Правило №5
- •4.4.3.6. Правило №6
- •4.5. Перевірка отриманих відношень.
- •5. Основні поняття теорії інформації
- •5.1. Одиниці виміру ступеню невизначеності системи
- •5.2. Властивості ентропії
- •5.3. Ентропія та інформація
- •5.4. Ентропія як міра кількості інформації
- •5.5. Кодування дискретних повідомлень
- •5.5.1. Запис повідомлення за допомогою кодів
- •5.5.2. Способи перетворювання кодів
- •5.6. Класифікація (двійкових) кодів
- •5.6.1. Ненадлишкові коди
- •5.6.2. Надлишкові коди
- •5.6.2.1. Коди з виявленням помилок
- •5.6.2.2. Коди з виправленням помилок
- •6. Системи класифікації і кодування інформації
- •6.1 Класифікатори.
- •6.2 Методи класифікації об’єктів.
- •6.3. Система ідентифікаційного кодування інформації
- •6.4. Методи ідентифікаційного кодування інформації
- •6.5. Захист ідентифікаційних кодів від помилок
- •6.5.1. Захист від помилок коду станції
- •6.5.2. Захист від помилок інвентарного номера вагона
- •6.6. Уніфікована система документації. Документообіг
5.5.2. Способи перетворювання кодів
Перетворення цілих чисел з однієї системи числення з основою в іншу систему числення з основою М можна робити наступними способами.
1-й спосіб. Ділення числа на М за допомогою арифметики з основою . Цифрами числа в системі числення з основою М будуть залишки від ділення. Зручно користуватися цим способом при переведенні з десятквої системи числення (m=10), тому, що використовується десяткова арифметика.
Наприклад: К=7110; 108.
71/8 = 8 залишок 7 = ао; 8/8 = 1 залишок 0 = а1; 1/8=0 залишок 1 = а2 . К=1078.
2-й спосіб. Множення цифр числа К на ступені за допомогою арифметики основи М, тобто обчислення значення багаточлена:
.
Зручно користуватися при переведенні в десяткову систему числення з інших систем (використовується десяткова арифметика).
Наприклад: К=10001112; 210.
К=26+22+21+20=7110.
3-й спосіб. Легко перетворювати числа із системи числення з основою у систему числення з основою М=2Р і навпаки. (Зрозуміло, якщо Р=3, то це вісімкова система числення; якщо Р=4, то це шістнадцяткова система числення. Вони використовуються при опрацюванні даних на ЕОМ.) Для цього потрібно запам’ятати таблиці двійкового запису вісімкових і шістнадцяткових цифр (табл.31).
Таблиця 31
цифра |
двійковий запис |
цифра |
двійковий запис |
0 |
0 000 |
8 |
1000 |
1 |
0 001 |
9 |
1001 |
2 |
0 010 |
A(10) |
1010 |
3 |
0 011 |
B(11) |
1011 |
4 |
0 100 |
C(12) |
1100 |
5 |
0 101 |
D(13) |
1101 |
6 |
0 110 |
E(14) |
1110 |
7 |
0 111 |
F(15) |
1111 |
Для перетворення необхідно об’єднати відповідним чином розряди двійкового числа.
Наприклад: 4716=0100 01112; 001 000 1112=1078.
Висновок: на фізичному рівні в ЕОМ вся інформація подається двійковим кодом, хоча в повсякденному житті більш зручною залишається десяткова система кодування інформації.
5.6. Класифікація (двійкових) кодів
Коди
діляться за кількістю застосованих
кодових комбінацій на ненадлишкові
(коли
)
й надлишкові
(коли
<
)
. Тут
–
кількість застосованих кодових
комбінацій.
5.6.1. Ненадлишкові коди
У
ненадлишкових
кодах застосовані всі
можливі кодові комбінації
,
що можуть бути отримані з
двійкових
розрядів (
),
тобто загальна кількість дорівнює числу
поєднань з двох елементів по
.
Тому будь-яке перекручування через
перешкоди
одного з символів в кодовому слові
викликає
помилку, тому, що кодове слово перетворюється
в деяке інше
допустиме
кодове слово. Таким чином приймач прийме
повідомлення з помилкою. У такий спосіб
ненадлишкові
коди не дозволяють виявляти помилки.
Ненадлишкові коди бувають рівномірні і нерівномірні.
У рівномірних кодах усі кодові комбінації мають однакову довжину і тому їх не потрібно розмежовувати (відокремлювати одну кодову комбінацію від іншої).
Прикладом
може бути телеграфний код, за допомогою
якого передають 32
символи російського алфавіту. Код має
основу
,
,
біт.
Код із 5 двійкових символів (0,1). Усього з урахуванням цифр і знаків необхідно передавати 54 символи, тому вводять регістрові кодові комбінації, що настроюють приймач на прийом букв або цифр.
У комп’ютерних мережах використовується восьмирозрядний двійковий код ( біт, ). Однак вже відчутна нестача кодових слів для кодування символів у ‑розрядних ЕОМ.
Виникає проблема кодування символів національних алфавітів. Двохсот п’ятдесяти шести символів недостатньо для того, щоб закодувати усі необхідні символи повідомлень. У зв’язку з цим, кодами деяких основних символів кодуються додаткові символи національних алфавітів, а при розкодуванні утворюються неоднозначності. Ця проблема особливо яскраво виявляється при прийомі повідомлень із Інтернету.
Для
розв’язання проблеми запропоновано
запровадити
-бітовий
код, спроможний закодувати
символів, але поки ще не реалізований.
Рівномірні коди не є оптимальними за числом розрядів, що припадають на один переданий символ. Як це зрозуміти?
Наприклад,
для передачі десяткових цифр потрібний
-бітовий
рівномірний код:
.
Тоді як ентропія десяткової цифри не
біта,
а
біта.
Звідси виникла ідея використання нерівномірних кодів, у котрих символи, які часто зустрічаються в повідомленнях, кодують більш короткими кодовими комбінаціями, а ті, що рідко – більш довгими. І таким чином можна скласти оптимальний нерівномірний код, у якому враховуються статистичні дані про частоту появи тих або інших символів у переданих повідомленнях.
Як приклад нерівномірного коду розглянемо код Хаффмена для кодування десяткових цифр
~
~
~
~
~
~
~
~
~
~
.
У середньому для запису кодом Хаффмена однієї десяткової цифри потрібно
біта
це
майже дорівнює ентропії десяткової
цифри
біта.
Як правило нерівномірні коди є префіксними, тобто жодна кодова комбінація не є початком іншої, що дозволяє розшифрувати повідомлення, записане без розподілювачів.
Наприклад, для коду Хаффмена: виділяють два старших біта; якщо це « » – то це тетрада (у кодовому слові біта), інакше – це тріада. В такому вигляді цифри передаються каналами зв’язку. Після передачі вже на приймачі в тріадах доповнюють -й старший біт, а тетради спеціальним чином також перетворюють у двійковий код.
До речі, рівномірні коди є префіксними за визначенням. Але щоб нерівномірні коди стали префіксними використовують специфічні прийоми на кшталт складання алгоритмів розпізнавання змісту повідомлень, наведеному вище.
