Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробка фрагментів оболонки експертної системи

Реферат Розробка фрагментів оболонки експертної системи





іспі зображена на рис.2. Про основні процедурах написано в розділі "Розробка процедур оболонки", в якому представлені схеми алгоритмів їх роботи. Текст програми знаходиться в Додатку А, текст бази знань - у Додатку В.

Тепер перейдемо безпосередньо до опису програми. Головна процедура start запускає процедуру mainmenu (вона представлена ​​у вигляді нескінченного циклу do, також представлені і всі підменю: menufiles, menubd і т.д.). Mainmenu малює головне меню і тут же за допомогою виразу cond і eq? організовано отримання вибору і запуск обраної процедури.

Процедура saving здійснює запис БД в файл за допомогою вбудованого виразу with-output-to-file і функції write (все це організовано у вигляді lambda-вирази).

Завантаження файлу (Процедура loading) відбувається за допомогою вбудованих with-input-from-file і read (причому БД хвороб представлена ​​у вигляді списку * it_is *, а симптомів у вигляді списку * simptom *).

Постановка діагнозу здійснюється за допомогою функції experting. З БД вибирається хвороба ill, береться список її симптомів spis_num і за допомогою функції exp_ill (Spis_num, ill) визначається, чи є у користувача ці симптоми. Якщо ця функція буде помилковою (на запит користувач відповів негативно), то відбудеться рекурсивний виклик функції experting від кінця списку хвороб (тобто в Надалі буде обрана наступна і т.д.). У процесі роботи функції з допомогою функції set! формуються списки позитивних і негативних відповідей користувача * yes * і * no *. Якщо функція experting виконала свою роботу і діагноз поставлений успішно, то функція log_out (пояснення логічного виводу) виводить на екран назву певної хвороби і її симптоми (Функція використовує для цього функцію cond і рекурсію). p> У режимі переглянути список хвороб і симптомів (view_ill) використовується cond і рекурсивний виклик функції від хвоста списку, що дозволяє вивести всі вміст БД на екран.

У режимі додавання хвороб (add_ill) і симптомів (add_sym) використовується вбудована функція append (для з'єднання списків), а рекурсивний виклик функції addsyms забезпечує можливість додавання до хвороби декількох симптомів. При редагуванні хвороб (red_ill) і симптомів (red_sym) старе значення віддаляється за допомогою функції delete! (Видалення елемента зі списку), а нове обавляется за допомогою append.

Видалення хвороб (del_ill) здійснюється за допомогою функції delete!. При видаленні хвороби автоматично видаляються і всі її симптоми (рекурсивно викликаючи сама себе від кінця видаляється списку ознак функція delsyms послідовно видаляє всі симптоми цієї хвороби).

Видалення симптому (del_sym) також здійснюється за допомогою delete!, але при цьому з допомогою функції append формується новий список симптомів хвороби, симптом якої видаляється. Потім відбувається видалення хвороби зі старим списком симптомів {(set! * it_is * (delete! (list ill spis_nums) * it_is))} і додавання до списку * it_is * цієї ж хворо...


Назад | сторінка 10 з 19 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Організація списку за допомогою двійкового дерева
  • Реферат на тему: Рішення диференціальних рівнянь другого порядку з допомогою функції Гріна
  • Реферат на тему: Аналіз основних показників фінансово-економічної діяльності промислових під ...
  • Реферат на тему: Навчання поняттю функції в основній школі за допомогою комп'ютерних тех ...
  • Реферат на тему: Дослідження точності оцінки функції дожиття за допомогою оцінки Каплана-Мей ...