Кодування програмного забезпечення
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Київська державна академія водного транспорту
імені гетьмана Петра Конашевича-Сагайдачного
Реферат
на тему:
" Кодування програмного забезпечення"
Виконав:
студент IV курсу
спеціальності «ПІ»
групи 0919
Шевчун А. В.
Київ 2012
Вступ…………………………………………………………………
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.2 Двійкове кодування
Двійкове кодування засноване на представленні даних послідовністю всього двох знаків: 0 та 1. Ці знаки називаються двійковими цифрами, по-англійськи - binary digit або скорочено bit (біт). Одним бітом можуть бути виражені два поняття: 0 або 1 (так чи ні, чорне або біле, істина чи брехня і т.п.).
Двійковий код може бути непозиційної і позиційні.
З комбінаторики відомо, що, в разі непозиційною коду, кількість комбінацій (кодів) n-розрядного коду є числом сполучень з повтореннями, одно біноміальному коефіцієнту:
, [Можливих станів (кодів)], де:
n - Кількість елементів в даній безлічі різних елементів (кількість можливих станів, цифр, кодів в розряді),
k- Кількість елементів у наборі (кількість розрядів).
У двійковій системі кодування (n = 2) кількість можливих станів (кодів) одно:
, [Можливих станів (кодів)], тобто
описується лінійною функцією:
, [Можливих станів (кодів)], де
n- Кількість двійкових розрядів (дворів, бітів).
Наприклад, в одному 8-ми бітному байті (k = 8) кількість можливих станів (кодів) =:
, [Можливих станів (кодів)].
У разі позиційного коду, число комбінацій (кодів) n-розрядного двійкового коду дорівнює числу розміщень з повтореннями:
, Де
n- Число розрядів двійкового коду.
Використовуючи два двійкових розряду можна закодувати чотири різні комбінації: 00 01 10 11, три двійкових розряди - вісім: 000 001 010 011 100 101 110 111, і так далі.
При збільшенні
розрядності позиційного
Двійкові
коди є комбінаціями двох елементів
і не є двійковою системою числення,
але використовуються в ній як
основа. Двійковий код також може
використовуватися для
При кодуванні алфавітно-цифрових символів (знаків) двійкового коду не приписуються вагові коефіцієнти, як це робиться в системах числення, в яких двійковий код використовується для представлення чисел, а використовується тільки порядковий номер коду з безлічі розміщень з повтореннями.
Критерії та характеристики кодування
2.1. Види кодів
Код, символи якого відповідають певним предметам або характеристикам, називається прямим кодом. Якщо код безпосередньо не містить інформацію про предмет або його ознаках, а являє адресу, вказує місце розташування інформації, де міститься необхідні відомості, то він називається адресним кодом. Адресний код застосовується для скорочення коду і швидкого пошуку великих масивів інформації.
За одиницю
кількості інформації приймається
1 біт, тобто один двійковий розряд
(0 або 1). Букви, десяткові цифри та
інші символи всередині ЕОМ
Більш великою
одиницею інформацією є машинне
слово, що представляє собою
Масив інформації, що містить 1024 машинних слова, називається сторінкою. Кожен окремий блок пам'яті містить зазвичай 16 і більше сторінок. Місце знаходження (адреса) слова в пам'яті визначається кодом адреси, що містить номер блоку, сторінки і номери слова в цій сторінці.
Для впорядкування інформації про безліч об'єктів, а також для полегшення їх пошуку і сортування за заданими ознаками або характеристиками застосовується класифікація цієї безлічі. Класифікація -- це умовне розбиття множини на ряд класів, підкласів та інших угруповань по прийнятій системі числення і за заданими ознаками і характеристиками. Класифікаційний код-це такий код, в якому окремими символами або групою символів представлений кожен з класифікованих ознак або кожна конкретна характеристика предмета. Структура і число символів класифікаційного коду цілком визначається прийнятою класифікацією множини, яка, в свою чергу, залежить від поставлених цілей і завдань. У класифікаційному коді кожен символ містить в собі певну інформацію про конкретний ознаці чи характеристиці предмета. На відміну від цього порядковий, або реєстраційний код, що містить присвоєний даному предмету порядковий номер при його реєстрації без урахування його ознак і характеристик, може служити тільки адресом для пошуку розташування інформації про даний предмет. У багатьох випадках застосовуються змішані коди, в яких є як класифікаційна частина, так і порядкові номери для списку класифікуються предметів безлічі.
2.1. Стандартне кодування ASCII.
Для кодування текстової інформації прийнятий міжнародний стандарт ASCII (American Standard Code for Information Interchange), в кодовій таблиці якого зарезервовано 128 7-ми розрядних кодів для кодування:
символів латинського алфавіту
цифр
розділових знаків
математичних символів
Додавання 8-го розряду дозволяє збільшити кількість кодів таблиці ASCII до 255. Коди від 128 до 255 являють собою розширення таблиці ASCII. Ці коди в таблиці ASCII використані для кодування деяких символів, відмінних від латинського алфавіту, і зустрічаються в мовах з писемністю, заснованої на латинському алфавіті, - німецькою, французькою, іспанською та ін Крім цього, частина кодів використана для кодування символів псевдографіки, які можна використовувати, наприклад, для оформлення в тексті різних рамок і текстових таблиць.
В Українському алфавіті буква А має перше місце, а буква Б - друге. У кожної букви є своя позиція. Буква Я має позицію номер 33. Ми можемо вважати, що алфавіт - це таблиця для кодування букв.
Стандарт ASCII - це теж як би «алфавіт», тільки комп'ютерний. Він теж визначає номер кожного символу. Але символів більше, ніж букв, тому що до них ставляться ще й цифри, і розділові знаки, і деякі спеціальні символи .
Вище ми сказали, що за допомогою одного байта можна закодувати 256 різних символів. Ще ми дізналися, що стандарт ASCII визначає першу половину кодової таблиці, тобто, кодування символів, що мають номери до 127. Але це не зовсім так. Насправді стандарт ASCII перші 32 коду (від 0 до 31) не визначає. Він залишає їх для так званих керуючих кодів, які не використовуються для представлення інформації, а застосовуються для керування комп'ютерами. Ці коди віддані на розсуд виробників комп'ютерних систем (у них є свої угоди і свої стандарти щодо застосування цих кодів). Ще кілька років тому людям, що працюють з комп'ютерами, коштувало знати деякі з цих кодів, але сьогодні це вже не потрібно.
Самий перший символ стандарту ASCII - це ПРОБІЛ. Він має код 32.
За ним йдуть спеціальні символи і розділові знаки (коди з 33 по 47).
Далі йдуть десять цифр (коди 48-57).
Коди 58-64 використовують деякі математичні символи і знаки пунктуації.
Найцікавіше починається з кодів 65-90. Ними позначають прописні англійські буква від А до Z
Коди 91-96 використовуються для спеціальних символів.
Коди 97-122 - малі літери англійського алфавіту.
Коди 123-127 - спеціальні символи.
Коди верхньої половини таблиці символів (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, пристосовуючи її під кириличний алфавіт. Але відсутність узгоджених стандартів призвело до появи різних кодових таблиць для кодування російськомовних текстів, серед яких:
- альтернативна кодова таблиця CP-866
- міжнародний стандарт ISO 8859
- кодова таблиця фірми Microsoft CP-1251 (кодування Windows)
- кодова таблиця, застосовувана в ОС Unix KOI 8-r .
Кодова таблиця Windows (CP-1251) відображена на рисунку 2., Альтернативна кодова таблиця відображена на рисунку 3.
Рисунок 2.
Рисунок 3.
Технологія кодування
3.1.Кодування символьної (текстової) інформації.
В даний час велика частина користувачів за допомогою комп'ютера обробляє текстову інформацію, яка складається з символів: букв, цифр, розділових знаків та ін.
Традиційно, для того щоб закодувати один символ використовують кількість інформації рівне 1 байту, тобто I = 1 байт = 8 біт. За допомогою формули, яка пов'язує між собою кількість можливих подій До і кількість інформації I, можна обчислити скільки різних символів можна закодувати (вважаючи, що символи - це можливі події):
К = 2I = 28
= 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 байтів. Для
малих і великих літер
Справа залишилася за малим: треба всім людям світу домовитися про те, яким кодом (від 0 до 255) повинен кодуватися кожний символ. Якщо, наприклад, всі люди будуть знати, що код 33 означає знак оклику, а код 63 - знак питальний, то текст, набраний на одному комп'ютері, завжди можна буде прочитати і роздрукувати на іншому комп'ютері.
Така загальна домовленість про однакове використання чого-небудь називається стандартом. Стандарт встановлює таблицю, в якій записано, яким кодом повинен кодуватися кожний символ. Така таблиця називається таблицею кодів. У цій таблиці повинно бути 256 рядків, в яких записується, який байт яким символом відповідає .
Але тут-то і почалися проблеми. Справа в тому, що символи, які гарні для однієї країни, не підходять для іншої. У Греції використовуються одні букви, в Туреччині - інші. Те, що підходить для Америки, не годиться для Росії, а те, що підходить для Росії, не підходить для Німеччини.
Тому було прийнято наступне рішення. Таблицю кодів розділили навпіл. Перші 128 кодів (з 0 до 127) повинні бути стандартними й обов'язковими для всіх країн і всіх комп'ютерів, а у другій половині (з коду 128 до коду 255) кожна країна може робити все, що їй завгодно, і створювати в цій половині свій стандарт - національний.
Першу (міжнародну) половину таблиці кодів називають таблицею ASCII - її ввів американський інститут стандартизації ANSI. У цій таблиці розміщуються прописні і малі літери англійського алфавіту, символи чисел від 0 до 9, всі розділові знаки, символи арифметичних операцій і деякі інші спеціальні коди.
За другу половину кодової таблиці (коди від 128 до 255) стандарт ASCII не відповідає Різні країни можуть створювати тут свої таблиці. Часто буває, що навіть в одній країні в цій половині діють кілька різних стандартів, призначених для різних комп'ютерних систем. В Україні, наприклад, зміст цієї половини таблиці може підкорятися чотирьом різним стандартам, кожен з яких діє в якійсь своїй, особливій області .
3.2. Кодування числової інформації.
Подібність в кодуванні числової і текстової інформації полягає в наступному: щоб можна було порівнювати дані цього типу, у різних чисел (як і у різних символів) повинен бути різний код. Основна відмінність числових даних від символьних полягає в тому, що над числами крім операції порівняння виробляються різноманітні математичні операції: додавання, множення, добування кореня, обчислення логарифма та ін.. Правила виконання цих операцій в математиці детально розроблені для чисел, представлених в позиційній системі числення.
Основний системою числення для подання чисел у комп'ютері є двійкова позиційна система числення.
3.3. Кодування графічної інформації.
Важливим етапом кодування графічного зображення є розбиття його на дискретні елементи (дискретизація).
Основними
способами представлення
Векторне зображення являє собою графічний об'єкт, що складається з елементарних геометричних фігур (найчастіше відрізків і дуг). Положення цих елементарних відрізків визначається координатами точок і величиною радіусу. Для кожної лінії вказується двійкові коди типу лінії (суцільна, пунктирна, Штрих-пунктирна), товщини і кольору.
Растрове зображення являє собою сукупність точок (пікселів), отриманих в результаті дискретизації зображення відповідно до матричним принципом.
Матричний принцип кодування графічних зображень полягає в тому, що зображення розбивається на задану кількість рядків і стовпців. Потім кожен елемент отриманої сітки кодується за обраним правилом.
Pixel (picture element - елемент малюнка) - мінімальна одиниця зображення, колір і яскравість якої можна задати незалежно від решти зображення.
Відповідно до матричним принципом будуються зображення, що виводяться на принтер, відображаються на екрані дисплея, одержані за допомогою сканера.
Якість зображення буде тим вище, ніж "щільніше" розташовані пікселі, тобто чим більше роздільна здатність пристрою, і чим точніше закодований колір кожного з них.
Для чорно-білого зображення код кольору кожного пікселя задається одним бітом.
Якщо малюнок кольоровий, то для кожної точки задається двійковий код її кольору.
Оскільки
і кольору кодуються в
3.4 Кодування звукової інформації.
З фізики
відомо, що звук - це коливання повітря.
Якщо перетворити звук в електричний
сигнал (наприклад, за допомогою мікрофона),
то видно плавно змінюється з плином
часу напруга. Для комп'ютерної обробки
такої - аналоговий - сигнал потрібно якимось
чином перетворити в
Рисунок 6.
Щоб відтворити
закодований таким чином звук,
потрібно зробити зворотне перетворення
(для цього служить цифро-
Висновок
Кодування програмного забезпечення дуже складний процес. Комп'ютер може обробляти тільки інформацію, представлену в числовий формі. Вся інша інформація (наприклад, звуки, зображення, показання приладів і т. д.) для обробки на комп'ютері, як ми упевнились і зрозуміли як це зробити, повинна бути перетворена в числову форму.

- Кожа - анатомо-физиологическая (строение, функция)
- Кожа Ахмет Яссауи (1093 — 1166 гг.)
- Кожа и волосы
- Кожа и ее производные
- Кожа и ее производные
- Кожа лица. Типы кожи. Уход за кожей
- Кожаная галантерея
- Кодификация советского законодательства
- Кодификация советского законодательства
- Кодификация советского права 1918 - 1922 гг
- Кодификация Юстиниана
- Кодификация Юстиниана
- Кодифікація й уніфікація в міжнародному фінансовому праві
- Кодтау теориясы. Кодтау: тарихы және алғашқы қадамы