Автор работы: Пользователь скрыл имя, 15 Февраля 2013 в 20:44, курсовая работа
Турбо-Пролог (Turbo Prolog) является языком искусственного интеллекта (ИИ). Разработан этот язык компанией Borland International и характеризуется высокой скоростью работы и низкой стоимостью, что делает Турбо-Пролог весьма популярным в широких кругах обладателей персональных компьютеров.
Содержание 1
Глава 1. Описание языка Турбо-Пролог 2
1.1 Введение 2
1.2 Пакет системы Турбо-Пролог 5
1.2.1 Главное меню системы Турбо-Пролог 6
1.2.2 Запуск на счет программы, написанной на Турбо-Прологе 7
1.2.3 "Добро пожаловать в систему Турбо-Пролог!" 7
1.2.4 Сохранение программного файла 8
1.2.5 Просмотр каталога директории 8
1.2.6 Загрузка и редактирование программного файла 9
1.3 Заключение 10
Глава 2. Основные понятия языка Турбо-Пролог 11
2.1 Ведение 11
2.2 Декларативные и императивные языки 11
2.2.1 Логика предикатов 12
2.2.2 Пролог и логика предикатов 14
2.3 Управление программой 16
2.3.1 Цели программы 16
2.3.3 Результат доказательства цели 17
2.3.4 Связки и другие символы 17
2.3.5 Цели и подцели 18
2.4 Внутренние подпрограммы унификации Турбо-Пролога 18
2.4.1 Представление данных при помощи фактов и правил 19
2.4.2 Обработка правил и фактов во время унификации 19
2.4.3 Откат 22
2.5 Заключение 23
Глава 3. Основы программирования на Турбо-Прологе 24
3.1 Введение 24
3.2 Структура программ Турбо-Пролога 24
3.2.1 Описание доменов и предикатов 26
3.2.2 Правила образования имен в Турбо-Прологе 29
3.3 Предикаты и утверждения 29
3.3.1 Использование внешних и внутренних целей 30
3.3.2 Предикаты и утверждения разных арностей 33
3.3.3 Отрицание 33
3.4 Арифметика в Турбо-Прологе 35
3.5 Заключение 36
4. Примеры программ на языке Турбо-Пролог 37
5. Заключение 41
Список литературы 43
Содержание 1
Глава 1. Описание языка Турбо-Пролог 2
1.1 Введение 2
1.2 Пакет системы Турбо-Пролог
1.2.1 Главное меню системы Турбо-Пролог 6
1.2.2 Запуск на счет программы, написанной на Турбо-Прологе 7
1.2.3 "Добро пожаловать в систему Турбо-Пролог!" 7
1.2.4 Сохранение программного файла
1.2.5 Просмотр каталога директории
1.2.6 Загрузка и редактирование программного файла 9
1.3 Заключение 10
Глава 2. Основные понятия языка Турбо-Пролог 11
2.1 Ведение 11
2.2 Декларативные и императивные языки 11
2.2.1 Логика предикатов
2.2.2 Пролог и логика предикатов
2.3 Управление программой
2.3.1 Цели программы 16
2.3.3 Результат доказательства цели 17
2.3.4 Связки и другие символы 17
2.3.5 Цели и подцели 18
2.4 Внутренние подпрограммы
унификации Турбо-Пролога
2.4.1 Представление данных
при помощи фактов и правил
2.4.2 Обработка правил и фактов во время унификации 19
2.4.3 Откат 22
2.5 Заключение 23
Глава 3. Основы программирования на Турбо-Прологе 24
3.1 Введение 24
3.2 Структура программ Турбо-
3.2.1 Описание доменов и предикатов 26
3.2.2 Правила образования имен в Турбо-Прологе 29
3.3 Предикаты и утверждения 29
3.3.1 Использование внешних и внутренних целей 30
3.3.2 Предикаты и утверждения разных арностей 33
3.3.3 Отрицание 33
3.4 Арифметика в Турбо-Прологе
3.5 Заключение 36
4. Примеры программ
на языке Турбо-Пролог
5. Заключение 41
Список литературы 43
Турбо-Пролог (Turbo Prolog) является языком искусственного интеллекта (ИИ). Разработан этот язык компанией Borland International и характеризуется высокой скоростью работы и низкой стоимостью, что делает Турбо-Пролог весьма популярным в широких кругах обладателей персональных компьютеров.
Для чего нужен Турбо-Пролог?
Турбо-Пролог является компиляторно-ориентированным языком программирования высокого уровня. Он предназначен для программирования задач из области искусственного интеллекта. Как язык программирования ИИ Турбо-Пролог особенно хорош для создания экспертных систем, динамических баз данных, программ с применением естественно-языковых конструкций. Он также может быть использован и для других задач общего характера. Турбо-Пролог имеет окна, цветную графику и интерактивные средства ввода-вывода, что свидетельствует о его максимальном удобстве для пользователя прикладных программ.
Встроенные предикаты Турбо-Пролога и другие дополнительные возможности делают его пригодным для решения многих стандартных задач из сферы бизнеса, включая бухгалтерский учет, расчет зарплаты и представление графиков.
Популярность Пролога резко возросла после того, как он был выбран в качестве базового языка японской программы ЭВМ пятого поколения. Спрос на программы искусственного интеллекта, применяемые либо взамен, либо совместно с традиционными прикладными программами, постоянно увеличивается. В ходе продолжающейся эволюции
применений вычислительной техники наблюдается все возрастающая потребность в создании прикладных программ на Прологе. Турбо-Пролог может прекрасно удовлетворить такую потребность.
Наряду с Турбо-Прологом в США созданы еще несколько реализаций Пролога: Arity Prolog, Prolog II, Wisdom Prolog и Micro Prolog. В отличие от них Турбо-Пролог имеет великолепный полноэкранный редактор, множество рабочих окон и интерактивный диалоговый отладчик. Он поддерживает цветную графику IBM PC, снабженного цветным графическим адаптером (CGA) и расширенным графическим адаптером (EGA). Предикаты графики и система с графическим экранным пером являются составной частью Турбо-Пролога. Он также снабжен средствами работы с последовательными файлами, файлами прямого доступа и двоичными файлами.
Еще одной причиной предпочтительности выбора Турбо-Пролога является то, что написанные на нем программы компилируются, в отличие от других версий Пролога, где
программа интерпретируется. Интерпретатор выбирает предложения программы одно за другим и последовательно исполняет их. Компилятор транслирует в машинные коды сразу весь текст программы. Турбо-Пролог транслирует исходный текст программы особенно быстро (быстрее всех других версий Пролога для компьютеров IBM PC). Также он позволяет легко создавать отдельные выполнимые файлы. Далее, Турбо-Пролог имеет прекрасный пользовательский интерфейс для отладки программ. Другими словами, Турбо-Пролог - это наилучший товар на рынке программного обеспечения на сегодняшний день.
Что такое Пролог?
Название Пролог произошло от словосочетания "программирование при помощи логики" (Prolog PROgramming in LOGic). Пролог был разработан и впервые реализован в 1973 году Алэном Колмероэ и другими членами "группы искусственного интеллекта" (Франция) Марсельского университета. Главной задачей группы было создание программы для перевода с естественного языка. С тех пор было сделано несколько расширений и усовершенствований языка, здесь можно отметить работу группы из Эдинбургского университета (Шотландия). Шотландский вариант получил название C&M Prolog в честь авторов классической работы "Программирование на Прологе" Уильяма Клоксина и Кристофера Меллиша. Хотя официального стандарта Пролога не существует, в этой книге приведен тот его вариант, который считается неофициальным стандартом.
Турбо-Пролог имеет несколько отличий. В нем отсутствуют некоторые элементы C&M, но такие, которые встречаются только в очень сложных программах. Самым существенным отличием от упомянутого стандарта (как и от других версий языка) является наличие в Турбо-Прологе строгой типизации элементов данных. Сделанные отступления от неофициального стандарта позволили значительно увеличить скорость трансляции и счета программ. И хотя некоторые программисты возражают против этих отступлений, говоря, что Турбо-Пролог не есть Пролог "в чистом виде", однако именно в таком виде язык имеет массу преимуществ, например наличие графики и возможность работы с окнами. Этих средств нет в других реализациях. Независимо от того, является ли Турбо-Пролог "чистым" Прологом или нет, он тем не менее является очень современным, полноценным и гибким языком программирования.
Турбо-Пролог и другие языки программирования
Такие языки программирования, как Паскаль, Бейсик и Си относятся к разряду императивных или процедурных. Программа, написанная на императивном языке, состоит из последовательности команд, определяющих шаги, необходимые для достижения назначения программы. Пролог является декларативным языком. Программа на декларативном языке являет собой набор логический описаний, определяющих цель, ради которой она написана. Таким образом в Прологе отсутствуют такие явные управляющие структуры, как DO WHILE и IF ... THEN. Вместо расписывания шагов выполнения программы программист должен определить логический метод для достижения цели программы. Мощные внутренние унификационные процедуры (работа которых будет пояснена в дальнейшем) будут затем искать решение поставленной задачи.
Сила Турбо-Пролога заключается в его возможностях поиска и сопоставления. Внутренние унификационные процедуры бесстрастно перебирают все возможные комбинации правил, пытаясь удовлетворить заданную программистом цель. Пролог, как видим, базируется на естественных для человека логических принципах, и поэтому, чем больше вы им занимаетесь, тем он становится все более привлекательным.
Кому предназначена эта документация?
Эта курсовая написана для всех, кто интересуется Турбо-Прологом, вне зависимости от того, является ли он новичком или профессиональным программистом. От вас не требуется знания ни процедурных языков (например, Бейсик, Паскаль или Си), ни декларативных языков (например, Лисп). В этой работе изложены основные концепции и методы, необходимые для написания программ на Турбо-Прологе. С ее помощью вы научитесь мыслить категориями Пролога.
Если вы не работали с Турбо-Прологом вообще, эта работа именно для вас. "Основы программирования на языке Турбо-Пролог" позволит понять, что представляет собой программирование на декларативном языке, как проектируются и пишутся на нем программы. Логические предикаты и правила - это основные средства программирования для всех версий Пролога.
Если система Турбо-Пролог у вас уже имеется, и вы пробовали с ней работать, то эта курсовая пригодится и в этом случае. Она покажет, как проектировать и реализовать прикладные программы, предназначенные для решения различных задач.
Турбо-Пролог - это осуществленная реализация языка программирования высокого уровня Пролог компиляторного типа. Ее отличает большая скорость компиляции и счета. Турбо-Пролог предназначен для выдачи ответов, которые он логически выводит при посредстве своих мощных внутренних процедур. Так, программа на Турбо-Прологе в несколько строк, может заменить несколько страниц текста при программировании на каком-либо другом языке. Благодаря наличию мощных средств сопоставления, Турбо-Пролог пригоден не только для использования в приложениях, относящихся к области искусственного интеллекта и обработке естественно-языковых конструкций, но также применим в таких традиционных областях, как, например, управление базами данных.
Турбо-Пролог предназначен для машин класса IBM PC и совместимых с ними.
Пакет компилятора Турбо-Пролог состоит из двух дистрибутивных дисков и Руководства пользователя, насчитывающего свыше 200 страниц. Один диск имеет имя PROGRAM DISK, другой - LIBRARY&SAMPLE PROGRAMS. В табл.1 приведены описания файлов, содержащихся на обоих дистрибутивных дисках.
Таблица 1. Файлы дистрибутивных дисков версии 1.1
______________________________
1.Содержимое диска PROGRAM DISK:
PROLOG.EXE основной файл системы Турбо-Пролог.
PROLOG.OVL оверлейный файл, используемый системой при
запуске, при создании .EXE-файлов и при выполнении не-
которых других функций.
PROLOG.SYS файл, содержащий информацию о цвете, расположении окон системы, также как и информацию об используемых системой директориях.
PROLOG.ERR файл с сообщениями об ошибках
PROLOG.HLP файл с текстом применяемых в системе подсказок (обращение к нему осуществляется при помощи функциональной клавиши F1).
GEOBASE.PRO демонстрационная программа базы данных
и по географии США GeoBASE.
GEOBASE.INC
GEOBASE.DBA данные для программы GeoBase. GEOBASE.HLP текст подсказок программы GeoBase. README.COM программа для выдачи на экран содержимого файла README.
README текстовой файл, содержащий необходимую для работы информацию, не включенную в руководство пользователя Турбо-Пролога.
2.Содержимое диска LIBRARY&SAMPLE PROGRAMS:
PROLOG.LIB файлы, используемые системой Турбо-Пролог
и при создании выполнимых файлов.
INIT.OBJ
EXAMPLES директория, содержащая программы, используемые в разделе обучения Руководства пользователя.
ANSWERS директория, содержащая ответы на упражнения из Руководства.
PROGRAMS директория, содержащая демонстрационные программы.
______________________________
Главное меню Турбо-Пролога высвечивает 7 доступных пользователю опций (команд) в верхней части экрана. Первая буква названия каждой из команд выделена при помощи увеличенной яркости. Выделение имеет целью напоминать, что для задания команды достаточно нажать лишь первую букву ее названия.
Команды определяются 7 функциями Турбо-Пролога, каковыми являются:
Переход от одной команды к другой прост и удобен. Существует два способа задания команд. Первый требует нажатия клавиши, соответствующей первой букве названия выбранной команды. Так, для выбора команды Edit необходимо нажать E. (Нет никакой разницы, какая буква была введена большая или маленькая, т. е. использование Shift не обязательно.) Для окончания работы с командой используется клавиша Esc. Второй способ состоит в перемещении по меню при помощи стрелок; переход к работе с
выбранной командой осуществляется нажатием Enter.
Главное меню содержит четыре окна. В левом верхнем углу располагается окно редактора Турбо-Пролога (Editor), в правом верхнем углу - окно диалога (Dialog), в левом нижнем окно сообщений (Message), в правом нижнем - окно трассировки (Trace). Если вы используете цветной монитор, то по умолчанию для окна редактора задается голубой цвет, для окна диалога - красный и черный - для окон сообщений и трассировки.
Верхняя строка окна редактора содержит информацию о высвечиваемом в этом окне файле. Line 1 и Col 1 свидетельствуют о том, что курсор в настоящий момент располагается в первой позиции первой строки. Значения этих индикаторов строки и позиции меняются вслед за изменением положения курсора. Надпись Indent сигнализирует о том, что включен режим автоматического выравнивания строк, а надпись Insert - о том, что задан режим вставки. WORK.PRO является заданным по умолчанию именем рабочего файла; .PRO есть заданное по умолчанию расширение для файлов, содержащих программы на Турбо-Прологе. Если вы набьете в редакторе какой-либо текст и запишите его на диск без изменения имени файла, то файл с вашим текстом получит имя WORK.PRO.