Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Moduli_pitannya(1).doc
Скачиваний:
5
Добавлен:
06.12.2018
Размер:
189.95 Кб
Скачать

Різні погляди на програмування і різні парадигми програмування

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

·                      програма є відображенням f: X → Y, яке ставить у відповідність елементам деякого простору вхідних даних X елементи з простору вихідних даних; це відображення можна розглядати як звичайний математичний оператор, хоч і з деякими специфічними властивостями;

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

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

·                      програма є сукупністю правил, які дозволяють отримувати різноманітні наслідки (вихідні дані) з відомих передумов (вхідні дані);

·                      програма є засобом для вирішення конкретних практичних задач.

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

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

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

3.                   Логічне програмування. В основі виконання програми лежить механізм автоматичного доведення теорем на основі логічного виведення. Найбільш відомий представник - Пролог.

4.                   Об'єктно-орієнтоване програмування. Ця парадигма є на сьогодні найбільш популярною і стрімко розвивається. Об'єктна програма розглядається як сукупність паралельно існуючих сутностей (об'єктів), які взаємодіють між собою. Кожний об'єкт вміє виконувати певні операції та характеризується певною поведінкою. Історично першою об'єктною мовою вважається Smalltalk. Найбільш відомими представниками цієї парадигми є C++; Object Pascal, що лежить в основі системи візуального програмування Delphi; Java.

 Як окремий напрямок слід виділити мови програмування баз даних, призначені для маніпуляції великими централізованими масивами даних і отримання з них інформації.  Багато з цих мов (Access, FoxPro, 4GL та ін.) мають розвинені процедурні елементи. Фактичним стандартом стала мова запитів до баз даних SQL.

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

  • алгоритм RLE (Run Length Encoding);

  • алгоритми групи KWE(KeyWord Encoding);

  • алгоритм Хафмана.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]