Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DOMAINS
- author, title, jenre, publisher = string
- year, page_count= integer
- FACTS
- book(author, title, jenre, year, publisher, page_count)
- fantasy(author, title, year, publisher, page_count)
- fantastic(author, title, year, publisher, page_count)
- determ operator(integer,integer)
- PREDICATES
- nondeterm sorter
- nondeterm printer_fantasy
- nondeterm printer_fantastic
- nondeterm average_by_genre(string)
- CLAUSES
- %book("ÀÂÒÎÐ", "ÍÀÇÂÀÍÈÅ", "ÆÀÍÐ", ÃÎÄ, "ÈÇÄÀÒÅËÜÑÒÂÎ", ÊÎË-ÂÎ ÑÒÐÀÍÈÖ).
- book("Äæ.Ð.Ð. Ìàðòèí", "Ìåæåâîé ðûöàðü(Àíòîëîãèÿ 'Ëåãåíäû')", "Ôýíòåçè", 1999, "ÀÑÒ", 78).
- book("Äæ.Ð.Ð. Ìàðòèí", "Ïðèñÿæíûé ðûöàðü(Àíòîëîãèÿ 'Ëåãåíäû')", "Ôýíòåçè", 2006, "ÀÑÒ", 94).
- book("Äæ.Ð.Ð. Ìàðòèí", "Ïëàìÿ è êðîâü", "Ôýíòåçè", 2018, "ÀÑÒ", 384).
- book("Ãàððè Òåðòëäàâ", "Ôëîò âòîðæåíèÿ", "Ôàíòàñòèêà", 2003, "Ýêñìî", 704).
- book("Ãàððè Òåðòëäàâ", "Îòâåòíûé óäàð", "Ôàíòàñòèêà", 2003, "Ýêñìî", 720).
- book("Ãàððè Òåðòëäàâ", "Îêî çà îêî", "Ôàíòàñòèêà", 2003, "Ýêñìî", 704).
- book("Ãàððè Òåðòëäàâ", "Âåëèêèé ïåðåëîì", "Ôàíòàñòèêà", 2004, "Ýêñìî", 704).
- book("Àíäðåé Âàëåíòèíîâ", "Âîëîíò¸ðû ×åëêåëÿ", "Ôàíòàñòèêà", 1996, "Àâòîð", 310).
- book("Àíäðåé Âàëåíòèíîâ", "Ñòðàæ ðàíû", "Ôàíòàñòèêà", 1996, "Àâòîð", 280).
- book("Àíäðåé Âàëåíòèíîâ", "Íåñóùèé ñâåò", "Ôàíòàñòèêà", 1996, "Àâòîð", 310).
- sorter:-retract(book(A,B,"Ôàíòàñòèêà",D,E,F)), asserta(fantastic(A,B,D,E,F)) ;
- retract(book(A,B,"Ôýíòåçè" ,D,E,F)), asserta(fantasy (A,B,D,E,F)).
- printer_fantasy:-retract(fantasy(A,B,D,E,F)), write("Ôýíòåçè ", B, " : ", A, ", ", D, ", ", E, ", ", F),fail.
- printer_fantastic:-retract(fantastic(A,B,D,E,F)), write("Ôàíòàñòèêà ", B, " : ", A, ", ", D, ", ", E, ", ", F),fail.
- average_by_genre(X):-
- assert(operator(0,0)),
- book(_,_,X,_,_,F),
- retract(operator(SUMM,COUNT)),
- NEWSUMM = SUMM + F,
- NEWCOUNT = COUNT + 1,
- asserta(operator(NEWSUMM, NEWCOUNT)),
- fail.
- average_by_genre(X):-
- write("Ñðåäíåå êîë-âî ñòðàíèö â æàíðå ", X, " - "),
- retract(operator(SUMM,COUNT)),
- AVERAGEPAGECOUNT = SUMM/COUNT,
- write(AVERAGEPAGECOUNT),nl.
- GOAL
- sorter,average_by_genre("Ôýíòåçè").
- %sorter,printer_fantasy,printer_fantastic,nl,fail.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement