Кодування програмного забезпечення

Автор: Пользователь скрыл имя, 06 Мая 2013 в 14:41, реферат

Описание работы

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

Содержание

Вступ……………………………………………………………………. 3
1. Основні положення кодування програмного забезпечення
1.1. Процес кодування та декодування. 4
1.2. Двійковий код 6
2. Критерії та характеристики кодування
2.1. Види кодування 7
2.2. Стандартне кодування ASCII. 8
3. Технологія кодування 9
3.1. Кодування символьної (текстової) інформації 13
3.2. Кодування числової інформації. 15
3.3. Кодування графічної інформації 17
3.4. Кодування звукової інформації 20
3.4. Кодування програмного забезпечення 20
Висновок 24
Список використаних джерел 25

Работа содержит 1 файл

Кодування ПЗ.docx

— 122.46 Кб (Скачать)

Коди  верхньої половини таблиці символів (128-255) віддані для національних стандартів. Маючи під рукою кодову таблицю символів, ви можете легко визначити, які слова закодовані наступними байтами

67 79 77 80 85 84 69 82 99 111 109 112 117 116 101 114

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

Таблиця кодів ASCII відображена на рисунку 1.

 

Рисунок 1.

Для кодування  символів національних алфавітів використовується розширення кодової таблиці ASCII, тобто 8-ми розрядні коди від 128 до 255.

У мовах  використовують кириличний алфавіт, в  тому числі російською, довелося повністю міняти другу половину таблиці ASCII, пристосовуючи її під кириличний алфавіт. Але відсутність узгоджених стандартів призвело до появи різних кодових таблиць для кодування  російськомовних текстів, серед  яких:

  1. альтернативна кодова таблиця CP-866
  2. міжнародний стандарт ISO 8859
  3. кодова таблиця фірми Microsoft CP-1251 (кодування Windows)
  4. кодова таблиця, застосовувана в ОС Unix KOI 8-r .

Кодова  таблиця Windows (CP-1251) відображена на рисунку 2., Альтернативна кодова таблиця відображена на рисунку 3.

 

Рисунок 2.

 

Рисунок 3.

 

Технологія  кодування

3.1.Кодування  символьної (текстової) інформації.

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

Традиційно, для того щоб закодувати один символ використовують кількість інформації рівне 1 байту, тобто I = 1 байт = 8 біт. За допомогою формули, яка пов'язує між собою кількість можливих подій До і кількість інформації I, можна обчислити скільки різних символів можна закодувати (вважаючи, що символи - це можливі події):

К = 2I = 28 = 256, тобто для представлення текстової  інформації можна використовувати  алфавіт потужністю 256 символів.

Суть  кодування полягає в тому, що кожному  символу ставлять у відповідність  двійковий код від 00000000 до 11111111 або  відповідний йому десятковий код  від 0 до 255.

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

Одному  і тому ж двійковому коду ставиться  у відповідність різні символи.

Двійковий код 

Десятковий  код 

КОИ8

СР1251

СР866

Мас

ISO

11000010

194

б

В

-

-

Т


 

Втім, у  більшості випадків про перекодуванні  текстових документів піклується на користувач, а спеціальні програми - конвертори, які вбудовані в  додатки.

Починаючи з 1997 р. останні версії Microsoft Windows & Office підтримують нову систему кодування  Unicode, яка на кожен символ відводить по 2 байти, а, тому, можна закодувати не 256 символів, а 65536 різних символів.

Щоб визначити  числовий код символу можна або  скористатися кодовою таблицею, або, працюючи в текстовому редакторі Word. Для цього в меню потрібно вибрати  пункт "Вставка" - "Символ", після  чого на екрані з'являється діалогова  панель Символ. У діалоговому вікні  з'являється таблиця символів для  вибраного шрифту. Символи в цій  таблиці розташовуються порядково, послідовно зліва направо, починаючи з символу Пробіл (лівий верхній кут) і, закінчуючи, буквою "я" (правий нижній кут).

Для визначення числового коду символу в кодуванні Windows (СР1251) потрібно за допомогою миші або клавіш управління курсором вибрати  потрібний символ, потім клацнути по кнопці Клавіша. Після цього на екрані з'являється діалогова панель Настройка, в якій в нижньому лівому куті міститься десятковий числовий код вибраного символу.

Одним бітом  можна закодувати два значення: Так  або Ні (1 або 0).

Двома бітами можна закодувати вже чотири значення: 00, 01, 10, 11.

Трьома  бітами кодуються 8 різних значень.

Додавання одного біта подвоює кількість значень, яке можна закодувати. При восьми бітах вже можна закодувати 256 різних значень. Неважко здогадатися, що якби в байті було 9 бітів, то одним  байтом можна було б закодувати 512 різних значень, а якби в ньому  було 10 бітів, то 1024 і т. д.

Біти 

1

2

3

4

5

6

7

8

Кількість кодованих значень

2

4

8

16

32

64

128

256


 

Рисунок 5

Але все-таки в байті не 9 і не 10 бітів, а тільки 8, і тому з його допомогою кодують 256 різних значень. Багато це чи мало? Дивлячись  для чого. Давайте подивимося, як за допомогою байтів кодують текстову інформацію.

У російській мові 33 літери (символу) - для їх кодування  достатньо 33 різних байтів. Якщо ми хочемо розрізняти прописні (заголовні) і малі літери, то буде потрібно 66 байтів. Для  малих і великих літер англійської  мови вистачить ще 52 символів - виходить 118. Додамо сюди цифри (від 0 до 9), всі можливі знаки пунктуації: точку, кому, тире, знаки оклику та питання. Додамо дужки: круглі, квадратні і фігурні, а також знаки математичних операцій: +, -, =, /, *. Додамо спеціальні символи, наприклад такі, як:%, $, &, @, - ми бачимо, що всі їх можна виразити вісьма бітами, і при цьому ще залишаться вільні коди, які можна використовувати для інших цілей.

