- •Введение
- •1. Методические указания к лабораторным работам
- •3. Лабораторные работы по курсу "Системы искусственного интеллекта"
- •5. Индивидуальные задания к лабораторным работам
- •6. Учебные демонстрационные примеры
- •Литература
- •Приложение 1.Руководство по применению системы "Turbo-prolog"
- •Приложение 2. Краткое руководство по применению языка Турбо-пролог версии 2.0
- •Содержание
1. Методические указания к лабораторным работам
Вкачестве инструментального средства для выполнения всех лабораторных работ используется среда логического программирования
"Turbo-prolog" версии 2.0, упакованная в файл prolog2000.arj в
следующем составе:
каталог ТPROLOG с подкаталогом GEOLAB и файлами: prolog.exe - экспертная оболочка "Тurbo-prolog", prolog.cfg - текущая конфигурация системы,
prolog.err - расшифровка диагностических кодов, prolog.hlp - описание системы "Turbo-prolog",
prolog.lib, prolog.ovl - вспомогательные подсистемы "Тurbo-prolog", workNN.pro - рабочие файлы, содержащие на языке Турбо-пролог
демонстрационные примеры программ.
Письменные отчеты по всем лабораторным работам не оформляются - отчетом служит демонстрация преподавателю на экране дисплея как программы, так ирезультатовееработывовсехтребуемыхрежимах.
Продолжительность каждой лабораторной работы - четыре академических часа.
Впроцессе выполнения каждой работы следует сохранять свои рабочие файлы в персональном каталоге на диске H; по окончании каждого лабораторного занятия или после сдачи очередной работы необходимо уничтожить все следы своей работы на диске D.
2.Лабораторные работы по основам декларативного программирования в Турбопрологе
Система "Turbo-prolog" версии 2.0 за короткое время получила широкое распространение и приобрела многочисленных сторонников. Разнообразные диалоговые и сервисные возможности выделяют ее среди других Пролог-систем.
Краткое руководство по применению системы приведено в Приложении 1. Структура программ на языке Турбо-пролог и особенности его языковых конструкций кратко описаны в Приложении 2 и подробно - в книгах [1, 2].
8
Типовая последовательность выполнения лабораторной работы:
1)распаковать на диск D файл prolog2000.arj с созданием каталога
TPROLOG arj x - r prolog2000.arj d:\;
2)изучить лабораторное задание и войти в оболочку prolog.exe;
3)изучить структуру и функции учебной демонстрационной программы на языке Турбо-пролог в файле workN.pro, скомпилировать
ивыполнить ее в DOS и в диалоге.
Лабораторная работа № 1. Знакомство с системой
"Turbo-prolog".
Основная задача лабораторной работы - изучение особенностей оболочки языка программирования Турбо-пролог и освоение основных функций его меню.
Необходимо создать программу начального знакомства с языком, которая должна выдавать на экран текст приветствия.
Этап 1 - программа выдает на экран приветствие типа: "Вас приветствует ПРОЛОГ".
Этап 2 - программа запрашивает имя пользователя, осуществляет его ввод с клавиатуры и последующую выдачу сообщения типа: "Вася, Вас приветствует ПРОЛОГ".
Необходимо с использованием предикатов write и readln подготовить варианты с внутренней целью GOAL и без нее.
Лабораторная работа № 2. Установление родственных
связей.
Цель лабораторной работы - углубление знаний в области языка логического программирования Турбо-пролог и овладение основными приемами создания простых программ.
Требуется разобраться с парадигмой функционирования Прологпрограммы и освоить основные структуры языка - предикаты. Для этого необходимо создать программу, описывающую родственные отношения группы людей, изображенной на рисунке.
9
Памела |
Том |
|
Джейн |
Линда |
Боб |
Лиз |
Билл |
Нил |
Пат |
Эмми |
Рэд |
Джин Энн
Схема родственных отношений
При разработке программы следует использовать предикаты типа:
•родитель;
•мужчина;
•женщина.
Необходимо построить следующие предикаты: сестра, предок, потомок, отец, мать и один предикат - по индивидуальному заданию.
Лабораторная работа № 3. Организация циклов.
Цель лабораторной работы - изучение основных способов организации циклических структур на языке Турбо-пролог. Способы реализации циклов в логическом программировании значительно отличаются от аналогичных в алгоритмическом программировании. Поэтому для полноценного выполнения индивидуального задания каждый студент должен организовать циклы двумя способами - рекурсией и откатом.
Лабораторная работа № 4. Работа с текстами.
При выполнении лабораторной работы студенты осваивают большое количество стандартных предикатов языка Турбо-пролог, позволяющих обрабатывать строковые, символьные, вещественные и целочисленные переменные. Определенный акцент делается на особенности логического программирования, позволяющей менять местами входные и выходные данные в предикатах.
Студенты выполняют индивидуальные задания.
10
Лабораторная работа № 5. Работа со списками.
Одной из основных структур данных в языке Турбо-пролог являются списки. Поэтому цель этой лабораторной работы - изучение возможностей обработки подобных структур.
Студенты выполняют индивидуальные задания, в каждом из которых присутствуют три или четыре подзадания со специфическим функционалом обработки списка.
Лабораторная работа № 6. Основы декларативного
программирования.
Задачей данной лабораторной работы является практическое освоение понятия предиката, его арности и способов формулирования целей в Турбо-прологе. Необходимо написать программу в составе всех требуемых секций и продемонстрировать ее работу с внутренней и внешней целями в режимах интерпретации и компиляции.
Цели программы должны определять взаимную вложенность топологических областей, представленных на рисунке. При разработке программы достаточно использовать предикаты с семантикой "карман", "контакт", "вложен" и "соседствует".
Кристалл
Биполярныйтранзисторсизоляциейp–n-переходом
Карман подложки |
Контакт подложки |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Коллекторныйкарман |
Контакт коллектора |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Карман базы |
Контакт базы |
|
|
|
|
|
|
Эмиттерный |
|
|
|
|
|
|
|
|
Эмиттерный |
|
|
|
||
|
карман |
|
контакт |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Топология биполярного транзистора с изоляцией p–n-переходом
11
Формулировки целей должны применять константы, переменные, включая анонимную, и логические связки И, ИЛИ, НЕ.
Лабораторная работа № 7. Изучение методов повторения и
рекурсии в Турбо-прологе.
Задачей лабораторной работы является практическое освоение методов повтора с применением отката и рекурсии в режимах интерпретации (с внешними целями) и компиляции (с внутренними целями).
Узнав у преподавателя номер своего варианта, необходимо разработать, ввести, скомпилировать и исполнить в диалоге программу, реализующую метод повтора, определяемого пользователем. Диалог прерывается вводом некоторого символьного или числового пароля или парольной комбинации.
Лабораторная работа № 8. Изучение операций с
файлами на внешних носителях.
Задачей лабораторной работы является практическое освоение предикатов обмена с файлами на внешних носителях.
Требуется написать программу и продемонстрировать ее работу с внутренней и внешней целями в DOS и в диалоге на примерах.
Программа реализует вариант индивидуального задания, передав заданное сообщение в заданный файл. Следует проконтролировать результат в файле с помощью встроенного редактора.
Лабораторная работа № 9. Формирование строк и
списков в экспертной оболочке "Turbo-prolog".
Цель работы - изучение и практическое применение среды "Turboprolog" для преобразований строк и списков.
Необходимо разработать, ввести, скомпилировать и исполнить в диалоге программу в соответствии с индивидуальным заданием, реализующую метод повтора, определяемого пользователем, прерываемого вводом некоторого символьного или числового пароля или парольной комбинации.
12
