Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Авдеев, Ездаков. Лабы по ИС и ЭС.pdf
Скачиваний:
9
Добавлен:
28.06.2024
Размер:
1.57 Mб
Скачать

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