Б С Бусигін - Прикладна інформатика - страница 53

Страницы:
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83 

b 1

У цьому випадку залишок відповідає наступній праворуч цифрі числа з основою системи Ь. Легко бачити, що, повторюючи описаний процес аж до нульової частки, ми одержимо всі цифри di рівняння (2.3) для N1. Зверніть увагу на те, що залишок слідує щораз представляти цифрою в системі числення з основою Ь. Очевидно, що процес завершиться після кінцевого числа кроків.

Розберемо описану процедуру на прикладі перекладу десяткового числа 52 в еквівалентну двійкову форму. Обчислення проводяться багаторазовим діленням на 2:

Залишок

52 |2_ 26 |2_ 13|2 6 |2 3 |2

1 |2 0

0=с10

0=с11

1=сС2

0=сС3

1=сС4

1=сС5

Отже, 52ю= сї5 сі4 сі3 сі2 сі! сі0 =1101002.

Як другий приклад, розглянемо переклад десяткового числа 58 506 у шістнадцяткову систему. Послідовні ділення на 16 дають:

Ділення

Залишок

Значення залишку в шістнадцятковій системі числення

58 506 16

10

А=с0

3 656 16

8

8=с1

228 16

4

4=с2

14 16

14

Е=с3

0

 

 

Отже, 58 50610= с3 с2 с1 с0 = Е48А16.

Процедура перекладу правильного десяткового дробу в систему числення з основою Ь повинна бути декілька іншою. Позначимо через Ыр десятковий дріб, що відповідає поліному (2.8):

2 (2.8)

+сс_2Ь~ +...+сСтЬ~

де с_1, с_

сі.,

цифри, які потрібно визначити. Оскільки поліном і Ыр

позначають ту саму величину, то має місце рівність (2.9):

Ыр = сЬ-1 +сс_2Ь_2+...+ссЬ_т

(2.9)

Перемножуючи обидві частини рівності (2.9) на Ь, одержимо (2.10):

Ь Ыр = сс^Ь0 +сс_2Ь_1+...+сс_тЬ_т+1

= с_1 +сс_2Ь_1+...+сс_тЬ_т+1 (2.10)

= сс_1+М'Р

Добуток складається з цілої частини с_1 і дробової частини N Ціла частина еквівалентна старшій цифрі вихідного дробу в системі числення з основою Ь. Як і раніше, легко бачити, що ціла частина, яка відповідає с_1і, лежить у діапазоні від 0 до Ь-1, і, отже, для систем з основою, більшою 10, ми повинні у відповідних випадках як цифри брати букви.

Якщо провести ті ж дії над дробовою частиною результату Ь Ыр, тобто помножити його на Ь, то можна буде визначити наступну цифру розкладання дробу Ыр .(2.11). А саме, оскільки

,   ... ,

Ь Ы'р = сс_2Ь0 +сс_3Ь_1 + ... + СтЬ_т+2

= с_2+с_3Ь 1 сс_2+М"Р

+ сЬ

т+2

(2.11)

то ціла частина добутку відповідає с_2. Очевидно, що неодноразово повторюючи описаний процес, ми зможемо визначити наступні цифри числа в системі по основі Ь. Процес припиняється, коли виходить нульова дробова частина. Однак на відміну від процесу перетворення цілих чисел, що завжди закінчується через кінцеве число кроків, процес перетворення десяткового дробу може бути нескінченним. Іншими словами, представлення десяткового дробу з кінцевим числом цифр може мати нескінченне число цифр у системі числення з іншою підставою. Тому, у будь-якому випадку, процес перетворення зупиняють при досягненні необхідної точності.

Приведемо два приклади перетворення десяткових дробів. Спочатку розглянемо переклад числа 0,6875 у двійкову форму:

Добуток

Значення розряду

2 х 0,6875 = 1,3750

= 1

2 х 0,375 = 0,750

сс_2 =0

2 х 0,75    = 1,50

с= 1

2 х 0,5     = 1,0

с_4 = 1

У результаті ми одержуємо 0,687510 = 0.сі_і сі_2 С-3 сі-4 = 0,10112. Тепер переведемо десятковий дріб 0,8435 у шістнадцяткову систему. Потрібно виконати наступний ланцюжок множень:

Добуток

Значення розряду

16 х 0,8435 = 13,496

 

16 х 0,496 = 7,936

сс_2 = 7