Справа  залишилася за малим: треба всім людям  світу домовитися про те, яким кодом (від 0 до 255) повинен кодуватися кожний символ. Якщо, наприклад, всі люди будуть знати, що код 33 означає знак оклику, а код 63 - знак питальний, то текст, набраний на одному комп'ютері, завжди можна  буде прочитати і роздрукувати на іншому комп'ютері.

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

Але тут-то і почалися проблеми. Справа в тому, що символи, які гарні для однієї країни, не підходять для іншої. У  Греції використовуються одні букви, в  Туреччині - інші. Те, що підходить для  Америки, не годиться для Росії, а  те, що підходить для Росії, не підходить  для Німеччини.

Тому  було прийнято наступне рішення. Таблицю  кодів розділили навпіл. Перші 128 кодів (з 0 до 127) повинні бути стандартними й обов'язковими для всіх країн  і всіх комп'ютерів, а у другій половині (з коду 128 до коду 255) кожна  країна може робити все, що їй завгодно, і створювати в цій половині свій стандарт - національний.

Першу (міжнародну) половину таблиці кодів називають  таблицею ASCII - її ввів американський  інститут стандартизації ANSI. У цій  таблиці розміщуються прописні і  малі літери англійського алфавіту, символи  чисел від 0 до 9, всі розділові  знаки, символи арифметичних операцій і деякі інші спеціальні коди.

За другу  половину кодової таблиці (коди від 128 до 255) стандарт ASCII не відповідає Різні  країни можуть створювати тут свої таблиці. Часто буває, що навіть в  одній країні в цій половині діють  кілька різних стандартів, призначених  для різних комп'ютерних систем. В Україні, наприклад, зміст цієї половини таблиці може підкорятися чотирьом різним стандартам, кожен з яких діє в якійсь своїй, особливій області .

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

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

Основний  системою числення для подання чисел  у комп'ютері є двійкова позиційна  система числення.

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

Важливим  етапом кодування графічного зображення є розбиття його на дискретні елементи (дискретизація).

Основними способами представлення графіки  для її зберігання і обробки за допомогою комп'ютера є растрові і векторні зображення

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

Растрове  зображення являє собою сукупність точок (пікселів), отриманих в результаті дискретизації зображення відповідно до матричним принципом.

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

Pixel (picture element - елемент малюнка) - мінімальна одиниця зображення, колір і яскравість якої можна задати незалежно від решти зображення.

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

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

Для чорно-білого зображення код кольору кожного  пікселя задається одним бітом.

Якщо  малюнок кольоровий, то для кожної точки задається двійковий код  її кольору.

Оскільки  і кольору кодуються в двійковому коді, то якщо, наприклад, ви хочете використовувати 16-кольоровий малюнок, то для кодування  кожного пікселя вам буде потрібно 4 біта (16 = 24), а якщо є можливість використовувати 16 біт (2 байти) для кодування кольору одного пікселя, то ви можете передати тоді 216 = 65536 різних кольорів. Використання трьох байтів (24 бітів) для кодування кольору однієї точки дозволяє відобразити 16777216 (або близько 17 мільйонів) різних відтінків кольору - так званий режим "істинного кольору" (True Color). Зауважимо, що це використовувані в даний час, але далеко не граничні можливості сучасних комп'ютерів.

3.4 Кодування  звукової інформації.

З фізики відомо, що звук - це коливання повітря. Якщо перетворити звук в електричний  сигнал (наприклад, за допомогою мікрофона), то видно плавно змінюється з плином часу напруга. Для комп'ютерної обробки  такої - аналоговий - сигнал потрібно якимось  чином перетворити в послідовність  двійкових чисел. Робиться це, наприклад, так - вимірюється напруга через  рівні проміжки часу і отримані значення записуються в пам'ять комп'ютера. Цей процес називається дискретизацією (або оцифруванням), а пристрій, що виконує його - аналого-цифровим перетворювачем (АЦП)(Рисунок 6).

Рисунок 6.

Щоб відтворити закодований таким чином звук, потрібно зробити зворотне перетворення (для цього служить цифро-аналоговий перетворювач - ЦАП), а потім згладити вийшов ступінчастий сигнал. Чим вище частота дискретизації і чим  більше розрядів відводиться для  кожного відліку, тим точніше  буде представлений звук, але при  цьому збільшується і розмір звукового  файлу. Тому в залежності від характеру  звуку, вимог, що пред'являються до його якості та обсягу займаної пам'яті, вибирають  деякі компромісні значення. Описаний спосіб кодування звукової інформації достатньо універсальний, він дозволяє представити будь-який звук і перетворювати  його самими різними способами. Але  бувають випадки, коли вигідніше  діяти по-іншому. Здавна використовується досить компактний спосіб представлення  музики - нотний запис. У ній спеціальними символами вказується, якої висоти звук, на якому інструменті і як зіграти. Фактично, її можна вважати  алгоритмом для музиканта, записаним  на особливому формальній мові. У 1983 провідні виробники комп'ютерів і музичних синтезаторів розробили стандарт, який визначив таку систему кодів. Він  отримав назву MIDI. Звичайно, така система  кодування дозволяє записати далеко не всякий звук, вона годиться лише для  інструментальної музики. Але є у  неї і незаперечні переваги: ​​надзвичайно компактна запис, природність для музиканта (практично будь MIDI-редактор дозволяє працювати з музикою у вигляді звичайних нот), легкість заміни інструментів, зміни темпу і тональності мелодії.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Висновок

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

Информация о работе Кодування програмного забезпечення