Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦIЇ_з_IНФОРМАТИКИ.doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
359.42 Кб
Скачать

2. Системи класифікації та кодування інформації

Сукупність правил інтерпретації разом із правилами формування повідомлень складають мову. Повідомлення можна поділити на два класи – дискретні та недискретні. Дискретні повідомлення – це повідомлення, які сформовані за допомогою скінченого набору деяких знаків. Прикладами таких повідомлень є лист з текстом, промова, музичний твір. В першому випадку скінченим набором знаків є літери, цифри та знаки пунктуації. У випадку промови, як скінчений набір знаків виступає набір звуків – фонем. Музичний твір є скінченим набором нот. Впорядкований набір знаків, що використовуються для формування повідомлень, називається алфавітом.

До недискретних повідомлень відносяться такі повідомлення, які не можна подати у вигляді скінченого набору знаків. Це зокрема, малюнки, карти, графіки. Тим не менш, недискретні повідомлення можна подати наближено у вигляді дискретних.

Дискретне повідомлення, записане за допомогою деякого набору знаків, можна записати, використовуючи деякий інший набір знаків. Правило, що описує відображення одного набору знаків у інший, називається кодом, а сам процес перетворення повідомлення записаного за допомогою одного набору знаків у повідомлення, записане за допомогою іншого набору знаків, називається кодуванням. В більш широкому розумінні під кодуванням розуміють процес співставлення інформаційним об’єктам (тобто інформації) набору знаків. Так, для спілкування між собою ми використовуємо українську мову. При розмові, інформацію ми кодуємо за допомогою звуків (фонем), а на письмі – за допомогою літер та знаків пунктуації. Таким чином, мова в даному випадку виступає в ролі коду.

В інформатиці велику роль відіграє двійковий набір знаків. Як правило, його розглядають як впорядкований ─ {0, 1}, тобто, як двійковий алфавіт. Це обумовлено відносною технічною простотою реалізації двох станів в технічних пристроях: напруга є – напруги немає, струм є – струму немає, вектор намагніченості напрямлений в деякому виділеному напрямку – вектор намагніченості напрямлений в протилежному напрямку.

Отже, робота комп'ютера ґрунтується на двох принципах: двійкового кодування команд та даних і програмного управління.

Згідно з принципом двійкового кодування всі дані та програми їх опрацювання представлені двійковими кодами.

Кодуванням є подання за визначеними правилами дискретних повідомлень у деякі комбінації, складені з визначеного числа елементів-символів. Ці елементи називаються елементами коду, а число різноманітних елементів, з яких складаються комбінації,  основою коду. Правило кодування звичайно виражається кодовою таблицею, в якій кожному сигналу повідомлення ставиться у відповідність визначена кодова комбінація.

Як одне з основних положень інформатики можна розглядати те, що всяке повідомлення можна з довільним ступенем точності подати за допомогою 0 і 1 (двійкового алфавіту) у вигляді скінченої послідовності. Наприклад, 1101011101110111. Подати повідомлення у вигляді двійкової послідовності можна в багато способів (навіть в нескінченно багато). Часто про різні способи кодування повідомлень за допомогою двійкового алфавіту говорять як про різні формати повідомлень.

Кодове подання дискретних значень сигналу здійснюється за допомогою цифр, але не обов’язково десяткових. Якщо для подання дискретних повідомлень складають комбінації із різноманітних сполучень 0 та 1, маємо код з основою два або двійковий код. Наприклад, число 25 у двійковій системі числення виглядатиме так:

1 х 2 4 + 1 х 2 3 +0 х 2 2 + 0 х 2 1 + 1 х 2 0 = 25,

і це число запишеться в послідовності розрядів як 11001.

Повідомлення у двійковій формі можна характеризувати довжиною – кількістю двійкових цифр, що його складають. Група двійкових знаків, що обробляється одночасно, називається машинним словом, а кількість двійкових знаків у слові  довжиною слова. Слово є базовою логічною одиницею інформації в комп’ютері. За одиницю інформації взята кількість інформації, що укладена у виборі однієї з двох рівноймовірних подій. Ця одиниця називається ’’двійковою одиницею’’ або бітом (binary digit, binary unit)  bit. Отже біт  це один двійковий розряд, в який може записуватись тільки 1 або 0. Подія є  1, події немає  0. Слово довжиною 8 біт називається байтом.

Отже, одиницею довжини двійкового повідомлення є біт, що відповідає повідомленню, яке складається з однієї двійкової цифри. Наприклад, довжина повідомлення 10011 становить 5 біт. Слово bit (біт) є скороченням англійського binary digital, що перекладається, як "двійкова цифра". Для характеристики довжини повідомлення використовують і більші одиниці:

1 байт = 8 біт,

1 Кілобайт (1 Кбт) = 1024 байт = 8192 біт,

1 Мегабайт (1 Мбт) = 1024 Кілобайт,

1 Гігабайт (1 Гбт) = 1024 Мегабайт,

