Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5fan_ru_ПАРАДИГМИ ПРОГРАМУВАННЯ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.32 Mб
Скачать

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

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

program(input, output)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

data(dd,mm,yyyy)

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

Питання:

1. Яка основна відміна між імперативною та декларативною парадигмами?

2. Які мови програмування традиційно відносять до декларативної парадигми?

3. Яка математична теорія лежить в основі функціонального програмування?

4. Яка математична теорія лежить в основі логічного програмування?

5. Яка мова програмування традиційно є мовою функціонального програмування?

6. Яка мова програмування традиційно є мовою логічного програмування?

7. Назвіть дві основні характеристики функціонального програмування?

8. Для якого класу задач призначене функціонального програмування?

9. Для якого класу задач призначене логічне програмування?

10. Що собою представляє програма у логічному програмуванні?

11. До якої парадигми відноситься мова Prolog?

12. До якої парадигми відносяться мови Lisp, Common Lisp?

13. У чому полягає виконання програми у логічному програмуванні?

Лекція 8. Основи xml

План

1. Визначення і структура XML-документа

2. Створення XML-документа

3. Способи відображення XML-документа.

4. Правила створення коректного XML-документа

8.1. Визначення і структура xml-документа

Будь-який документ можна представити у вигляді деякого набору символів, розділених на дві групи: перша група визначає вміст документа, друга – спеціальні набори символів (теги), призначені для специфічного виділення або позначки деяких частин першої групи. У XML-документах перша група носить назву "текст" або "контент", а друга називається розміткою. У мові HTML, наприклад, до розмітки відносяться всі теги, без виключення.

Розмітка XML-документа є дещо складніше поняття, ніж в мові HTML. Це пов'язано з трьома наступними обставинами:

1. XML-документ може містити інструкції обробки самого себе. Це означає, що обробник XML-документа (процесор) є посередником між цим документом і деяким застосуванням. Такими застосуваннями можуть бути бази даних, сервер каталога, мова програмування, що працює на стороні сервера, і тому подібне.

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

3. На відміну від мови HTML, розробник XML-документів сам визначає назви тегов і, можливо, правила їх інтерпретації. Якщо такі правила присутні, то вони відокремлені від безпосередньо XML-коду і утворюють так званий сценарій XSLT (XSL Transformation). Іншими словами, якщо XML-файл служить не лише для зберігання яких-небудь даних, але і для їх представлення, (наприклад, в браузері), то способи представлення цих даних винесені в окремий XSL-файл (XSL – розширювана мова стилів).

Структура інформації, що міститься в XML-файлі, є ієрархічною моделлю даних (як і HTML-документа), тобто, вся символьна інформація: розмітка або контент є сукупністю вузлів деякого дерева. По правилах XML в коректному документі має бути присутнім єдиний кореневий елемент. Всі останні елементи є його безпосередніми нащадками або нащадками інших його нащадків. Процес обробки такого документа починається з першого або кореневого елементу, потім обробляються вузли дерева другого рівня, потім — третього і так далі. Переважна більшість помилок виникають в результаті того, що набори символів розмічені не однозначно, тобто процесор не може визначити, до якого саме вузла слід віднести даний набір.

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