16 х 0,936 = 14,976

с= Е

16 х 0,976 = 15,616

с_4 = р

Зупинивши процес на цьому кроці, ми одержимо 0,843510 = 0.сі_і сі-2 С-3 сі-4 = 0Т37ЕТ...16...

На цьому прикладі видно, що процес перетворення цього дробу -нескінченний, оскільки третя цифра дробової частини на всіх кроках дорівнює 6.

Для змішаних десяткових чисел ціла і дробова частини обробляються порізно. Ціла частина перетвориться послідовними розподілами, а дробова -послідовними множеннями.  Змішане число,  що виходить у результаті, записується у виді цих двох частин розділених крапкою.

Д.2.3. Виконання операцій у двійковій системі числення

Двійкова система числення є основною системою представлення інформації в пам'яті комп'ютера. У цій системі числення використовуються цифри: 0, 1. Над числами у двійковій системі числення можна виконувати всі арифметичні дії.

При цьому використовуються наступні операції (табл.. 2.3):

Таблиця 2.3

Операції у двійковій системі числення

Додавання

Вирахування

Множення

0+0=0

0-0=0

0*0=0

1+0=1

1-0=1

1*0=0

0+1=1

1-1=0

0*1=0

1+1=10

10-1=1

1*1=1

Двійкова система числення має такі ж властивості, що і десяткова, тільки для представлення чисел використовується не lO цифр, а усього дві.

Для кодування числа, що бере участь у обчисленнях, використовується спеціальна система правил перекладу з десяткової системи числення в двійкову. У результаті число буде записано двійковим кодом, тобто представлено різним сполученням усього двох цифр - "0" і "l".

Для порівняння розглянемо число 45 для двох варіантів кодування. При використанні в тексті, це число потребує для свого представлення 2 байти, тому що кожна цифра буде представлена своїм кодом відповідно до таблиці ASCII. У шістнадцятковій системі код для цифри 4 буде 43, у двійковій системі -Ol OOOO ll, відповідно для цифри 5 - 53 і OlOlOOll.

Таблиця 2.4

Представлення чисел у позиційних системах

Десяткова

Шістнадцяткова

Двійкова

0

0

0000

1

1

0001

2

2

0010

3

3

0011

4

4

0100

5

5

0101

6

6

0110

7

7

0111

8

8

1000

9

9

1001

10

A

1010

11

B

1011

12

C

1100

13

D

1101

14

E

1110

15

F

1111

Д.2.4. Спосіби кодування інформації

На уроках фізики при розгляді якого-небудь фізичного явища ви використовуєте формули. Формула - це свого роду математичний код.

Розглянуті приклади говорять про те, що для представлення інформації можуть використовуватися різні коди і, відповідно, треба знати визначені правила - закони запису цих кодів, тобто вміти кодувати та перекодовувати.

Код - це набір умовних позначок для представлення інформації. Кодування - це процес представлення інформації у виді коду.

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

Д.2.4.1. Використання двійкової системи для кодування текстової інформації в ПК

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

Кодова таблиця - це внутрішнє представлення символів у комп'ютері. В усьому світі як стандарт прийнята таблиця ASCII (American Standard Code for Information Interchange - Американський стандартний код обміну інформацією).

Для збереження двійкового коду одного символу у цьому стандарті виділений 1 байт, який дорівнює 8 біт. З огляду на те, що кожен біт приймає значення "0" чи "1", кількість їхніх можливих сполучень у байті дорівнює 256.

Виходить, що за допомогою одного байта можна одержати 256 різних двійкових кодових комбінацій й відобразити з їх допомогою 256 різних символів. Ці комбінації й складають таблицю кодів ASCII.

Наприклад, ви натискаєте на клавіатурі латинську букву "S". У цьому випадку в пам'ять комп'ютера записується код 01010011. Для виводу букви S на екран комп'ютера відбувається його декодування - тобто по цьому двійковому коду будується на екрані комп'ютера зображення цього символу.

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

Створювати і зберігати графічні об'єкти в комп'ютері можна двома Спосібами - як растрове чи як векторне зображення. Для кожного типу цих зображень використовується свій спосіб кодування.

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

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