1 Терабайт  (1 Тбт) =  1024 Гігабайт.

Слід відмітити, що в бітах, окрім довжини повідомлення, також вимірюється кількість інформації, яку повідомлення несе. Ця величина, говорячи дещо спрощено, характеризує корисність повідомлення. Кількість інформації є предметом розгляду теорії інформації. Довжина повідомлення і кількість інформації є різними величинами, але їх одиниці вимірювання називаються однаково. Тому потрібно не плутати біти (байти і т.д.), що характеризують довжину повідомлення, з бітами (байтами і т.д.), що характеризують кількість інформації. А втім, ми не будемо говорити далі про кількість інформації, тому всі перераховані одиниці будуть стосуватись лише довжини повідомлення.

Кодування текстової інформації.

В комп’ютері всяке повідомлення подається у вигляді двійкової послідовності. Таке подання будемо називати двійковим кодом повідомлення. Кодування текстових повідомлень, тобто повідомлень у письмовій формі на природній мові, здійснюється так: кожному символу повідомлення (включаючи знаки пунктуації та пропуски) ставиться у відповідність, за певним правилом набір з нулів та одиниць ─ двійковий код символу. Записуючи замість символів в текстовому повідомлені їх двійкові коди, одержимо двійковий код повідомлення.

Таблиця, яка встановлює відповідність між символами та їх двійковими кодами називається кодовою таблицею. Код кожного символу має довжину 8 біт (1 байт). Всього символів в кодовій таблиці є 28 = 256. Існує багато різних варіантів кодових таблиць, але їх основу складає ASCII – Американський стандартний код обміну інформацією. ASCII задає коди перших 128 символів кодової таблиці, куди входять великі та малі літери англійського алфавіту, знаки пунктуації, цифри, математичні символи та управляючі символи.

На другу половину кодової таблиці загального стандарту немає. Так, фірма IBM розмістила в другій половині літери ряду європейських алфавітів, літери грецького алфавіту, додаткові математичні символи, а також символи псевдографіки. Ця таблиця називається кодовою таблицею 437.

Для Європи більше підходить кодова таблиця 850, яка мітить літери більшості європейських алфавітів, а також північно- і південноамериканських алфавітів. В другій половині таблиці для цього були викинуті літери грецького алфавіту та деякі символи псевдографіки (бо число символів кодової таблиці фіксоване і дорівнює 256).

Ні таблиця 437, ні таблиця 850 не містять літер українського, російського та білоруського алфавітів – кирилиці. Для цих країн розроблена кодова таблиця 866. В жертву принесені деякі символи псевдографіки, а також специфічні літери європейських алфавітів.

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

В цьому алфавіті використовуються цифри 0, 1, ... , 9, A, B, C, D, E, F. Це дозволяє записати таблицю більш компактно. Код кожного символу записується в цьому випадку як дві шістнадцяткові цифри. Перехід від 16-го коду до 2-го легко здійснити, замінивши кожну з двох шістнадцяткових цифр чотирма двійковими у відповідності з табл.1:

Таблиця 1.

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

Тут 2-й рядок – шістнадцяткові цифри, 1-й рядок відповідні їм числа в десятковій системі числення, 3-й рядок – запис шістнадцяткових цифр у двійковій системі числення.

Приклад. Шістнадцятковий код А3 відповідає  двійковому коду 10100011.

Нижче (табл. 2) подана кодова таблиця 866.

Таблиця 2.

 

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0

 

>

 

0

@

P

