Розв’язування математичних задач за допомогою мови логічного програмування Prolog - Курсовая работа

бесплатно 0
4.5 149
Огляд переваг та недоліків мови Пролог, історія її створення. Числення предикатів як математична основа її функціонування. Порівняльна характеристика середовищ програмування Prolog. Алгоритми розв’язування математичних задач за допомогою цієї мови.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Саме цьому для програмування мовою Пролог необхідно свіже логічне мислення, при якому знання таких мов програмування як Паскаль або Бейсик може бути справжньою поміхою. Назва Пролог утворилась як скорочення від “програмування в термінах логіки” і його можна віднести до мов програмування, що будуються на описовому або ж декларативному підході до програмування. SWI - Prolog , як майже всі реалізації мови , здебільшого реалізує Edinburgh Prolog , але також містить окремі елементи ISO Prolog. EZY Prolog не просто інтерпретатор , вони має попередній компілятор , який дає програмісту зручний інструмент для перевірки , що програма є логічно несуперечливої (контроль відповідності типів , аналіз шаблонів , використання неініціалізованої змінної , інтенсивний аналіз синтаксису ). JIPROLOG (Java Internet Prolog ) - багатоплатформовий інтерпретатор мови Prolog , який інтегрує мови Prolog і Java дуже простим способом.Логічне програмування - це відносно новий перспективний напрямок сучасного програмування, що виник у рамках робіт зі створення штучного інтелекту. Відомо, що для того, щоб скласти програму розвязку деякої задачі мовою процедурного типу, необхідно розробити її алгоритм і у подальшому транслювати його в набір базових конструкцій (цикли, розгалуження, процедури-підпрограми та ін.) за допомогою досить обємного набору операторів обраної мови. Відповідно до цього, програміст повинен спочатку продумати весь план розвязку задачі, а потім деталізувати його до найменших подробиць. При використанні мови логічного програмування основна увага приділяється описанню структури прикладної задачі, а не розробці наказів компютеру про те, що йому потрібно робити. При цьому програміст не вказує, "як" перевірити твердження, сформульоване у вигляді запиту, - програма сама або доведе істинність твердження, або повідомить про те, що твердження є хибним, або що про нього нічого не можна сказати на основі даних умов.Домен Опис char integer real символ, узятий у одинарні лапки, цілі від-32768 до 32767 числа, з необовязковим знаком або -, який стоїть перед деяким числом DDDDDDD, потім необовязкова десяткова крапка (.), що стоїть перед наступним числом DDDDDDD і необовякова експоненційна частина (е( ?-)DDD):DDDDDDDDDDDDDDD> Приклади дійсних чисел: 42705 9999 86.74 9111.769483 521е238 67.85е 21 діапазон чисел від 1е-307 до 1е 308.

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

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

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

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

Найбільш повно і строго ідеї логічного програмування реалізувались у мові програмування Пролог. Про це говорить і назва мови - ПРОГРАМУВАННЯ на основі ЛОГІКИ. Розробка мови Пролог, первісний варіант якої було створено А.Кольмерое у 1972 р. у Марсельському університеті, зробила логічне програмування практичним інструментом, доступним широкому загалу програмістів. Потрібно зазначити, що Пролог не єдина мова програмування, на якій можна писати програми з використанням концепцій логічного програмування.

Список литературы
1. Братко И. Программирование на языке Пролог для искусственного интеллекта: Пер.с англ. - М.: Мир, 1990

2. Вивчення експертних систем у курсі основи інформатики і обчислювальної техніки: Методичні рекомендації/ Укл. Ю.С.Рамський, Н.Р. Балик.- 1С: УДПУ, 1995

3. В.Е. Хачатрян. Логическое програмированние. Белгород, 2000

4. Жалдак М.І., Рамський Ю.С. Інформатика: Навчальний посібник / За ред. М.І. Шкіля. - 1С: Вища школа, 1991.

5. У.Клоксин, К. Меллиш Программирование на языке Пролог.

6. О.М. Спірін. Початки Штучного інтелекту - Житомир: Видавництво ЖДУ, 2004. - 172 ст.

7. С.П. Хабаров Использование Турбо-Пролога при проектировании баз даных и знаний. Санкт-Петербург,2000.

8. Рамський Ю.С., Балик Н.Р. Методичні основи вивчення експертних систем у школі.- Київ: Логос, 1997.

9. Рамський Ю.С. Логічні основи інформатики. - Київ, 2003

10. Шрайнер П.А. Основы программирования на языке Пролог

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?