Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Експертна система

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Програма задає потрібну кількість питань, одержуючи кожен з них відповідь. Якщо отриманих відповідей достатньо визначення об'єкта, система видає у відповідь екран (Вигляд животного). У підключеної базі знань «Тваринний світ» користувачеві пропонується жартівливій формі визначити, якого виду живих істот він ставиться до. Ця база знань є шуточной. За умовчанням вхідними даними є файл bd. txt, Файл… Читати ще >

Експертна система (реферат, курсова, диплом, контрольна)

1 Завдання 3.

2 Угоду вимоги до програми 3.

2.1 Опис призначення програми 3 2.2 Визначення уявлення вхідних і вихідних даних 3 2.3 Дія програми. 5.

3. Опис програми 5.

3.1 Мова програмування 5.

3.2.1 Опис структури програми 5.

3.2.2 Описание вхідних процедур 6.

3.3 Специфікація інтерфейсів програми 6.

4 Текст програми 7.

5 Результати тестування 10.

6 Список літератури 11.

Задание.

Розробити найпростішу експертну систему.

Кілька визначень: Під експертної системою розуміється система, що об'єднує можливості комп’ютера зі знаннями й досвідом експерта у такому формі, що систему може запропонувати РОЗУМНА РАДА чи здійснити РОЗУМНЕ РІШЕННЯ поставленої завдання. Експертна система — програма, яка эмулирует взаємодія користувача з экспертом-человеком під час вирішення певної проблемы.

Угоду вимоги до программе.

1 Опис призначення программы.

У підключеної базі знань «Тваринний світ» користувачеві пропонується жартівливій формі визначити, якого виду живих істот він ставиться до. Ця база знань є шуточной.

2 Визначення уявлення вхідних і вихідних данных.

За умовчанням вхідними даними є файл bd. txt, Файл містить дані насамперед про представників тваринного світу. Файл *.txt має суворо певну структуру:

Номер вопроса.

Вопрос.

Кількість ответов.

Ответы.

Номер вопроса.

.

.

.

Як примера:

Якого виду живих істот Ви себе относите?

Животное.

Растение.

Не знаю.

Якого виду?

Насекомое.

Птица.

Млекопитающее.

Не знаю.

Яке семейство?

Дерево.

Трава.

Водоросль.

Не знаю.

Маєте корни?

Да.

Нет.

Ви п'єте кровь?

Да.

Нет Преимущества запропонованої архітектури бази знань: 1. Простота построения.

2. Кількість запитань і відповідей у системі не обмежено. 3. Довжина рядки не ограниченна.

Висновок експертної системи відображається на экране.

3 Дія программы.

Програма задає потрібну кількість питань, одержуючи кожен з них відповідь. Якщо отриманих відповідей достатньо визначення об'єкта, система видає у відповідь екран (Вигляд животного).

3. Опис программы.

3.1 Мова программирования.