`

p

А

Р

а

-

L

¦

р

Ё

1

O

<

!

1

A

Q

a

q

Б

С

б

-

+

T

с

ё

2

O

¦

"

2

B

R

b

r

В

Т

в

-

T

T

т

Є

3

©

!

#

3

C

S

c

s

Г

У

г

¦

+

L

у

є

4

Ё

$

4

D

T

d

t

Д

Ф

д

+

-

L

ф

Ї

5

§

§

%

5

E

U

e

u

Е

Х

е

¦

+

-

х

ї

6

Є

­

&

6

F

V

f

v

Ж

Ц

ж

¦

¦

г

ц

Ў

7

¦

7

G

W

g

w

З

Ч

з

¬

¦

+

ч

ў

8

^

(

8

H

X

h

x

И

Ш

и

¬

L

+

ш

°

9

0

v

)

9

I

Y

i

y

Й

Щ

й

¦

г

-

щ

·

A

0

>

*

:

J

Z

j

z

К

Ъ

к

¦

¦

-

ъ

­

B

>

<

+

;

K

[

k

{

Л

Ы

л

¬

T

-

ы

v

C

+

L

.

<

L

\

l

¦

М

Ь

м

-

¦

-

ь

D

d

-

,

=

M

]

m

}

Н

Э

н

-

=

¦

э

E

d

^

.

>

N

^

n

~

О

Ю

о

-

+

¦

ю

F

0

Ў

/

?

O

_

o

¦

П

Я

п

¬

¦

-

я

 

Шістнадцятковий код символу складається з номера стовпця і номера рядка, де знаходиться символ. Так, літера Ї має шістнадцятковий код F4, а двійковий - 11110100.

Крім літер, цифр, знаків пунктуації ASCII ще включає в себе управляючі символи ─ символи з кодами від 00 до 1F (перші два стовпці кодової таблиці). Вони використовуються при обміні інформацією між комп’ютерами через мережу, а також при виводі інформації на екран монітора чи на принтер. Так, ми звикли, що текст в книзі розбитий на сторінки, а сторінки – на рядки. В пам’яті комп’ютера текст являє собою єдину послідовність. При виводі на екран чи принтер, необхідно знову розбити текст на рядки, сторінки і т.д. Позначення кінця рядка, сторінки, і взагалі всього тексту, здійснюється за допомогою цих управляючих символів.

Пропуск між літерами також є знаком  ASCII з шістнадцятковим кодом 20.

Десяткові цифри 0, 1, ... , 9 мають коди від 30 до 39 відповідно. Застосовуючи ASCII число 26 (в десятковій системі числення) можна подати як 00110010 00110110. Перші 8 цифр – це двійковий код цифри 2, а наступні 8 – двійковий код цифри 6.

При вводі тексту в комп’ютер перевід літер в двійкові коди здійснюється автоматично. Так само автоматично здійснюється перетворення двійкових кодів у зображення символів при виводі на екран чи принтер у відповідності до встановленої кодової таблиці.

Кожний символ в повідомленні, закодованому за допомогою ASCII, займає 1 байт. В останній час, із зростанням потужності комп’ютерів, використовується 16-бітне кодування Unicode (Юнікод). Кожен символ при кодуванні за допомогою Unicode зображається 16-а двійковими цифрами. Загальна кількість символів дорівнює 216 = 65536. Цього достатньо, щоб закодувати практично всі символи більшості народів світу, елементи китайських, японських та корейських ієрогліфів, що дозволяють будувати будь-які ієрогліфи, та величезну кількість спеціальних символів.

Кодування числової інформації.

Кодувати числа за допомогою коду ASCII можна, але такий спосіб кодування є неекономним. Так число 1000000 буде представлено в пам’яті комп’ютера як послідовність з 56 двійок і одиниць. Більш економним, порівняно з кодуванням за допомогою ASCII, є запис числа в двійковій системі числення. 1000000 в двійковій системі числення зобразиться як

11110100001001000000

де всього 20 двійкових цифр.

З іншого боку, виконання математичних дій в комп’ютері здійснюється над числами, записаними в двійковій системі числення, а не закодованими за допомогою ASCII. Комп’ютер так само автоматично здійснює перевід чисел в двійкову систему числення. А звідки комп’ютер знає, який спосіб переводу чисел використовувати? Це визначає програма, яка в даний момент управляє його роботою.

Кодування графічної інформації.

Малюнки та фотографії є прикладами недискретних повідомлень. Їх подають у вигляді дискретних, розбиваючи малюнок горизонтальними та вертикальними прямими на маленькі прямокутники – елементи зображення, або піксели. Кожному елементу ставиться у відповідність двійкова послідовність фіксованої довжини, в залежності від того, скільки кольорів ми хочемо закодувати в повідомленні. (Ми не можемо точно передати малюнок чи фотографію у вигляді дискретного повідомлення, оскільки теоретично для цього потрібно щоби розмір елемента зображення був нескінченно малий, а кількість кольорів – нескінченно велика. Але цього і не потрібно в силу наших обмежених фізіологічних можливостей, ─ достатньо передати зображення так, щоби людина не могла відрізнити його від оригінала).

Для кодування чорно-білого зображення нам достатньо ставити у відповідність кожному елементу одну двійкову цифру, наприклад, 1 ─ для білого прямокутника, 0 – для чорного. Для кодування 4-колірного зображення потрібна вже послідовність з двох цифр, наприклад, 00 – чорний колір, 01 – синій колір, 10 – зелений, 11 – червоний. Повноцінна кольорова гамма одержується при кодуванні кожного елемента 24 бітами. Розмір елемента зображення повинний бути малим настільки, щоби він мав один колір (а не був, наприклад, частиною червоний, а частиною зелений).

Виписуючи коди кожного елемента зображення, зліва направо, рядок за рядком, ми одержимо двійкову послідовність, що є кодом малюнка.

Такий спосіб кодування графіки називається растровим. Ми зберігаємо інформацію про кількість елементів зображення і колір кожного елемента.

Є ще і інший спосіб кодування графічної інформації – векторний. Суть його полягає в тому, що ми розбиваємо зображення на елементи – елементарні відрізки та дуги, і зберігаємо інформацію про параметри цих елементів (товщину, колір, положення на малюнку тощо). Цю інформацію ми можемо закодувати, використовуючи ASCII або інші, спеціальні способи.