реалізацію.
. Декларативні мови програмування:
Функціональні мови програмування - LISP, ISWIM (If you See What I Mean), ML (Meta Language), Miranda.
У мовах функціонального програмування основними конструктивними елементами є функції. Тексти програм на функціональних мовах програмування описують як вирішити задачу raquo ;, але не наказують послідовність дій для вирішення.
Спосіб вирішення задачі описується за допомогою залежності функцій один від одного без вказівки послідовності кроків.
. Функціональне програмування, як і інші моделі неімперативних програмування, зазвичай застосовується для вирішення завдань, які важко сформулювати у термінах послідовних операцій. Це, наприклад, задачі розпізнавання образів, спілкування з користувачем на природній мові, реалізація експертних систем, автоматизоване доказ теорем, символьні обчислення. Логічні мови програмування - Prolog.
. У логічному програмуванні програма представляє з себе деяку теорію (описану на досить обмеженому мовою), і твердження, яке потрібно довести. У доказі цього твердження і полягатиме виконання програми.
Логічне програмування виявляється зручним для реалізації складних завдань; наприклад, диспетчерська система лондонського аеропорту Хітроу зараз переписується на Пролозі.
1. Процедурне
2. Об'єктно-орієнтоване
Процедурні мови програмування - використовують процедури (підпрограми, методи або функції). Процедури містять послідовність кроків для виконання. У ході виконання програми будь-яка процедура може бути викликана з будь-якої точки. При процедурному програмуванні програма розбивається на частини відповідно до алгоритму: кожна частина (підпрограма, функція, процедура) є складовою частиною алгоритму. Мови: Ада, Бейсік, Сі, C ++, С # (з Microsoft) КОБОЛ, Паскаль, Delphi, Фортран, Java, Перл, Visual Basic, PHP
Об'єктно-орієнтований підхід до програмування - це підхід до розробки програмного забезпечення, заснований на об'єктах, а не на процедурах. При об'єктно-орієнтованому програмуванні програма будується як сукупність взаємодіючих об'єктів. Мови: Java, Сі, Visual Basic
Об'єкт - це базове поняття ООП. Будь-який об'єкт належить одному або декільком класам, які в свою чергу визначають, описують поведінку об'єкта.
Приклади класів: Птахи raquo ;, Автомобілі raquo ;. Приклади об'єктів: птах грач raquo ;, автомобіль Audi .
Кожен об'єкт характеризується властивостями, методами та подіями.
Властивості - опис об'єкта. Приклади атрибутів: ім'я raquo ;, зростання raquo ;. Набір конкретних значень визначає поточний стан об'єкта.
Метод - це дію об'єкту, що змінює його стан або реалізує інше його поведінку. Приклад методів: назвати своє ім'я raquo ;, стати невидимим .
До концепції ООП належить:
Поліморфізм - це взаємозамінність об'єктів з однаковим інтерфейсом. Коротко сенс поліморфізму можна виразити фразою: Один інтерфейс, безліч методів raquo ;. Залежно від типу об'єкта одне і те саме повідомлення може відповідати різним діям - методам для досягнення необхідного результату.
Спадкування - можливість породжувати один клас від іншого зі збереженням усіх властивостей і методів класу-предка (іноді його називають суперкласом) і додаючи, при необхідності, нові властивості і методи. Спадкування меті відобразити таку властивість реального світу, як ієрархічність.
Інкапсуляція - це принцип, згідно з яким будь-який клас повинен розглядатися як чорний ящик - користувач класу повинен бачити і використовувати тільки інтерфейс (від англійського interface - зовнішнє обличчя, т. е. список декларованих властивостей і методів) класу і не вникати в його внутрішню реалізацію. Цей принцип дозволяє мінімізувати число зв'язків між класами і, відповідно, спростити незалежну реалізацію і модифікацію класів. Сенс інкапсуляції полягає в тому, що зовнішній користувач не знає деталі реалізації об'єкта, працюючи з ним шляхом наданого об'єктом інтерфейсу.
1. Неструктурними
2. Структурний
неструктурними програмування допускає використання в явному вигляді команди безумовного переходу (в більшості мов GOTO). Типові представники - ранні версії Бейсика і Фортрана. Однак в мовах високого рівня наявність команди переходу призводить до нескінченних переходах вгору-вниз, і програму важко супроводжувати і модифікувати.
У структурному програмуванні завдання розбивається на велике число дрібних підзадач, кожна з яких вирішується своєї про...