Організація інформації

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Представлення та обробка інформації

Інформатика та інформаційні технології

Інформатика [computer science] - науковий напрямок, що займається вивченням законів, методів і способів накопичення, обробки і передачі інформації за допомогою ЕОМ та інших технічних засобів. Предметом вивчення інформатики є інформаційні технології та їх застосування для вирішення прикладних завдань. Технологія практично визначає що, як і скільки потрібно зробити, щоб отримати необхідний результат. Кінцева задача використання інформаційних технологій - це підготовка та прийняття управлінських рішень.

Інформація та дані

Первинне поняття інформатики - інформація. Дане поняття неопределяемо. Тому, строго кажучи, це поняття можна розкрити тільки через вказівку процесів, в яких вона бере участь. Найчастіше під цим поняттям мають на увазі змістовну сторону, відрізняючи його від поняття «дані», яке, отже, відбиває собою формальну сторону.

Будемо розуміти під інформацією [information] міру усунення невизначеності щодо результату цікавить нас.

Тоді під даними [data] будуть розумітися об'єкти будь-якої форми, що виступають в якості засобу представлення інформації. Можна сказати, що дані - це інформація, зафіксована в певній формі.

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

Формальне призначення ЕОМ полягає в обробці даних. Причому ЕОМ обробляє дані без врахування їх смислового змісту. Для цієї обробки використовуються лише математичні операції. Оцінювати смисловий зміст даних може тільки людина.

Представлення та обробка даних

Для того, щоб використовувати ЕОМ для обробки даних, необхідно розташовувати деяким способом представлення даних. Спосіб представлення даних буде залежати від того, для кого ці дані призначені: для людини (зовнішнє подання) або для ЕОМ (внутрішнє подання).

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

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

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

