рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Описание программы на micro-LISP

Работа сделанна в 1996 году

Описание программы на micro-LISP - Курсовой Проект, раздел Программирование, - 1996 год - Разработка фрагментов оболочки экспертной системы Описание Программы На Micro-Lisp. Структурная Схема Программы На Лиспе Изобра...

Описание программы на micro-LISP. Структурная схема программы на Лиспе изображена на рис.2. Об основных процедурах написано в разделе Разработка процедур оболочки, в котором представлены схемы алгоритмов их работы.

Текст программы находится в Приложении А, текст базы знаний - в Приложении В. Теперь перейдем непосредственно к описанию программы. Главная процедура start запускает процедуру mainmenu она представлена в виде бесконечного цикла do, также представлены и все подменю menufiles, menubd и т.д Mainmenu рисует главное меню и здесь же с помощью выражения cond и eq организованно получение выбора и запуск выбранной процедуры.

Процедура saving осуществляет запись БД в файл с помощью встроенного выражения with-output-to-file и функции write все это организованно в виде lambda-выражения. Загрузка файла процедура loading происходит с помощью встроенных with-input-from-file и read причем БД болезней представлена в виде списка itis, а симптомов в виде списка simptom. Постановка диагноза осуществляется с помощью функции experting.

Из БД выбирается болезнь ill, берется список ее симптомов spisnum и с помощью функции expill spisnum, ill определяется, есть ли у пользователя эти симптомы. Если эта функция будет ложной на запрос пользователь ответил отрицательно, то произойдет рекурсивный вызов функции experting от конца списка болезней т.е. в дальнейшем будет выбрана следующая и т.д В процессе работы функции с помощью функции set формируются списки положительных и отрицательных ответов пользователя yes и no. Если функция experting выполнила свою работу и диагноз поставлен успешно, то функция logout объяснение логического вывода выводит на экран название определенной болезни и ее симптомы функция использует для этого функцию cond и рекурсию.

В режиме просмотра списка болезней и симптомов viewill используется cond и рекурсивный вызов функции от хвоста списка, что позволяет вывести все содержимое БД на экран. В режиме добавления болезней addill и симптомов addsym используется встроенная функция append для соединения списков, а рекурсивный вызов функции addsyms обеспечивает возможность добавления к болезни нескольких симптомов.

При редактировании болезней redill и симптомов redsym старое значение удаляется с помощью функции delete удаление элемента из списка, а новое обавляется с помощью append. Удаление болезней delill осуществляется с помощью функции delete. При удалении болезни автоматически удаляются и все ее симптомы рекурсивно вызывая сама себя от конца удаляемого списка признаков функция delsyms последовательно удаляет все симптомы этой болезни.

Удаление симптома delsym также осуществляется с помощью delete, но при этом с помощью функции append формируется новый список симптомов болезни, симптом которой удаляется. Затем происходит удаление болезни со старым списком симптомов set itis delete list ill spisnums itis и добавление к списку itis этой же болезни с новым списком. 7. Краткое описание встроенных предикатов и функций microLISP, используемых в программе Окна Окна являются объектами, подобными портам, которые представляют собой прямоугольные области на экране.

Предикат WINDOW определяет, действительно ли заданный объект является портом, представляющим окно на экране. Все интерактивные окна ввода-вывода представляются посредством окон, включая ввод-вывод, обеспечиваемый портами STANDARD-INPUT и STANDARD-OUTPUT. Новые окна-порты создаются и открываются с помощью MAKE-WINDOW их атрибуты доступны с помощью WINDOW-GET-ATTRIBUTE и модифицируются WINDOW-SET-ATTRIBUTE Окна до тех пор не выводятся на экран, пока область для них не очистится с помощью WINDOW-CLEAR. WINDOW-DELETE очищает область экрана, занятого окном.

WINDOW-POPUP и WINDOW-POPUP-DELETE выдают несколько перекрывающихся окон. Позиция окна на экране и размер его строк и столбцов устанавливаются WINDOW-GET-POSITION и WINDOW-GET-SIZE, соответственно модификация выполняется WINDOW-SET-POSITION и WINDOW-SET-SIZE. Модификация позиции и размеров окна может быть выполнена перед тем, как окно изначально выводится на экран по WINDOW-CLEAR. Позиция курсора устанавливается с помощью WINDOW-GET-CURSOR и изменяется WINDOW-SET-CURSOR. Курсор появляется на экране только тогда, когда ввод производится с клавиатуры.

