Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розв'язування математичних задач помощью мови логічного програмування Prolog

Реферат Розв'язування математичних задач помощью мови логічного програмування Prolog





сьо галі Далекі від цього ідеалу декларативного програмування. Нельзя ігноруваті конкретно, чітко Певний способ моделювання абстрактного оператора в реализации кожної мови. Ефективне логічне програмування требует знання й использование цього способу.

У практичному програмуванні на Пролозі необходимо звернути Рамус на ефективність програм. Встановімо Критерії ОЦІНКИ програм. Основний оцінюваній параметр - число віконуваніх уніфікацій и число СПРОБА уніфікації в процессе обчислення. Цей параметр пов язаний Із годиною роботи програми. Ще один параметр - Глибина вкладеної рекурсії. Если в процессе Обчислення Глибина стані більш максимально пріпустімої, то обчислення перервуться. На практике ця проблема є основною. Третій параметр - число породженіх структур даних.

Можна пріпустіті, что при розумному запісі детермінованого послідовного алгоритму у виде програми на Пролозі очікувана ефективність алгоритму збережеться. Звічайна результуючі програми на Пролозі НЕ ґрунтуються на уніфікація Загально увазі або Глибока Повернення.

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


ІІ. Розв язування математичних задач мовою Prolog


Пролог - мова, что Швидко розвівається. За останні роки з явилося более десятка его НОВИХ діалектів; розроблені про єктні Розширення Прологу, в якому є засоби для роботи з абстрактними типами даних. Віявілося, что на Пролозі можливе розв язання задач з використанн підходів, далеких від математичної логіки, зокрема, функціонального и про єктно-орієнтованого програмування.

Пролог, Який відносіться до реляційніх мов високого уровня, Суттєво відрізняється від процедурно мов програмування (Бейсік, Паскаль, Фортран ТОЩО) як за типами даних, так и за базовий конструкціямі, та розрахованій на Ефективне розв язання широкого кола завдань Певного класу, реалізація якіх процедурними мовами значний ускладнюється. Альо Пролог НЕ є універсальною мовою програмування, тому існує ряд класів задач, для розв язку якіх использование Прологу є малоефектівнім. До таких завдань слід Віднести обчислювальні задачі: засоби виконан обчислювальних Дій Прологу й достатньо слабкі и носячи основном допоміжній характер.

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

Процес розв язання задачі мовою програмування Prolog проходити у декілька етапів:

. Аналізуються дані умови задачі (або ще кажуть, предметна область): факти, Функції, відношення. Вібіраються Позначення для них.

. Опісуються природною мовою з точки зору істінності відношення та функції.

. Опісані відношення оформлюються як аксіомі у виде фраз (Фактів, правил), зрозуміліх Прологу для роботи з ними. Множини таких фраз складає структуру предметної області. Програма вводитися у робоче поле компілятора.

. Формулюються та віконуються Предложения до введеної програми, Завдяк чому досягається результат розв язку задачі.


2.1 розв язування логічніх завдань


приклада Деяк логічніх завдань мовою Prolog:

Пріклад1.

Написати та реалізував програму встановлення батьківщину зв'язків: Василь має доньку Ольгу, у якої дві сині Михайло и Максим. Використовуват Зовнішні и внутрішні цілі.

domains=symbol (name) (name) (name, name) (name, name) (name, name) (name, name). (Z, Y), (Z, Y),. ( Vaciliy ). ( Michail ). ( Maxim ). ( Olga ). ( Michail raquo ;, Olga ). ( Maxim raquo ;, Olga ). ( Olga raquo ;, Vasiliy ). (X, Y): - men (X), men (Y), sons (X, Y), doughter (Z, Y). (X, Y): - men (X), men (Y), sons (X, Z), sons (Y, Z), X lt; gt; Y.

Результат: Olga, Vaciliy

Приклад 2. Написати програму, что створює список міст. Віконаті програму з різнімі внутрішнімі и зовнішнімі цілямі.

domains_list=town=symbol (town_list) ([A, B, C, D, E]), (A, , raquo ;, B, , raquo ;, C, laquo ;, raquo ;, D, , raquo ;, E). ([ Kazan raquo ;, Nignekamsk raquo ;, Elabuga raquo ;, Bugulma raquo ;, Almetevsk ]).

Результат: Kazan, Nignekamsk, Elabuga, Bugulma, Almetevsk

Приклад 3. Hello World!- Prolog:

Назад | сторінка 9 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розв'язання завдань лінійного програмування в середовіщі MATLAB
  • Реферат на тему: Програмна реалізація графічного методу розв'язання задач нелінійного пр ...
  • Реферат на тему: Графічний метод розв'язання задачі лінійного програмування
  • Реферат на тему: Графічний метод розв'язання задач лінійного програмування
  • Реферат на тему: Графічний метод і симплекс-метод розв'язання задач лінійного програмува ...