logo search
Моделирование систем / Моделирование систем / Теория / Dop / АИС_Конспект

3.4.5. Особенности составления описания предметной области

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

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

struct_domen=name(перечень_доменов)

struct_domen – имя структурного домена;

name – наименование структуры.

Пример. Программа, фиксирующая даты рождения.

domains

d,y = integer

name,m = string

birth_day = day(d,m,y) % дата рождения

predicates

person(name,birth_day)

clauses %факты

person(“Зотова О.П.”,day(20,”февраль”,1980)).

person(“Хватова А.И”,day(16,”март”,1970)).

goal

person(N,day(Ch,Mes,Gr)),

write(N,"\t",Ch,"\t",Mes,"\t",Gr),nl,fail.

Альтернативные домены используются для создания модели предметной с различными вариантами ее информационного содержания. Альтернативный домен в общем виде имеет структуру:

domen_namе=domen1(перечень доменов);

domen2(перечень доменов);

domeni(перечень доменов)

Пример. Известно, что некое лицо может обладать различными предметами. Такими предметами могут быть: книги, аудио альбому, либо произвольный предмет как одушевленный, так и неодушевленный.

Программа примет вид:

domains

thing =misc(whatever);

book(author,title);

record(artist,album,type)

person,whatever,

author,title,

artist,album,type=symbol

predicates

owns(person,thing)

disp

clauses

owns("Ольга",misc("собака")).

owns("Ирина",misc("кошка")).

owns("Ирина",record("Моцарт","Requiem",classic)).

owns("Ольга",book("Толстой Л.Н","Война и мир")).

disp:-

owns(P,misc(T)),write(P," ",T),nl,fail.

goal

disp.