FLUSH-INPUT Процедура FLUSH-INPUT чистит буфер вводного порта. Формат FLUSH-INPUT port Параметр port- вводной порт необязательный аргумент. Объяснение FLUSH-INPUT отбрасывает любые литеры и включает следующую последовательность конца строки end-of-line в буфер ввода, который связан с port, если он задан, или с текущим вводным портом.

Выдается неопределенное значение. LAST-PAIR Возвращает последнюю пару непустого списка. LIST Композиции пар, связанных через их cdr-компоненты, называются списками. Пустой список, обозначаемый как, также является списком. Когда цепочка cdr-связей в паре оканчивается пустым списком, тогда пара называется собственным списком.

Процедура LIST обеспечивает такой список, состоящий из значений его аргументов. LIST обеспечивает похожий список, но имеющий значение его последнего аргумента в cdr-компоненте последней пары цепочки. MEMBER MEMBER, MEMQ, MEMV Процедура Данные процедуры выдают подсписок, начинающийся с некоторого специфического объекта в собственном списке. Формат MEMBER оbj list MEMQ оbj list MEMV оbj list Параметры obj - любой объект в ЛИСП-МИКРО list - собственный список Объяснение Данные процедуры ищут первое появление obj в list, используя EQVAL для сравнения в случае MEMBER при MEMQ используется EQ при MEMV - EQV Если obj найден, подсписок, содержащий obj как первый элемент, выдается как результат.

Если obj не найден в list, выдается ложь. DO Специальное выражение DO обеспечивает наиболее общую возможность вычисления итераций. Формат DO var init step test exp stmt Параметры var - любой идентификатор ЛИСП-МИКРО init - любые выражения в ЛИСП-МИКРО. Вычисляется каждое init результат используется как значение соответствующего var. Этот аргумент необязательный step - любые выражения ЛИСП-МИКРО. Вычисляется каждое init результат используется как значение соответствующего var для следующей итерации.

Этот необязательный аргумент может быть описан, только если описан init test - любое выражение ЛИСП-МИКРО. Это выражение является условием, по которому итерация останавливается exp - любые выражения ЛИСП-МИКРО. Эти выражения вычисляются перед выходом из цикла stmt - любые выражения ЛИСП-МИКРО. Эти выражения вычисляются по порядку каждый раз как test возвращает ложь. 8.

– Конец работы –

Эта тема принадлежит разделу:

Разработка фрагментов оболочки экспертной системы

Экспертная система expert system, knowledge based system - это программная система, знания и умения которой сравнимы с умением и знаниями… Экспертные системы вместе с системами обработки естественных языков являются … В рамках исследования искусственного интеллекта созданы многочисленные экспертные системы для разных областей знания,…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Описание программы на micro-LISP

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Название программы и ее автор
Название программы и ее автор. Данная программа FUN.LSP написана на языке microLISP в текстовом редакторе NortonEdit. Программа работает с базой знаний, находящейся в отдельном файле. В данн

Выбор способа представления знаний
Выбор способа представления знаний. Чтобы проводить эспертизу, компьютерная программа должна быть способна решать задачи посредством логического вывода и получать при этом достаточно надежные резул

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

Инструкция пользователю и пример выполнения
Инструкция пользователю и пример выполнения. программы Необходимые аппаратные средства Для работы данной программы необходимо - компьютер желательно IBM PC AT или XT - оперативная память - не менее

Приложение А
Приложение А. Полный текст программы на языке micro-LISP файл FUN.LSP define mainwmake-window ДОКТОР true define mmenuwmake-window МЕНЮ true define menufwmake-window ФАЙЛЫ true define menudbwmake-w

Структура меню
Структура меню. Система пользовательского интерфейса обеспечивает взаимодействие между экспертной системой и пользователем. Это взаимодействие обычно включает несколько функций 1. Обработка данных,

Отладка программы
Отладка программы. Для удобства отладки программа писалась не вся сразу, а постепенно, отдельными процедурами. Каждая процедура сначала отлаживалась и проверялась, а потом разрабатывалась сл

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги