РУСЕНСКИ УНИВЕРСИТЕТ „АНГЕЛ КЪНЧЕВ“
ФАКУЛТЕТ ПРИРОДНИ НАУКИ И ОБРАЗОВАНИЕ
Катедра „Информатика и информационни технологии в бизнеса”
КУРСОВА РАБОТА ПО НЕПРОЦЕДУРНО ПРОГРАМИРАНЕ
(Курсова работа по специалност ИИТБ)
Изготвил: Проверил:
21. Да се създаде magazine-list, в който всеки елемент съдържа следната информация – име на списанието, година на издаване, тираж, цена.
21.1. Да с
е избере и опише подходящо представяне на информацията чрез средствата на Lisp. Дефинирайте функция get-mag, която пита за година на издаване и извежда списък с имената на списанията, издадени след тази година.
21.2. Да се избере подходящо представяне на информацията на Prolog. Да се дефинира предикат, който извършва същото действие като функцията на Lisp.
21.1: LISP
(defun magazine-list (nom ime1 god1 tiraj1 cena1)
(setf (get nom 'ime) ime1)
(setf (get nom 'god) god1)
(setf (get nom 'tiraj) tiraj1)
(setf (get nom 'cena) cena1)
nom)
(setq l (list
(magazine-list 'n111 ' Cosmopolitan 2004 36593 2.99)
(magazine-list 'n112 ' ELLE 2005 17440 3.99)
(magazine-list 'n113 ' Story 2006 12261 1.99)
)
)
(defun get-mag(sp god)
(cond ((null sp) `())
(> (get(car sp) ‘god) god1))
(cons (get(car sp) ‘ime)(get-mag(cdr sp) god))
(T (get-mag(cdr sp) god)))
Пример:
CL-USER 1 > (defun magazine-list (nom ime1 god1 tiraj1 cena1)
(setf (get nom 'ime) ime1)
(setf (get nom 'god) god1)
(setf (get nom 'tiraj) tiraj1)
(setf (get nom 'cena) cena1)
nom)
MAGAZINE-LIST
CL-USER 2 >
(setq l (list
(magazine-list 'n111 ' Cosmopolitan 2004 36593 2.99)
(magazine-list 'n112 ' ELLE 2005 17440 3.99)
(magazine-list 'n113 ' Story 2006 12261 1.99)
)
)
0 коментара
За да коментирате, трябва да сте влезли в профила си.
Влезте