Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет пролог.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
246.78 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ

ФЕДЕРАЦИИ

Рубцовский индустриальный институт (филиал) БГОУ

ВПО «Алтайский государственный технический университет

им. И.И. Ползунова»

Технический факультет

Кафедра «Прикладная математика»

Склад

тема курсовой работы

Интеллектуальные системы

дисциплина

Выполнила

студентка группы ПМ-81____________________________Н.П.Бонарт_

подпись дата инициалы, фамилия

Руководитель работы ______________________________О.Н. Богачева__

подпись дата инициалы, фамилия

Работа защищена с оценкой ____________________________________________

Члены комиссии ______________________________________________________

подпись дата инициалы, фамилия

_________________________________________________________

подпись дата инициалы, фамилия

Рубцовск, 2012

Рубцовский индустриальный институт

Кафедра “Прикладная математика”

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ № _____№2_ ___

Студентка____Н.П. Бонарт____Группа________ПМ-81____Курс____5_____

Тема_____Склад___________________________________________________

1.Исходные данные для проектирования /научного исследования/ ________

__________________________________________________________

2.Содержание пояснительной записки

__________________страница 3__________________________________

3.Контрольные точки выполнения курсового проекта

Дата

18.10.12

23.10.12

26.11.12

29.11.12

25.12.12

Расчетная часть, %

15%

25%

55%

80%

100%

Графическая часть, %

15%

35%

60%

100%

Подпись руководителя

Срок представления работы к защите«__25__»__декабря___2012 г.

Руководитель работы______________________________О. Н. Богачева__

подпись дата инициалы, фамилия

Содержание

Работа защищена с оценкой ____________________________________________ 1

подпись дата инициалы, фамилия 1

подпись дата инициалы, фамилия 1

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ № _____№2_ ___ 2

Введение 4

2. Постановка задачи 8

2.1 Характеристика задачи 8

2.2 Выходная информация 9

2.3 Входная информация 10

4. Руководство пользователя 14

4.1 Введение 14

4.2 Назначение и условия применения 14

4.3 Подготовка к работе 14

5 Приложение 16

5.1 Листинг задачи внутренней базы данных 16

5.2 Листинг задачи внешней базы данных 18

42

Рисунок 7 42

7. Список литературы………………………………………….......................... 25

Введение

Prolog (от “PROgramming in LOGic”) — декларативный язык программирования общего назначения.

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

Турбо-Пролог является компиляторно-ориентированным языком программирования высокого уровня; разработан фирмой Borland International и предназначен для программирования задач из области искусственного интеллекта. Как язык программирования ИИ Турбо-Пролог особенно хорош для создания экспертных систем, динамических баз данных, программ с применением естественно-языковых конструкций; он также может быть использован и для других задач общего характера. Турбо-Пролог имеет окна, цветную графику и интерактивные средства ввода-вывода, что свидетельствует о его максимальном удобстве для пользователя прикладных программ. Встроенные предикаты Турбо-Пролога и другие дополнительные возможности делают его пригодным для решения многих стандартных задач из сферы бизнеса, включая бухгалтерский учет, расчет зарплаты и представление графиков.

Еще одной причиной предпочтительности выбора Турбо-Пролога является то, что написанные на нем программы компилируются, в отличие от других версий Пролога, где программа интерпретируется. Интерпретатор выбирает предложения программы одно за другим и последовательно исполняет их. Компилятор транслирует в машинные коды сразу весь текст программы. Тур-

бо-Пролог транслирует исходный текст программы особенно быстро (быстрее всех других версий Пролога для компьютеров IBM PC). Также он позволяет легко создавать отдельные выполнимые файлы. Далее, Турбо-Пролог имеет прекрасный пользовательский

интерфейс для отладки программ. Другими словами, Турбо-Про-

лог - это наилучший товар на рынке программного обеспечения

на сегодняшний день.

