Программирование базы данных со структурироваными объектами - Prolog

Узнай цену своей работы

Формулировка задачи:

вот задание. может подскажет кто запросы эти..решения.. DOMAINS mflist=mf* PREDICATES family (mf,mf,mflist) husband(mf) wife(mf) child(mf) belong(mf,mflist) exist(mf) date_birth(mf,dt) income(mf,integer) CLAUSES famile(mamber_family("Иван","Конюхов",date(7,"май",1950), work("инженер",1350)), member_family("Наталья","Конюхов",date(25,"ноябрь",1950), work("врач",800)), [member_family("Юрий","Конюхов",date(5,"июнь",1974), work("не работает",0)), member_family("Татьяна","Конюхов",date(15."май",1978), work("студентка",250))]). family(member_family("Ефим","Авенс",date(14,"сентябрь",1947), work("банкир",1300$)), member_family("Илона","Авенс",date(12,"август",1977) work("не работает",0)), [member_family("Лора","Авенс",date(2,"январь",1999), work("младенец",50))]). family(member_family("Сергей","Петров",date(4,"июнь",1967), work("слесарь",3500)), member_family("Людмила","Петров",date,(17,"октябрь",1968), work( [member_family("Илья","Петров",date(14,"июль",1989), work("учащийся",50)) member_family("Юлия","Петров",date(27,"апрель",1991), work("учащийся",50) member_family("Марина","Петров",date(20,"май",1995) work("младенец",50))]). 1)найти в базе данных фамилии женщин,имеющих по крайней мере хотя бы двух детей 2)есит ли в базе данных семьи,не имеющие детей 3)найти в базе данных людей старще 50 лет 4)найти в базе данных всех детей,разница в возрасте родителей которых составляет не менее 15 лет 5)найти в базе данных всех учащихся первая задачка. DOMAINS inv=inv(symbol,symbol) nand=nandl(symbol,symbol,symbol) and1=and2(nand,inv) PREDICATES reasistor(symbol,symbol,symbol) transistor(symbol,symbol,symbol,symbol) inverter(inv,symbol,symbol) nand_gate(nand,symbol,symbol,symbol) and_gate(and1,symbol,symbol,symbol) CLAUSAES resistor(r1,power,n4). resistor(r2,power,n5). transistor(t1,n1,n4,n3). transistor(t2,n2,ground,n3). transistor(t3,n4,ground,n5). inverter(inv(T,R),Input,Output):- transistor(T,Input,ground,Output), resistor(R,power,Output). nand_gate(nand1(T1,T2,R),Input,Input2,Output):- transistor(T1,Input1,X,Output), transistor(T2,Input2,ground,X), resistor(R,power,Output). and_gate(and2,(N,Y),Input,Input2,Output):- nand_gate(N,Input,Input2,X), inverter(Y,X,Output). GOAL and_gate(Q,Input,Input2,Output), write("Схема И- ",Q, "\в вход1-",Input1, "\в вход2-",Input2, "\в выход-",Output,nl, write("Die Arbeiten genug!\n DANKE SCHON!"). вторая задачка.задание на картинке внизу( со схемой)

Решение задачи: «Программирование базы данных со структурироваными объектами»

textual
Листинг программы
DOMAINS
  inv=inv1(symbol,symbol)       
  sh=sh1(symbol,symbol,symbol)      
  orsh=or1(sh,inv)  
PREDICATES 
   resistor(symbol,symbol,symbol)
   transistor(symbol,symbol,symbol,symbol)
   inverter(inv,symbol,symbol)          
   sh_g(sh,symbol,symbol,symbol) 
   or_g(orsh,symbol,symbol,symbol) 
CLAUSES
   resistor(rl,power,n3).
   resistor(r2,power,n4).
   transistor(tl,nl,n3,ground). 
   transistor(t2,n2,n3,ground).
   transistor(t3,n3,ground,n4).
   inverter(inv1(T,R),Input,Output):-
transistor(T,Input,ground,Output),
        resistor(R,power,Output).
   sh_g(sh1(T1,T2,R),Input1,Input2,Output):-
          transistor(T1,Input1,Output,ground), 
                      transistor(T2,Input2,Output,ground), 
          resistor(R,power,Output).
   or_g(or1(N,Y),Input1,Input2,Output):-
          sh_g(N,Input1,Input2,X),
          inverter(Y,X,Output).

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы