Учебни материали

Споделени от колеги - с преглед преди изтегляне.

Информатика и компютърни науки Непроцедурно програмиране

Програма на Lisp и Prolog

Курсова работа DOCX 47 сваляния 17.03.2016

-1763395 100965 0 0 РУСЕНСКИ УНИВЕРСИТЕТ „АНГЕЛ КЪНЧЕВ“ ФАКУЛТЕТ ПРИРОДНИ НАУКИ И ОБРАЗОВАНИЕ Катедра „Информатика и информационни технологии в бизнеса” 447040 128905 0 0 КУРСОВА РАБОТА ПО НЕПРОЦЕДУРНО ПРОГРАМИРАНЕ (Курсова работа по специалност ИИТБ) Изготвил: Проверил: 21. Да се създаде magazine-list , в който всеки елемент съдържа следната информация – име на списанието, година на издаване, тираж, цена. 21.1. Да с е избере и опише подходящо представяне на информацията чрез средствата на Lisp . Дефинирайте функция get-mag , която пита за година на издаване и извежда списък с имената на списанията, издадени след тази година. 21.2. Да се избере подходящо представяне на информацията на Prolog . Да се дефинира предикат, който извършва същото действие като функцията на Lisp . Номер ( nom ) 11 1 11 2 113 Име на списание ( ime ) Cosmopolitan ELLE Story Година на издаване ( god ) 2004 2005 2006 Тираж ( tiraj ) 36 593 17 440 12 261 Цена на списанието ( cena ) 2.99 3.99 1.99 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) ) ) (N111 N112 N113) CL-USER 3 > ( 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 ))) GET-MAG Prolog: all ([ magazinelist ( name ( c osmopolitan ),200 4 ,36593,2 . 99), magazinelist ( name ( elle ),20 05 ,17440,3 . 99), magazinelist ( name ( story ),20 06 , 12261,1.99)]). magazinelist (_,[],[]). magazinelist ( DadGod ,[ magazinelist ( name ( Name ),Go d , Tiraj , Cena )|T], [ magazinelist ( name ( Name ), God , Tiraj , Cena )| NewT ]):- God > DadGod , magazinelist ( DadGod ,T, NewT ). magazinelist ( DadGod ,[_|T],L):- magazinelist ( DadGod ,T,L). ?- all (L), magazinelist ( 2003 ,L, NewL ), write ( NewL ), nl . Пример 1 на PROLOG Saving . Compiling the file: C:\Users\Rulan\Downloads\Untitled Project 2. spj 0 errors , 0 warnings .

Преглед на началото - целият файл след изтегляне

Описание

Да се създаде magazine-list, в който всеки елемент съдържа следната информация – име на списанието, година на издаване, тираж, цена.
Да се избере и опише подходящо представяне на информацията чрез средствата на Lisp. Дефинирайте функция get-mag, която пита за година на издаване и извежда списък с имената на списанията, издадени след тази година.
Да се избере подходящо представяне на информацията на Prolog. Да се дефинира предикат, който извършва същото действие като функцията на Lisp.

0 коментара

Все още няма коментари. Бъдете първият, който ще коментира.

За да коментирате, трябва да сте влезли в профила си.

Влезте