Такие языки программирования, как Паскаль, Бэйсик и Си относятся к разряду императивных или процедурных. Программа, написанная на императивном языке, состоит из последовательности команд, определяющих шаги, необходимые для достижения назначения программы. Пролог является декларативным языком. Программа на декларативном языке являет собой набор логический описаний, определяющих цель, ради которой она написана.

Таким образом в Прологе отсутствуют такие явные управляющие структуры, как DO WHILE и IF ... THEN. Вместо расписывания шагов выполнения программы программист должен определить логический метод для достижения цели программы. Мощные внутренние унификационные процедуры(работа которых будет пояснена в гл. 2) будут затем искать решение поставленной задачи. Сила Турбо-Пролога заключается в его возможностях поиска и сопоставления. Внутренние унификационные процедуры бесстрастно перебирают все возможные комбинации правил, пытаясь удовлетворить заданную программистом цель. Пролог, как видим, базируется на естественных для человека логических принципах, и поэтому, чем больше вы им занимаетесь, тем он становится все более привлекательным.

Стандарт языка дан в ISO/IEC 13211-1 (1995 год).

Prolog — один из старейших и все еще один из наиболее популярных языков логического программирования, хотя он значительно менее популярен, чем основные императивные языки. Он используется в системах обработки естественных языков, исследованиях искусственного интеллекта, экспертных системах, онтологиях и других предметных областях, для которых естественно использование логической парадигмы.

Prolog был создан под влиянием более раннего языка Planner и позаимствовал из него следующие идеи:

  • обратный логический вывод (вызов процедур по шаблону, исходя из целей);

  • построение структура управляющей логики в виде вычислений с откатами;

  • принцип “отрицание как неудача”;

  • использование разных имен для разных сущностей и т.д.

Главной парадигмой, реализованной в языке Prolog, является логическое программирование. Как и для большинства старых языков, более поздние реализации, например, Visual Prolog, добавляют в язык более поздние парадигмы, например, объектно-ориентированное или управляемое событиями программирование, иногда даже с элементами императивного стиля.

Prolog использует один тип данных, терм, который бывает нескольких типов:

  • атом — имя без особого смысла, используемое для построения составных термов;

  • числа и строки такие же, как и в других языках;

  • переменная обозначается именем, начинающимся с прописной буквы, и используется как символ-заполнитель для любого другого терма;

  • составной терм состоит из атома-функтора, за которым следует несколько аргументов, каждый из которых в свою очередь является атомом.

Программы, написанные на чистом Prolog, описывают отношения между обрабатываемыми сущностями при помощи клауз Хорна. Клауза — это формула вида Голова :- Тело., которая читается как “чтобы доказать/решить Голову, следует доказать/решить Тело”. Тело клаузы состоит из нескольких предикатов (целей клаузы), скомбинированных с помощью конъюнкции и дизъюнкции. Клаузы с пустым телом называются фактами и эквивалентны клаузам вида Голова :- true. (true — не атом, как в других языках, а встроенный предикат).

Другой важной частью Prolog являются предикаты. Унарные предикаты выражают свойства их аргументов, тогда как предикаты с несколькими аргументами выражают отношения между ними. Ряд встроенных предикатов языка выполняют ту же роль, что и функции в других языках, например, ….

Предикаты с несколькими аргументами могут действовать в нескольких направлениях в зависимости от того, какие из аргументов уже связаны, а какие — нет.

Наконец, для того, чтобы быть языком общего назначения, Prolog должен предоставлять ряд сервисных функций, например, процедур ввода/вывода. Они реализованы как предикаты без специального логического смысла, которые всегда оцениваются как истинные и выполняют свои сервисные функции как побочный эффект оценивания.

Целью выполнения программы на Prolog является оценивание одного целевого предиката. Имея этот предикат и набор правил и фактов, заданных в программе, Prolog пытается найти привязки (значения) переменных, при которых целевой предикат принимает значение истинности.

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

Во всех других отношениях Пролог не отличается от традиционных языков программирования. Как и в случае программы написанной на любом другом языке, Пролог-программа предназначена для решения отдельной задачи.