ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

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

     

    Інформатика, програмування

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

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

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

    Інформатика [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-розрядне число. Кількість інформації, відповідне такого числа, називається байтом [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 = 010001112;

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

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

    ASCII-код символу C = 6710 = 4316 = 011001112

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

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

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

    x = M * 2P;

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

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

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

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

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

    Приклад

    Розглянемо принцип цифрового представлення дійсного числа 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 08 80 08 80 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 compression]), за допомогою яких можна істотно зменшити обсяг даних. Існують як універсальні алгоритми, які розглядають дані як просту послідовність бітів, так і спеціалізовані, які призначені для стиснення даних певного типу (зображень, тексту, звуку і відео). Ефективність стискання характеризується коефіцієнтом стиснення [compression 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 05 03 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 + + є високорівневим мовами.

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://www.shpora-zon.narod.ru/

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status