Растрове зображення являє собою сукупність крапок, використовуваних для його відображення на екрані монітора. Обсяг растрового зображення визначається множенням кількості крапок на інформаційний обсяг однієї крапки, яка залежить від кількості можливих кольорів. Для чорно-білого зображення інформаційний обсяг однієї крапки дорівнює 1 биту, тому що вона може бути або чорною, або білою, що можна закодувати двома цифрами - "0" чи "1". Розглянемо, скільки буде потрібно біт для відображення кольорової крапки: для 8 кольорів - 3 біти; для 16 кольорів - 4 біти; для 256 кольорів - 8 бітів (це 1 байт). У таблиці 2.5 показано кодування колірної палітри з 16 кольорів. Різні кольори та їхні відтінки виходять за рахунок наявності чи відсутності трьох основних кольорів (червоного, синього, зеленого) та їхньої яскравості. Кожна крапка на екрані кодується за допомогою 4 бітів.

Таблиця 2.5

Кодування 16-кольорової палітри.

 

 

 

 

 

Значення у

Колір

Яскравість

Червоний

Зелений

Синій

системі числення

 

 

 

 

 

10-кова

16-кова

Чорний

0

0

0

0

0

0

Синій

0

0

0

1

1

1

Зелений

0

0

1

0

2

2

Блакитний

0

0

1

1

3

3

Червоний

0

1

0

0

4

4

Фіолетовий

0

1

0

1

5

5

Коричневий

0

1

1

0

6

6

Білий

0

1

1

1

7

7

Сірий

 

0

0

0

8

8

Світло-синій

 

0

0

1

9

9

Світло-

 

0

1

0

10

А

зелений

 

 

 

 

 

 

Світло-

 

0

1

1

11

В

блакитний

 

 

 

 

 

 

Світло-

 

1

0

0

12

С

червоний

 

 

 

 

 

 

Світло-

 

1

0

1

13

В

фіолетовий

 

 

 

 

 

 

Жовтий

 

1

1

0

14

Е

Яскраво-білий

 

1

1

1

15

Б

Додаток З

Характеристики мов програмування

Назва мови программування (МП)

Рік

Тип мови

Лвтор (и) розробки

Гєо^-фія

Opram3ania

Cтaндapт

Фортран (FORTRAN)

1954

A

Джон Бeкyc

Лмepикa

IBM

ISO 1539:1997

Лісп (LISP)

1958

F

Джон Maккapтi

Лмepикa

MIT

-

Алгол-60 (Algol 60)

196G

A

Пітєр Hayp+

Miжнap.

IFIP

-

Кобол (COBOL)

196G

A

+

Miжнap.

CODASYL Committee

ISO 1989:1985

Сімула (Simula)

19б2

B

Kpicтeн Hiгaapд+

Євpoпa

-

-

Бейсік (BASIC)

19б3

A

TMac Kypт і Джон Keмeнi+

Лмepикa

Dartmouth College

ISO 1G279:1991

ПЛ/1 (PL/I)

19б4

A

Джордж Paдiн

Лмepикa

IBM

ISO 616G:1979

Алгол-68 (Algol 68)

19б8

A

Лaд вaн Вaйнгapтeн+

Miжнap.

IFIP

 

Паскаль (Pascal)

1970

C

Ніклаус Вірт

Європа

ETH

ISO

7185:1990

Форт (FORTH)

197G

A*

Чapльз Myp

Лмepикa

Mohasco Industries

ISO 15145:1997

Сі (С)

1972

C*

Дeннic Pmri

Лмepикa

AT&T Bell Labs

ISO

9899:1999

Smalltalk

1972

B/OO

Ллaн Keй

Лмepикa

Xerox PARC

-

Пролог (Prolog)

1973

E

Ллaн Koльмepo+

Євpoпa

Univ. of Aix-Marseille

ISO 13211:1995

Ада (Ada)

198G

H*

Джин Ішбia+

Лмepикa

CII Honeywell

ISO 8б52:1995

Си++

198G/ 1984

H* -/OO

Бьорн Cтpaycтpyп

Лмepикa

AT&T Bell Labs

ISO 14882:1998

Turbo Pascal

1983

-/-

Філіпп Кан, Андерс Хейльсберг (Anders Hejlsberg)

 

Америка

 

Borland International

 

Perl

198б

ЯC/OO

Лappi Вол (Larry Wall)

Miжнap.

-

-

HTML

1989

I

Тім Бєрнєр^Лі

Еврош

CERN

-

 

Python

Страницы:
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83 


Похожие статьи

Б С Бусигін - Прикладна інформатика