У зовнішньому поданні всі дані зберігаються у вигляді файлів. У багатьох випадках потрібно ще більш високий рівень організації даних на зовнішньому рівні, тоді дані групуються в бази даних (див. рис.1.

Організація інформації

Рис. 1. Рівні представлення даних

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

Організація інформації

Рис. 2 Рівні подання обробки даних

На зовнішньому рівні процедури представляються у вигляді алгоритму. Конкретний вид алгоритму залежить від використовуваного алгоритмічної мови (див. рис. 2).

Таким чином, рішення будь-яких завдань за допомогою ЕОМ в кінцевому рахунку зводиться до двох взаємопов'язаним проблемам: цифрового представлення даних та алгоритмическому поданням способів обробки даних.

Внутрішнє подання даних

Двійкова форма цілих чисел. Кількість інформації

ЕОМ є електричним приладом. Вона управляється за допомогою електричних сигналів. Тому будь-які дані повинні бути деяким універсальним чином представлені у такому вигляді, щоб їх можна було легко перевести на «електричний» мову. Такою властивістю володіють двійкова форма цілих чисел. Для запису числа в двійковій формі використовуються тільки два символи 0 і 1. Ці символи легко поставити у відповідність деякому фіксованому значенню напруги в електричних схемах ЕОМ (див. рис. 3).

Організація інформації

Рис.3 Потік даних у двійковій формі

Щоб обробляти дані, необхідно мати певний універсальний спосіб представлення операцій з цілими числами, щоб ці операції були легко представимо на "електричному» мовою. Виявляється, що цій умові задовольняють три операції з двійковими числами. Це операції логічного складання «АБО», логічного множення «І» і заперечення «НЕ».

Таблиця 1. Операції з двійковими числами

x y АБО І НЕ х
0 0 0 0 1
0 1 1 0 1
1 0 1 0 0
1 1 1 1 0

Таким чином, всі дані, з якими працюють ЕОМ, представлені у вигляді двійкових чисел, а всі дії з даними зводяться до комбінації трьох логічних операцій.

Приклад

Розглянемо складання чисел 4 +3. У двійковій формі ці числа будуть мати вигляд відповідно 0100 і 0011. Виконуючи операцію логічного складання з кожним розрядом обох чисел, отримаємо число 0111, що є двійковим поданням числа 7.

Кількість інформації, відповідне бінарного числа, називають бітом [bit]. Число, яке представлене N бітами називається N-бітним або N-розрядним.

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

Найбільше значення має послідовність з восьми двійкових чисел - 8-розрядне число. Кількість інформації, що вiдповiдає такому числу, називається байтом [byte]. Крім того, використовуються групи, звані словом [word]. Розмір слова залежить від характеристик конкретної ЕОМ, але, як правило, в більшості сучасних ЕОМ розмір слова дорівнює 2 байтам.

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

Приклад

Для спрощення перекладу цілих чисел в двійкову і шістнадцяткову форми складається наступна таблиця:

Х10 Х2 Х16 Х10 Х2 Х16
0 0000 0 8 1000 8
1 0001 1 9 1001 9
2 0010 2 10 1010 A
3 0011 3 11 1011 B
4 0100 4 12 1100 C
5 0101 5 13 1101 D
6 0110 6 14 1110 E
7 0111 7 15 1111 F

4310 = 2В16 = 001010112

Таким чином, перше завдання, яке ставиться в інформатиці - це завдання надання будь-яких даних у формі цілих чисел (у цифровій формі).

Цифрове представлення символів

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

Приклад

Розглянемо послідовність рядкових букв російського алфавіту: а, б, в, г, д, е, є, ж, з, і, й, к, л, м, н, о, п, р, с, т, у, ф , х, ц, ч, ш, щ, виданню, и, ь, е, ю, я. Привласнивши кожній букві номер від 0 до 33, отримаємо найпростіший спосіб представлення символів. Останнє число - 32 у двійковій формі має вигляд 100000, тобто для зберігання символу в пам'яті знадобиться 6 біт. Так як за допомогою шести біт можна представити число 26 - 1 = 63, то шести біт буде достатньо для представлення 64 букв.

Є різні стандарти для представлення символів, які відрізняються лише порядком нумерації символів. Найбільш поширений американський стандартний код для інформаційного обміну - ASCII [American Standard Code for Information Interchange] введений в США в 1963р. У 1977 році в дещо модифікованому вигляді він був прийнятий як всесвітнього стандарту Міжнародної організації стандартів [International Standards Organization - ISO] під назвою ISO-646. Згідно з цим стандартом кожному символу поставлено у відповідність число від 0 до 255. Символи від 0 до 127 - латинські букви, цифри і розділові знаки - становлять постійну частину таблиці. Решта символів використовуються для представлення національних алфавітів. Конкретний склад цих символів визначається кодовою сторінкою. У російській версії ОС Windows95 використовується кодова сторінка 866. В ОС Linux для представлення російських букв більш уживана кодування КОІ-8.

Недоліки такого способу кодування національного алфавіту очевидні. По-перше, неможливо одночасне подання росіян і, наприклад, французьких букв. По-друге, така кодування абсолютно непридатна для подання китайських або японських ієрогліфів. У 1991 році була створена некомерційна організація Unicode, в яку входять представники ряду фірм (Borland, IBM, Lotus, Microsoft, Novell, Sun, WordPerfect та ін), і яка займається розвитком і впровадженням нового стандарту. Кодування Unicode використовує 16 розрядів і може містити 65536 символів. Це символи більшості народів світу, елементи ієрогліфів, спецсимволи, 5000 місць для приватного використання, резерв з 30000 місць.

Приклад

ASCII-код символу A = 6510 = 4116 = 010 001 112;

ASCII-код символу G = 7110 = 4716 = 010 001 112;

ASCII-код символу Z = 9010 = 5A16 = 010110102.

ASCII-код символу C = 6710 = 4316 = 011 001 112

Unicode-код символу C = 6710 = 00000000011001112.

Цифрове представлення дійсних чисел

Для того, щоб представити дійсне число у вигляді набору цілих чисел, його необхідно привести до нормалізованої формі:

x = M * 2P;

де M - називається мантиссой (дробовою частиною), а P - експонентою (порядком).

Організація інформації

Після цього мантиса і порядок переводяться в двійкове подання. У пам'яті ЕОМ дійсне число зберігається у вигляді:

тут S - ознака знака. Тому необхідно також визначити, який розмір пам'яті буде відведено під всі три частини нормалізованого числа.

Далі мають бути визначені правила (алгоритми), за якими будуть виконуватися арифметичні операції з нормалізованими речовими числами. Сукупність таких алгоритмів, а також правил представлення чисел в нормалізованому формі називається арифметикою плаваючих чисел [floating point number].

Оскільки розмір пам'яті, що відводиться під мантиссу і порядок, обмежений, то речові числа представляються з деякою погрішністю (точність десяткових цифр) і мають обмежений діапазон зміни. Чим більше розмір пам'яті для плаваючого числа, тим точніше можна представити дійсне число. Тому для користувача основними характеристиками арифметики плаваючого числа є довжина числа (розмір), яка вимірюється в бітах, і точність представлення числа. За точності представлення дійсних чисел розрізняють плаваючі числа одинарної і подвійної точності [single and double divcision].

Приклад

Розглянемо принцип цифрового представлення дійсного числа 15,375. Хай під мантиссу відведено 5 десяткових розрядів, а під порядок - 2 розряду. Уявімо число в нормалізованому формі: 15,375 »1,9219 * 23. Так як в нормалізованому формі перша цифра завжди дорівнює одиниці, то її можна не зберігати. Тоді число буде представлено у вигляді цілого числа 9219003 з відносною похибкою не більше 10-4, тобто число вірних десяткових чисел дорівнює 4. У пам'яті ЕОМ це число буде зберігатися в двійковій формі, причому можна легко підрахувати, що для зберігання такої кількості потрібно 27 біт. Максимальне число, яке можна представити таким чином - 9999999 = 1,99999 * 1099, а мінімальна, не рівне нулю - 0000100 = 0,00001. Якщо передбачити один біт для зберігання знака порядку, то мінімально репрезентована число дорівнюватиме 00001-99, тобто 0,00001 * 10-99.

При спробі вийти за допустимий діапазон ЕОМ видасть повідомлення про переповнення (underflow або overflow).

Конкретні характеристики арифметики різні для різних стандартів. Для ПЕОМ найбільш поширеним є IEEE-стандарт (IEEE-754-1985) [Institute of Electrical and Electronic Engineers], згідно з яким речові числа представляються в трьох основних формах (див. табл. 1.2).

Таблиця 2. Дані з плаваючою точкою по IEEE-стандарту

Тип

Розмір,

біт

Діапазон зміни чисел

максимум мінімум

Точність десяткові. цифр

Машинне

e

single 32 3.4 * 10-38 3.4 * 1038 6 1,192 * 10-7
double 64 1.7 * 10-308 1.7 * 10308 15 2,221 * 10-16
long double 80 3.4 * 10-4932 3.4 * 104932 19 1,084 * 10-19

Джерело: [5].

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

Приклад

Запишемо число 15,375 в двійковому вигляді:

15.375 = 1111.0112 1.111011 * 2112

Тоді відповідно до стандарту IEEE число буде представлятися:

single

15,375 = 0 1000.0001.0 111.0110.0000.0000.0000.00002 = 4176000016

long double

15,375 = 0 1000.0000.00010. 1110.1100.0000.0000. ... 00002 = 402ЕС0000000000016.

Джерело: [5].

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

Приклад

Існує особлива характеристика плаваючої арифметики - машинне епсилон. Це число, яке визначається як

Організація інформації .

Для плаваючого числа одиничної точності (по IEEE стандарту):

Організація інформації .

Це означає, якщо написати програму на мові BASIC:

a = 1.2

b = 1.e-7

print a + b

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

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

Цифрове представлення зображень

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

Для опису області вона розбивається на безліч точкових елементів - пікселів [pixel]. Саме безліч називається растром [bit map, dot matrix, raster] (див. рис. 1.3), а зображення, які формуються на основі растра, називаються растровими.

Організація інформації

Рис.4. Дискретизація області зображення

Кількість пікселів називається роздільною здатністю [resolution]. Часто зустрічаються значення 640х480, 800х600, 1024х768, 1280х1024. Кожен піксель нумерується, починаючи з нуля зліва направо і зверху вниз.

Для представлення кольору використовуються колірні моделі. Колірна модель [color model] це правило, за яким може бути обчислений колір. Найпростіша колірна модель - бітова. У ній для опису кольору кожного пікселя (чорного або білого) використовується всього один біт. Для представлення повнокольорових зображень використовуються декілька більш складних моделей. Відомо, що будь-який колір може бути представлений як сума трьох основних кольорів: червоного, зеленого і синього. Якщо інтенсивність кожного кольору представити числом, то будь-який колір буде виражатися через набір з трьох чисел. Так визначається найбільш відома колірна RGB-модель. На кожне число відводиться один байт. Так можна представити 224 кольору, тобто приблизно 16,7 млн. квітів. Білий колір в цій моделі представляється як (1,1,1), чорний - (0,0,0), червоний (1,0,0), синій (0,0,1). Жовтий колір є комбінацією червоного і зеленого і тому представляється як (1,1,0).

Приклад

Нехай є зображення виду

Організація інформації

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

0000000000000000

0000000000000000

0000111110000000

0000100010000000

0000100010000000

0000111110000000

0000000000000000

0000000000000000

У шістнадцятковому вигляді цей двійковий набір буде виглядати так:

00 00 00 00 0F 80 серпня 1980 серпень 1980 0F 80 00 00 00 00

Всього для зберігання такого зображення буде потрібно 16 байт.

Дане зображення легко перетворити в RGB-модель. Досить замінити всі нулі трійками (1,1,1), а всі одиниці - трійками (0,0,0). Тоді отримаємо наступне шістнадцяткове представлення зображення:

FF FF FF FF FF FF FF FF FF FF FF FF FF F0 00 1F FF FF

FF F1 FF 1F FF FF FF F1 FF 1F FF FF FF F0 00 1F FF FF

FF FF FF FF FF FF FF FF FF FF FF FF

Для зберігання такого зображення буде потрібно 48 байт.

Колірна модель RGB [Red-Green-Blue] була стандартизована в 1931 р. і вперше використана в кольоровому телебаченні. Модель RGB є адитивною моделлю, тобто колір виходить в результаті складання базових квітів. Існують і інші колірні моделі, які для ряду завдань виявляються кращими, ніж RGB-модель. Наприклад, для представлення кольору в принтері використовується субтрактивна CMY-модель [Cyan-Magenta-Yellow], колір в якій виходить в результаті віднімання базових квітів з білого кольору. Білого кольору в цій моделі відповідає (0,0,0), чорного - (1,1,1), блакитному - (1,0,0), бузкового - (0,1,0), жовтому - (0,0 , 1). У колірній моделі HSV [Hue-Saturation-Value] колір представляється через колір, насиченість і значення, а в моделі HLS [Hue-Lightness-Saturation] через відтінок, яскравість і насиченість. Сучасні графічні редактори, як правило, можуть працювати з декількома кольоровими моделями.

Цифрове представлення звуку

Звук можна описати у вигляді сукупності синусоїдальних хвиль певних частоти і амплітуди. Частота хвилі визначає висоту звукового тону, амплітуда - гучність звуку. Частота вимірюється в герцах (Гц [Hz]). Діапазон чутності для людини становить від 20 Гц до 17000 Гц (або 17 кГц).

Організація інформації

Рис. 5. Дискретизація звукового сигналу

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

Кожній дискретної вибірці присвоюється ціле число - значення амплітуди. Кількість вибірок в секунду називається частотою вибірки [sampling rate]. Кількість можливих значень амплітуди називається точністю вибірки [sampling size]. Таким чином, звукова хвиля представляється у вигляді ступінчастої кривої. Ширина сходинки тим менше, чим більше частота вибірки, а висота сходинки тим менше, чим більше точність вибірки.

Приклад

Можливості найбільш поширеною сучасної апаратури передбачають роботу з частотою вибірки до 44,1 кГц, що дозволяє правильно описувати звук частотою до 22,05 кГц. Точність вибірки має всього два значення 8 біт та 16 біт. Тобто для подання амплітуди 8-бітного звуку використовується 28 = 256 рівнів амплітуди.

Стиснення даних

Внутрішнє подання даних характеризується надмірністю. Наприклад, при кодуванні символів російського алфавіту можна врахувати частоту, з якою ці символи зустрічаються в пропозиціях російської мови. Тоді для цифрового представлення тексту потрібно менша кількість інформації. Обсяг даних має велике значення не тільки для зберігання, але також безпосередньо впливає на швидкість передачі даних по каналах обчислювальних мереж. Тому були розроблені спеціальні методи (алгоритми стиснення даних [data comdivssion]), за допомогою яких можна істотно зменшити обсяг даних. Існують як універсальні алгоритми, які розглядають дані як просту послідовність бітів, так і спеціалізовані, які призначені для стиснення даних певного типу (зображень, тексту, звуку і відео). Ефективність стиснення характеризується коефіцієнтом стиснення [comdivssion ratio], який визначається як відношення розміру вихідних даних до розміру стиснутих. У деяких випадках цей коефіцієнт досягає значення 10.

Приклад

Розглянемо принцип стиснення найпростішого універсального RLE-методу. Для цього розглянемо представлення зображення, отриманого в прикладі вище.

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

С4 00 0F 80 08 80 08 80 0F 80 С4 00

Тут число С використовується як ознака послідовності однакових символів. Тобто С4 означає, що далі йде послідовність з 4 символів. Розмір зберігається зображення зменшився з 16 до 12 байт. Коефіцієнт стиснення дорівнює 1,33. Ефективність стиснення буде залежати від розміру та змісту зображення. Якщо те ж саме зображення перетворити в колірну RGB-модель, то в стислій формі воно отримає вигляд:

СD FF F0 00 1F C3 FF F1 FF 1F C3 FF F1 FF 1F C3 FF F0 00 1F CE FF

Тобто замість 48 байт стислий зображення займає 22 байти, а коефіцієнт стиснення дорівнює 2,18.

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

Приклад

Найбільш популярними є графічні формати: BMP [Bit MaP], PCX, GIF [Graphics Interchange Format], TIFF [Tagged Image File Format], JPEG [Joint Photographic Experts Group], які по суті різняться між собою використовуваними методами стиснення. Формати BMP та PCX використовують RLE-алгоритм, формати GIF і TIFF - LZW-алгоритм, JPEG використовує однойменний алгоритм стиснення.

Звук і відео також вимагають для свого цифрового представлення дуже великого обсягу пам'яті, тому без алгоритмів стиснення робота з відео і звуковими даними була б неможливою. Фактичним стандартом для представлення звуку став формат MP3, а для представлення відеоданих - формат MPEG.

Зовнішнє представлення даних

Файли і каталоги

Будь-які дані, представлені у вигляді сукупності цілих чисел, зберігаються в пам'яті ЕОМ у вигляді файлів. Файл [file] - іменована цілісна сукупність даних, причому не має значення, яких саме даних. Для файлу дані - це лише набір цілих чисел в двійковій формі, тому файл - це просто послідовність байтів. Для користувача мають значення лише дві ознаки, які характеризують фото як такої: ім'я файлу і його розмір. Розмір файлів вимірюється в байтах.

Рис. 6. Дерево каталогів

Організація інформації

Як правило, файли сортуються користувачем згідно з певними ознаками за групами. Список такої групи називається каталогом [directory]. Таким чином, організується особлива ієрархічна структура - дерево каталогів (див. рис. 1.6 - імена каталогів підкреслені).

Вершина такого дерева називається кореневим каталогом [root directory]. Ім'я кореневого каталогу завжди строго визначена (на мал. 1.6 - C:) і залежить від файлової системи (див. тему 3).

Моделі і бази даних

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

Формалізований опис інформаційних структур і операцій над ними називається моделлю даних [data model].

Приклад

Наприклад, для опису шрифтів застосовуються три моделі: бітова, векторна і true-type. Розглянемо, як можна уявити символ «С» за допомогою бітової моделі.

Бітова модель використовує той же принцип, що і бітова колірна модель для растрових зображень. Кожному символу відводиться матриця фіксованого розміру. Нехай матриця має розмір 8х10:

Організація інформації

Після такого графічного подання символу, його можна описати десятьма числами, розміром 1 байт кожне:

00 3С 66 С0 С0 С0 66 3С 00 00

Такі описи складаються для всіх символів алфавіту, цифр, знаків пунктуації та містяться в один файл - файл бітового шрифту. Усі символи, які виводяться в текстовому режимі, представлені за допомогою бітових шрифтів і записані в ПЗУ.

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

(4,2-8,2) (4,2-4,5) (4,5-8,5) (8,5-8,2)

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

У реальних задачах для опису даних потрібно дуже багато файлів, причому дані, що містяться в цих файлах, деяким чином пов'язані між собою. Наприклад, опис інформації про діяльність деякої судноплавної компанії буде включати в себе технічні дані по судах компанії, дислокацію суден, дані по дільницях водних шляхів, розмірами канальних і портових зборів, дані по фрахтовим ставками, дані для визначення експлуатаційних витрат по кожному судну і т. д. Тому управління файлами в таких випадках виявляється дуже складним. Щоб подолати ці складнощі, вихідні дані повинні бути організовані в базу даних [data base] - сукупність взаємозв'язаних даних, що зберігаються, і керованих відповідно до деяких правил. Ці правила також називаються моделлю даних. Конкретне побудову бази даних і використовувана модель даних визначаються розв'язуваної завданням.

Приклад

Є кілька моделей даних: мережева, ієрархічна, реляційна, об'єктно-орієнтована. Останнім часом найбільш широко використовуваною є реляційна модель даних. Відповідно до цієї моделі всі дані організовуються в сукупність пов'язаних таблиць. Питання, пов'язані з проектуванням баз даних вивчаються у спеціальному курсі «Бази і банки даних».

Обробка даних

Поняття програми

Рішення задачі на ЕОМ - це процес отримання результатних даних на основі обробки вихідних за допомогою програми.

Програма [program, routine] - це просто послідовність команд, зрозумілих ЕОМ, або машинних команд. Машинні команди [computer instruction] являють собою цілі числа, приймаючи які, ЕОМ виробляє строго певні дії. Набір цих команд залежить від конкретної ЕОМ і носить назву машинної мови [computer (machine) language]. Машинні команди, як і дані, зберігаються у файлах, однак, файлу з командами можна передати керування комп'ютером. Такі файли також називають програмами.

Приклад

Нехай в деякому файлі записана наступна послідовність чисел:

B8 Травня 2003 BB-00 00 CD 16-CD 20

Якщо запустити цей файл на виконання (тобто передати йому управління ЕОМ) на ЕОМ з процесором Pentium в ОС Windows95, то клавіатура буде працювати швидше. Усього в даній послідовності закодовано чотири машинних команди.

Поняття алгоритму та алгоритмічної мови

Будь-яка програма складена у відповідності з деяким алгоритмом. Алгоритм [algorithm] - це кінцевий набір приписів, для якого зазначено, як і в якій послідовності ці приписи необхідно застосовувати до вихідних даних завдання, щоб отримати її рішення. Алгоритм - це загальний метод рішення задачі, конкретне вираження якого буде оформлено у вигляді програми. Алгоритм дає можливість чисто механічно вирішувати будь-яке завдання з деякого класу однотипних задач. Алгоритм може бути описаний різними способами: формульно, графічно, за допомогою деякого алгоритмічної мови. Алгоритмічна мова [algorithmic language] - система позначень, призначена для точного опису алгоритмів для ЕОМ і чи достатня для автоматичного знаходження таких алгоритмів. Такі мови є штучними мовами зі строго визначеними синтаксисом і пунктуацією, тому вони не допускають вільного тлумачення для своїх конструкцій, як це характерно для природної мови. Існує велика кількість мов програмування, призначених для вирішення прикладних завдань.

Приклад

Розглянемо завдання обчислення квадратного кореня з деякого позитивного дійсного числа:

Організація інформації .

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

Організація інформації .

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

У графічному поданні алгоритм буде мати більш наочну форму.

Організація інформації

На алгоритмічній мові BASIC алгоритм може бути реалізований таким чином:

while (1)

y = y0

y = (y0 + x/y0) / 2

y0 = y

wend

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

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

Програмування та мови програмування

Використання ЕОМ немислимо без програмування [programming], яке в самому простому розумінні являє собою створення програм. Більш точно, програмування полягає у відображенні в пам'яті ЕОМ цифрових даних про реальні об'єкти і в описі на машинній мові інструкцій з управління цими даними. Так як для сприйняття людиною машинні мови незручні, то для більш ефективної роботи були створені різні мови програмування [programming language]. Найбільш поширені так звані процедурні мови програмування. Процедурна мова програмування надає набір типів та операцій з цими типами, а також кошти для логічної організації програми - оператори [statement]. Програма на процедурному мовою виконується поетапно - оператор за оператором.

Найбільш поширеними процедурними мовами програмування є: С, C + +, Fortran, Pascal, Basic, Visual Basic, Ada.

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

Мова Basic представляв собою спрощений Fortran і був створений у 1964 р. для початкового навчання програмуванню. Однак з часом ця мова придбав популярність серед професійних розробників програм. Основний недолік мови - це використання великої кількості «правил за умовчанням», що ускладнює створення надійних програм. Відсутність загальноприйнятого стандарту на мову також заважає його поширення та використання в серйозних програмних розробках. Мова Visual Basic є об'єктно-орієнтованої версією мови Basic, створеної фірмою Microsoft, і широко використовується для розробки графічного інтерфейсу прикладних програм.

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

Мова С, створений в 1972 р. набув поширення як мова системного програмування. На цій мові написані операційні системи Unix і її численні версії (Linux, IRIX, AIX), а також операційна система Windows NT.

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

Мова програмування Ada був розроблений в 1979 р. на замовлення Міністерства оборони США і є обов'язковим для багатьох військових програм. Основне призначення мови - створення великих програм для роботи в реальному часі. Істотним недоліком мови є його громіздкість.

З непроцедурного мов найбільш відомими є LISP і PROLOG.

Мова LISP створений в 1959 р. і розглядається як основна мова програмування систем штучного інтелекту.

Мова логічного програмування PROLOG створений в 1978 р. і використовується для роботи з базами знань, заснованими на фактах і правилах. Тобто програми, написані на цій мові, повинні володіти деяким ступенем «інтелектуальності».

У залежності від того, наскільки детально враховуються особливості ЕОМ у конкретній мові програмування, говорять про рівень програмування.

Мова С є низькорівневим мовою, так як може працювати безпосередньо з фізичними адресами пам'яті ЕОМ. Мови Ada, LISP, C + + є високорівневими мовами.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
75кб. | скачати


Схожі роботи:
Організація захисту інформації
Сутність та організація маркетингової інформації
Організація зберігання та пошуку інформації в мережі Internet
Принципи передачі інформації та структурна організація мозку
Організація захисту інформації та функції служб безпеки на підприємстві
Модель радіотехнічної передачі інформації Джерело інформації
Властивості інформації Одиниці виміру кількості інформації
Спілкування як передача інформації Види інформації
Апаратні засоби виведення графічної інформації Засоби візуального відображення графічної інформації
© Усі права захищені
написати до нас