- •Лабораторная работа n 1 основы языка программирования пролог. Изучение среды turbo prolog.
- •Запустить Turbo Prolog
- •1.1 Основные понятия языка Турбо Пролог.
- •1.1.2. Факты
- •1.1. 3 . Запросы
- •1.2. Разделы программы на языке Турбо Пролог.
- •2. Среда turbo prolog 2.0.
- •2.1. Интерфейс среды Турбо Пролог 2.0.
- •2.1 Элементы главного меню и их функции:
- •2.3 Основные операции в среде Турбо Пролог.
- •2. 4 . Трассировка.
- •Лабораторная работа n 2 понятие правила и рекурсии. Встроенные предикаты.
- •1. Правила
- •1.1. Дерево вывода.
- •2. Рекурсия
- •3.Использование встроенных предикатов.
- •4. Задание для лабораторной работы
- •4.1. Варианты заданий
- •5. Контрольные вопросы.
- •Лабораторная работа № 3 интегрированная среда разработки visual prolog
- •1. Создание нового проекта.
- •2. Создание формы.
- •3. Работа с меню
- •4. Создание обработчиков нажатия на кнопку.
- •5. Задание для лабораторной работы
- •6. Контрольные вопросы.
- •2. Преобразование данных
- •3. Арифметические действия
- •Лабораторная работа № 5 построение нейросетевой экспертной системы
- •5.1. Цель работы
- •5.2. Методические указания
- •5.2.1. Постановка задачи
- •5.2.2. Критерии оценки
- •5.2.3. Ввод анализируемых данных
- •5.2.3.1. Использование файла запуска фактов
- •5.2.3.2. Использование протокола dde
- •5.3. Порядок выполнения работы
- •Лабораторная работа №6 Архитектура процессора NeuroMatrix ® nm 6403 и его функциональные возможности
- •6.3.2. Внешний интерфейс процессора
- •6.3.3. Общее описание внутренней структуры процессора
- •6.3.3.1. Описание основных элементов скалярного процессора
- •6.3.3.2. Описание основных элементов векторного процессора
- •6.3.4. Основные вычислительные блоки векторного процессора
- •6.3.4.1. Взвешенное суммирование
- •6.3.4.2. Выполнение операций на векторном алу
- •6.3.4.3 Операция маскирования
- •6.3.4.4 Обработка данных функцией активации
- •6.3.4.5 Циклический сдвиг вправо операнда х при взвешенном суммировании
- •6.3.4.6 Порядок выполнения преобразований над данными на вп
- •6.4. Описание и порядок пользования программой nmCalculator запустить nmCalculator
- •6.4.1 Общие сведения о программе
- •6.4.2 Формирование векторной команды
- •6.4.3 Разбиение рабочей матрицы и запись весовых коэффициентов
- •Контрольные вопросы
- •Лабораторная работа № 7 Программирование процессора NeuroMatrix ® nm 6403
- •7.2.3 Типы скалярных команд
- •7.2.4 Типы векторных команд
- •7.2.5 Регистры процессора
- •7.2.5.1 Основные регистры
- •7.2.5.2 Регистровые пары
- •7.3. Примеры простейших программ
- •7.4. Порядок выполнения работы
2.3 Основные операции в среде Турбо Пролог.
Для запуска программы надо дать команду [Alt]+[R] или RUN. Если в текущий момент в редакторе есть исходный текст программы, причем в этой программе нет секции goal, то Турбо Пролог скомпилирует ее (что необходимо для добавления в систему предикатов), а затем активизирует диалоговое окно и пригласит ввести цель (Goal).
[F2] – сохранение программы.
[F3] – загрузка программы с жесткого диска.
[F5] – развернуть активное окно во весь экран (для выхода из полноэкранного режима нажать [F5]).
[F6] – переход между окнами редактора.
[F8] – вызов последней из ранее введенных целей (выход из окна нажатием клавиши [Esc]).
[F9] – компиляция программы.
Активное окно отмечено двойной рамкой. Размеры и положение активного окна можно менять, используя для этого клавиши со стрелками, (либо их комбинации с [Shift] или [Ctrl]).
Для выхода из среды Турбо Пролог нажать комбинацию [ Alt ]+[ X ].
Для запуска уже существующей программы в среде следует:
Запустить файл PROLOG.EXE в папке с программой или щелкнуть по ярлыку на рабочем столе Windows .
Снять заставку среды любой клавишей.
Выбрать меню Options , подменю Compiler directives , установить режим трассировки Trace равным Trace .
Для выбора нужного файла программы нажать [F3]
На приглашение ввести имя файла нажать [Enter]. На экран выведется список файлов текущей директории с расширением PRO. Выбрать нужный файл и загрузить его клавишей [Enter]. Активизируется окно редактирования.
Если редактировать файл не надо, можно сразу запустить его на выполнение ([Alt]+[R]). В случае успешной компиляции активизируется диалоговое окно.
На приглашение Goal: ввести цель, нажать [Enter].
Нажимая [F10], выполнить программу по шагам.
2. 4 . Трассировка.
Для трассировки необходимо откомпилировать программу с включенной опцией трассирования. Включить ее можно либо из меню Options / Compiler Directives, либо введя в исходный текст директивы trace или shorttrace. С помощью комбинации [Alt]+[P] можно задать Турбо Прологу дублирование данных, вводимых в окно трассирования, на принтере ( Printer ON ) или в файле ( LOG file ON ). Для перехода к следующему шагу трассировки используется клавиша [ F 10]. Чтобы прервать трассировку надо нажать [ ESC ].
Во время исполнения программы при включенной трассировке в специальном окне трассировки будет отображаться следующая информация:
• после слова "CALL" будет указано имя выполняемого предиката (текущая подцель) и его параметры;
• после слова "FAIL" будет выводиться имя текущей подцели, которая не была достигнута;
• после слова "RETURN" будет выводиться результат вычисления текущей подцели, в случае успеха. При этом если у подцели есть еще альтернативы, к которым возможен возврат, то перед именем предиката высвечивается звездочка ("*");
• слово "REDO" перед именем предиката указывает на то, что произошел возврат и происходит вычисление альтернативного решения.
3. Задание для лабораторной работы.
Познакомиться со средой Turbo Prolog. В соответствии с вариантом задания, определенным преподавателем ввести программу. Добавить к ней 3 факта относящихся к соответствующей области знаний. Построить семь различных запросов к базе знаний. В отчет записать номер варианта, текст программы, с введенными дополнительными фактами, запросы и их результаты, трассы этих запросов.
3.1. Варианты заданий.
Музыка
predicates
songster (symbol, symbol).
clauses
songster (“sadness”, ”enigma”).
songster (“mea culpa”, ”enigma”).
songster (“principles of lust”, ”enigma”).
songster (“white dove”, ”scorpions”).
songster (“still loving you”, ”scorpions”).
songster (“nothing else matters”, ”metallica”).
Жанры кино
predicates
movie(symbol, symbol).
Clauses
movie (“man in black”, ”comedy”).
movie (“man in black - 2”, ”comedy”).
movie (“King Kong”, ”Adventure”).
movie (“Indiana Jones”, ”Adventure”).
movie (“The Lion King”, ”Cartoon”).
movie (“Ice Age”, ”Cartoon”).
Расширения файлов
predicates
extension (symbol, symbol).
clauses
extension (“picture”,”*.jpg”).
extension (“picture”,”*.tif”).
extension (“picture”,”*.gif”).
extension (“video”,”*.mp4”).
extension (“video”,”*.mov”).
extension (“text”,”*.txt”).
Авторы книг
predicates
book (symbol, symbol).
clauses
book (“the fellowship of the ring”, ”tolkien”).
book (“hobbit”, ”tolkien”).
book (“hit or myth”, ”asprin”).
book (“myth inc.”,”asprin”).
book (“karrie”,”king”).
book (“red rose”,”king”).
Времена года
predicates
season (symbol, integer).
clauses
season (“january”,”winter”).
season (“march”,”spring”).
season (“april”,”spring”).
season (“may”,”spring”).
season (“june”,”summer”).
season (“august”,”summer”).
Количество дней в месяце
predicates
days (symbol, symbol).
clauses
days (“january”,31).
days (“march”,31).
days (“april”,30).
days (“may”,31).
days (“june”,30).
days (“august”,31).
Типы ПО
predicates
class (symbol, symbol).
clauses
class (“Windows”, “Operation System”).
class (“DOS”, “Operation System”).
class (“Unix”, “Operation System”).
class (“Word”, “Text Editor”).
class (“Notepad”, “Text Editor”).
class (“Doom”, “Game”).
Фирма - производитель ПО
predicates
manufacturer (symbol, symbol).
clauses
manufacturer (“Windows”, “Microsoft”).
manufacturer (“Office”, “Microsoft”).
manufacturer (“Photoshop”, “Adobe”).
manufacturer (“Illustrator”, “Adobe”).
manufacturer (“Flash”, “Macromedia”).
manufacturer (“Dreamweaver”, “Macromedia”).
География
predicates
city (symbol, symbol).
clauses
city (“ Ryazan ”, “ Russia ”).
city (“ Moscow ”, “ Russia ”).
city (“ Vologda ”, “ Russia ”).
city (“ New York ”, “ USA ”).
city (“ Chicago ”, “ USA ”).
city (“ London ”, “ Great Britain ”).
Предпочтения
predicates
likes (symbol, symbol).
clauses
likes (“Ivan”, “Cars”).
likes (“Maria”, “Horses”).
likes (“Olga”, “Cars”).
likes (“Maria”, “Cars”).
likes (“Petr”, “Horses”).
likes (“Nastya”, “Toys”).
Цвета
predicates
color (symbol, symbol).
clauses
color (“Corn”, “Yellow”).
color (“Banana”, “Yellow”).
color (“Cheese”, “Yellow”).
color (“Apple”, “Red”).
color (“Raspberry”, “Red”).
color (“Kiwi”, “Green”).
Овощи-фрукты
predicates
eat (symbol,symbol).
clauses
eat (“apple”,”fruit”).
eat (“orange”,”fruit”).
eat (“kiwi”,”fruit”).
eat (“potatoes”,”vegetables”).
eat (“onion”,”vegetables”).
eat (“cabbage”,”vegetables”).
Дисциплины
predicates
courses (symbol,symbol)
clauses
courses ("microelectronics" , “technical”).
courses ("SII", ”technical”).
courses ("Programming", ”technical”).
courses ("psychology", ”humanitarian”).
courses ("history", ”humanitarian”).
courses ("for_lang", ”humanitarian”).
Типы данных
predicates
DataTypes (symbol,symbol)
clauses
DataTypes ("Integer", “Numeric”).
DataTypes ("Real", “Numeric”).
DataTypes ("Byte", “Numeric”).
DataTypes ("String", “Symbol”).
DataTypes ("Char", “Symbol”).
DataTypes ("Boolean", “Logical”).
Производители компьютерных комплектующих
predicates
comp(symbol, symbol)
clauses
comp(“NVIDIA”, ”Video Card”).
comp(“ATI”, ”Video Card”).
comp(“Matrox”, ”Video Card”).
comp(“ASUS”, ”Motherboard”).
comp(“Genius”, ”Modem”).
comp(“Genius”, ”Mouse”).
Пункты меню .
predicates
Menu(symbol, symbol)
clauses
Menu(“New”, ”File”).
Menu(“Save”, ”File”).
Menu(“Open”, ”File”).
Menu(“Copy”, ”Edit”).
Menu(“Paste”, ”Edit”).
Menu (“ Cascade ”, ” Window ”).
4. Контрольные вопросы.
Как производится запуск среды Turbo P rolog ?
Какова структура среды Turbo Prolog?
Каким образом осуществляется вход в Turbo-среду?'
Как создать и отредактировать программу в Turbo-среде?
Как производится компиляция программы в среде Turbo Prolog?
Каким образом осуществляется выполнение программ в среде Turbo Prolog?
Как можно сохранить программу, подготовленную в Turbo-среде?
Как производится выход из среды Turbo Prolog?
Каково назначение функциональных клавиш среды Turbo Prolog?
Какие команды редактора Turbo Prolog вам известны?
Что такое факт в Turbo Prolog ?
Что такое запрос в Turbo Prolog ?
Какие разделы могут присутствовать в программе на языке Turbo Prolog и для чего они используются?
Какие виды переменных используются в программе на языке Turbo Prolog и для чего?
Для чего используется трассировка?