Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
univer / KR.rtf
Скачиваний:
25
Добавлен:
31.05.2015
Размер:
11.16 Mб
Скачать

3.2 Формирование правил – схема

Рисунок 3 - Дерево правил

3.3 Листинг

database

yes (symbol)

no (symbol)

predicates

begin

answer

question(symbol)

igra(symbol)

priznak(symbol)

add_to_database(symbol,char)

input_simbol(char,char)

otvet(char)

repeat

clear_from_database

goal

begin.

clauses

begin :-

makewindow (2,23,30," klassifikaciya igr",0,0,25,80),

gotowindow(2),

nl,write ("Otvette na voprosw :"),nl,nl,

answer,

not(clear_from_database),

readchar(X),

nl,nl,nl,nl,

write ("Nfzhmite lubuu klavishu"),

removewindow,

exit.

answer :-

igra (X),!,nl,

write (" Otvet: ",X,"."),nl.

question(Y) :-

write ("Vopros: ",Y,"? "),

otvet(X),

write(X),nl,

add_to_database (Y,X).

input_simbol(C,'y') :- C='y',!.

input_simbol(C,'n') :- C='n',!.

input_simbol(C,'y') :- C='Y',!.

input_simbol(C,'n') :- C='N',!.

otvet(C):-

repeat,

readchar(X),

input_simbol(X,C),!.

repeat.

repeat:-repeat.

priznak (Y) :-

yes (Y),!.

priznak (Y) :-

not (no (Y)),

question (Y).

add_to_database (Y,'y') :- assertz (yes (Y)).

add_to_database (Y,'n') :- assertz (no (Y)),fail.

clear_from_database :- retract (yes(_)),fail.

clear_from_database :- retract (no(_)),fail.

igra("kvest"):-

priznak("igra bez ineterneta?"),

priznak("igraete 1m geroem?"),

priznak("nuzhno mnogo dumat?"),

priznak("sta4inaya grafika?").

igra("rpg"):-

priznak("igra bez ineterneta?"),

priznak("igraete 1m geroem?"),

priznak("nuzhno mnogo dumat?"),

priznak("ne sta4inaya grafika?").

igra("action"):-

priznak("igra bez ineterneta?"),

priznak("igraete 1m geroem?"),

priznak("ne nuzhno mnogo dumat?").

igra("strategiya"):-

priznak("igra bez ineterneta?"),

priznak("igraete mnogimi geroyami?"),

priznak("nuzhno stroit' virtualnwe goroda?").

igra("Action-strategiya"):-

priznak("igra bez ineterneta?"),

priznak("igraete mnogimi geroyami?"),

priznak("ne nuzhno stroit' virtualnwe goroda?").

igra("mmo-strategy"):-

priznak("igra po internetu?"),

priznak("nushno stroit' virtualnwe goroda?").

igra("mmo-rpg"):-

priznak("igra po internetu?"),

priznak("ne nushno stroit' virtualnwe goroda?").

igra("Dannoi klassifikacii ne obnaruzheno").

Рассмотрим несколько решений:

Рисунок 4 – Классификация игр

Рисунок 5 – Классификация игр

Рисунок 6 – Классификация игр

4. Создание базы данных

4.1 Краткое описание

Необходимо создать базу данных о поездках на различных видах транспорта, с различной стоимостью билета, различными маршрутами и временем пути

4.2 Листинг

Код базы данных в Пролог:

domains

otkuda, kuda, transport = symbol

stoimost, vremya = integer

predicates

poezdka(otkuda,kuda,transport,stoimost,vremya)

clauses

poezdka(balakovo,london,samolet,500,7).

poezdka(rim,kiev,samolet,300,5).

poezdka(kiev,moskva,poezd,300,15).

poezdka(moskva,nizhniy,mashina,100,14).

poezdka(ispniya,italitya,samolet,800,5).

poezdka(greciya,rim,samolet,300,6).

poezdka(polsha,izrail,samolet,700,12).

poezdka(meksika,afrika,samolet,1000,12).

poezdka(akropl,lipeck,mashina,800,18).

poezdka(kursk,kostroma,poezd,300,16).

Соседние файлы в папке univer