Із сучасних мов елементи функціонального програмування є в pyton, C#. Мова f# є мовою функціонального програмування на платформі dot. Net. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Із сучасних мов елементи функціонального програмування є в pyton, C#. Мова f# є мовою функціонального програмування на платформі dot. Net.



Елементи функціонального програмування в С#:

-делегати (розширення показчика на функцію в C++);

- лямбда-вирази і дерева виразів.

Основи логічного програмування

Логічне програмування виникло як спрощення функціонального програмування для математиків і лінгвістів, які розв’язують задачі символьної обробки.

На відміну від функціонального, логічне програмування засновано на логіці предикатів – напряму формальної логіки, що отримав розвиток у XX столітті.

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

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

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

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

Якщо у функціональному програмуванні функції однозначні - одержують аргументи і повертають результат, то в логічному програмуванні різниця між введенням і виведенням умовна. Можна вказати бажаний результат і отримати введення, яке його забезпечить. Інша важлива відмінність - недетермінізм логічних мов. Результат в них не обов'язково визначається однозначно. Таким чином, оскільки довільне цільове твердження може бути доведене не єдиним чином, система, що реалізує мову логічного програмування, послідовно пропонує відновити спробу довести твердження по-іншому. Для доказу тверджень використовується уніфікація (зіставлення двох довільних термів) і метод резолюцій.

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

Сфера застосування

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

Основи Пролог

Пролог - практично єдина широко використовувана мова логічного програмування. Програма на мові Пролог в загальному вигляді представляється як відношення між введенням і результатом.

Program(input, output)

Розглянемо простий приклад.

Введемо відношення батько між об'єктами Іван і Петро. На Пролозі це буде виглядати так:

батько (іван, петро) – це факт, який визначає, що Іван є батьком Петра. Батько – ім'я відношення, Іван і Петро - його аргументи.

Відношення, про яке відомо, що воно є істина, називається фактом.

Сукупність фактів в Пролозі називають базою даних (або базою фактів).

Синтаксис Прологу

Розглянемо основні елементи Пролог. Отже, Пролог-програма складається з програмних конструкцій (clause) трьох типів:

Факти, правила, питання

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

Константи - це поіменовані конкретні об'єкти або відношення.

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

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

Числа записуються традиційним чином.

Цілі (діапазон -32768- 32767)

Раціональні (діапазон 1Е-307 - 1Е+308)

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

Наприклад, дата:

data(dd,mm,yyyy)



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 260; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.93.207 (0.004 с.)