Під час написання справжньої програми використовувався мову Object Pascal і система програмування Borland (Delphi (5.0.

3.2.1 Опис структури программы.

Діаграма модульної структуры.

[pic].

3.2.2 Описание вхідних процедур

procedure ExitClick (Sender: TObject); - здійснює вихід із программы.

Procedure Button1Click (Sender: TObject); - змінює глобальну зміну select (множить в 10 додає 1), потім оновлює форму. procedure Button2Click (Sender: TObject); procedure Button3Click (Sender: TObject); procedure Button4Click (Sender: TObject); procedure BackClick (Sender: TObject); - перевіряє select. Якщо вона більше 10, то привласнює їй цілу частина під час ділення на 10. Потім викликає процедуру відновлення форми. procedure Button5Click (Sender: TObject); - візуалізує форму про програмі. procedure FormCreate (Sender: TObject); - оновлює основну форму під час запуску програми. procedure ReLoad (Sender: TObject); - відновлення форми. Пов’язує файл з файловій перемінної «namebd», відкриває файл для читання, шукає в файлі рядок, значення відповідає значенням в «select» і після цього виходить із циклу. Потім же виголошує наступний рядок і привласнює її значення властивості «caption» (заголовок) рядки «label1». Далі читає наступний рядок і привласнює його значення перемінної «і» (на цю кількість кнопок). Потім заходить в цикл на виборах 4 кнопки, у якому визначається кількість активних кнопок. Під кожну кнопку програма читає відповідну рядок, яка присвоюється властивості caption (для відповідної кнопки).Затем кнопка активизируется.

Якщо номер циклу більше кількості активних кнопок, то деактивируются зайві кнопки.

Далі відбувається закриття файла.

3.3 Специфікація інтерфейсів программы.

По порядку ставлять запитання, і яскрава програма видає меню, що містить кнопки з варіантами відповідей. Користувач натискає на потрібну клавішу з відповіддю, і після чого задається таке запитання і т.д.

Коли програма готова з відповіддю, в рядку питань з’явиться результат.

Головне меню містить три важливих команды.

«Exit" — здійснюється вихід оболонку Windows.

«Back" — здійснюється перехід подібний до попереднього рівень (вопрос).

«Про торішню програму" — виводить інформацію дату, місці створення і творця программы.

Текст программы.

unit Unit1;

interface.

uses.

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,.

Dialogs,.

StdCtrls;

type.

TForm1 = class (TForm).

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Back: TButton;

Exit: TButton;

Label1: TLabel;

GroupBox1: TGroupBox;

Button5: TButton; procedure ExitClick (Sender: TObject); // вихід із програми procedure Button1Click (Sender: TObject); // кнопки відповідей procedure Button2Click (Sender: TObject); procedure Button3Click (Sender: TObject); procedure Button4Click (Sender: TObject); procedure BackClick (Sender: TObject); //повернення подібний до попереднього рівень procedure Button5Click (Sender: TObject); //виклик форми про програму procedure FormCreate (Sender: TObject); // створення форми програмі private.

{ Private declarations } public.

{ Public declarations } end;

var.

Form1: TForm1;

Select: integer =1;

Namebzd: text;

implementation // блок выполнения.

uses Unit2;

{$R *.DFM}.

Procedure ReLoad (Sender: TObject); // оновлює зовнішній вигляд форми, нові запитання тощо. var str: string; i, n: integer; begin assignfile (Namebzd, «bzd.txt »); reset (Namebzd); // відкриває для читання str := «»; while str inttostr (Select) do readln (Namebzd, str);// шукає місце зчитування readln (Namebzd, str);

Form1.Label1.Caption := str; readln (Namebzd, str); і := strtoint (str); for n:= 1 to 4 do // активізується потрібну кількість кнопок з відповідями begin if n < i+1 then begin readln (Namebzd, str); case n of.

1: begin.

Form1.Button1.Visible := true;

Form1.Button1.Caption := str; end;

2: begin.

Form1.Button2.Visible := true;

Form1.Button2.Caption := str; end;

3: begin.

Form1.Button3.Visible := true;

Form1.Button3.Caption := str; end;

4: begin.

Form1.Button4.Visible := true;

Form1.Button4.Caption := str; end; end; end else case n of.

1: Form1. Button1.Visible := false;

2: Form1. Button2.Visible := false;

3: Form1. Button3.Visible := false;

4: Form1. Button4.Visible := false; end; end; closefile (Namebzd);

end;

procedure TForm1. ExitClick (Sender: TObject); begin.

Halt (0); end;

procedure TForm1. Button1Click (Sender: TObject); begin.

Select := Select*10+1;

ReLoad (form1); end;

procedure TForm1. Button2Click (Sender: TObject); begin.

Select := Select*10+2;

ReLoad (form1); end;

procedure TForm1. Button3Click (Sender: TObject); begin.

Select := Select*10+3;

ReLoad (form1); end;

procedure TForm1. Button4Click (Sender: TObject); begin.

Select := Select*10+4;

ReLoad (form1); end;

procedure TForm1. BackClick (Sender: TObject); begin if Select > 10 then Select := Select divx 10;

ReLoad (form1); end;

procedure TForm1. Button5Click (Sender: TObject); begin help. visible :=true; end;

procedure TForm1. FormCreate (Sender: TObject); begin Reload (Form1); end;

end.

Результати тестирования.

|Вопрос |Відповідь 1 |Відповідь |Відповідь 3|Ответ|Желаемый |Справжній| | | |2 | |4 |результат|результат | |До какому|Насекомо| | | |Ви п'єте |Ви п'єте | |виду? |е | | | |кров? |кров? | | | |Птах | | |Ви |Ви домашня? | | | | | | |домашня?| | | | | |Млекопи| |Ви |Ви стрибаєте з | | | | |тающее | |стрибаєте |гілки на | | | | | | |з гілки |гілку? | | | | | | |на гілку?| | | | | | |Не |Ви |Ви жужжите? | | | | | |знаю |жужжите? | | |Яке |Дерево | | | |Вам |Маєте? | |сімейств| | | | |є? | | |про? | | | | | | | | | |Трава | | |Ви |Ви заборонені | | | | | | |запрещены|законом? | | | | | | |законом? | | | | | |Водорос| |У вас |У вас багато | | | | |ль | |багато |йоду і вас | | | | | | |йоду і |їдять? | | | | | | |вас їдять?| | | | | | |Не |Вам |Маєте | | | | | |знаю |є |кора? | | | | | | |кора? | |.

1. Фаронов У. У., Основи Турбо-Паскаля, «МВТУ-ФЕСТО Дидактик», М., 1992.

2. Макницкий М. І., Delphi 5.0 для професіоналів, 2000.

Показати весь текст
Заповнити форму поточною роботою