20976

Создание фреймов и извлечение информации из них

Лабораторная работа

Информатика, кибернетика и программирование

Создать фреймы, описывающие фрагмент библиотечной системы, содержащие как декларативную, так и процедуральную (в том числе использующую переменные ФРЛ-среды) составляющие.

Русский

2013-08-15

22.85 KB

5 чел.

Лабораторная работа № 7.

Создание фреймов

и извлечение информации из них.

  1.  Создать фреймы,  описывающие фрагмент библиотечной системы, содержащие как декларативную,  так и процедуральную (в том числе использующую переменные ФРЛ-среды) составляющие.

(setq TodayYear 2010)

(deframeq Book1

(Nazvanie  ($value (HTML_4_0)))

(Author  ($value (Matrosov_A)))

(Year   ($value (2003)))

(PageNum  ($value (672)))

(Popularity  ($value (2000)))

(Quantity  ($value (GetQuantity (PARM: TodayYear) (STATUS: EVAL))))

)

(deframeq Book2

(Nazvanie  ($value (Programmirovanie_na_LISP)))

(Author  ($value (Chernov_P)(Bajdun_V)(Bunin_A)))

(Year   ($value (1993)))

(PageNum  ($value (40)))

(Popularity  ($value (600)))

(Quantity  ($value (GetQuantity (PARM: TodayYear) (STATUS: EVAL))))

)

(deframeq Book3

(Nazvanie  ($value (C++)))

(Author  ($value (Stroustrup_B)))

(Year   ($value (2008)))

(PageNum  ($value (1104)))

(Popularity  ($value (2500)))

(Quantity  ($value (GetQuantity (PARM: TodayYear) (STATUS: EVAL))))

)

(deframeq Book4

(Nazvanie  ($value (PHP_5/6)))

(Author  ($value (Kuznecov_M)))

(Year   ($value (2010)))

(PageNum  ($value (1024)))

(Popularity  ($value (1800)))

(Quantity  ($value (GetQuantity (PARM: TodayYear) (STATUS: EVAL))))

)

(deframeq Book5

(Nazvanie  ($value (JavaScript)))

(Author  ($value (Flanagan_D)))

(Year   ($value (2009)))

(PageNum  ($value (992)))

(Popularity  ($value (1900)))

(Quantity  ($value (GetQuantity (PARM: TodayYear) (STATUS: EVAL))))

)

(passertq GetQuantity (Y)

(

(setq P (- (car (fget :FRAME Popularity)) (* 200 (- Y (car (fget :FRAME Year))))))

(cond

 ((> P 0) P)

 (T 0)

)

))

пример

(fget book1 quantity)  => 600

  1.  Добавить во фреймы, определенные в предыдущем задании, дополнительную информацию всеми имеющимися способами.
  2.  Извлечь из определенных в предыдущих заданиях фреймов информацию по заданному множеству запросов.

пример

(fput book1 oldname $value HTML_4_1)

(fget book1 oldname)  => HTML_4_1

  1.  Реализовать  функцию последовательного просмотра на экране фреймов из заданного списка.  Предусмотреть  запрос  о  направлении дальнейшего просмотра списка фреймов.

(defun FrameOutput1 (FL Num Fl2 ch)

(loop

 (TERPRI 25)

 (print (list NAZVANIE: (car (fget (car fl) Nazvanie))))

 (print (list AVTOR: (fget (car fl) Author)))

 (print (list YEAR: (car (fget (car fl) Year))))

 (print (list PAGES: (car (fget (car fl) Pagenum))))

 (print (list TIRAZH: (car (fget (car fl) Popularity))))

 (print (list KOL-VO: (car (fget (car fl) Quantity))))

 (print "_________________________")

 (print "<<-- (1) -->> (2) X (3)")

 (setq S (read input))

 ((equal S '3) (TERPRI 25))

 (cond

  ((and  (equal S '1) (not (NULL Fl2)))

    

   (setq Num (Sub1 Num))

   (setq Fl (Cons (car FL2) FL))

   (setq FL2 (cdr FL2))

  )

  ((and  (equal S '2) (not (Null (cdr FL))))

   (setq Num (Add1 Num))

   (setq Fl2 (Cons (car FL) Fl2))

   (setq FL  (cdr FL))

  )

 )

)

)

(defun FrameOutput (Flist)

(cond

 ((Null Flist) Error!_Wrong_frame_argument!)

 (T (FrameOutput1 Flist 1))

)

)

(setq Lib '(Book1 book2 book3 book4))


 

А также другие работы, которые могут Вас заинтересовать

82148. Повторення та узагальнення вивченого про займенник. Творча робота над вживанням займенників 35.5 KB
  Мета: повторити й узагальнити вивчене про займенник провести підготовку до контрольної роботи; розвивати вміння використовувати займенники у мовленні; виховувати працелюбність бажання вести здоровий спосіб життя; спонукати до творчості реалізувати потреби учнів у спілкуванні.
82149. Інтелектуальна гра за творчістю Тараса Григоровича Шевченка «Зіркова година» 32 KB
  Кожен учасник отримує по три картки з цифрами 123 для відповідей. За правильну відповідь кожен отримує зірочку. Кожен відкриває для себе щось нове в даній постаті. Завдячуючи Тарасу Григоровичу кожен з нас повинен зрозуміти: людина творець своєї долі.
82150. Перехід проїзної частини дороги за різних умов 90.5 KB
  Мета: Ознайомлення учнів з основами організації дорожнього руху структурними елементами вулиці та дороги технічними засобами організації дорожнього руху прищеплення розуміння необхідності суворого дотримання встановлених правил поведінки на дорозі вироблення навичок спостережливості...
82151. Будь чистым и аккуратным (Как подружиться с королевой Гигиеной) 489 KB
  Кто хочет быть здоровым никогда не болеть Но одного желания мало Что надо делать чтобы всегда хорошо выглядеть быть здоровым А что это за письмо пришло нам конверт с письмом обратный адрес: Замарашкина Никогда не мойте руки Шею уши и лицо. Вновь испачкаются руки Шея уши и лицо. Игра Так я мою руки.
82152. Харчування та здоров’я 2.06 MB
  Мета: Пояснити учням значення харчування для здоров’я, розширити уявлення про різноманітність харчових продуктів, вчити дітей правильно харчуватися, розвивати культурно-гігієнічні навички поведінки під час прийому їжі, прищеплювати естетичні смаки щодо сервірування столу, прикрашання страв.
82153. СОНЦЕ: КОРИСНЕ ТА ШКІДЛИВЕ. ПРАВИЛА ПОВЕДІНКИ ПІД ЧАС ВІДПОЧИНКУ НА ВОДІ 492 KB
  Мета: розповісти учням про правила безпечної поведінки біля води; ознайомити учнів із впливом сонячних променів на організм людини, способами запобігання й надання допомоги у разі сонячного удару; виховувати обережність. Формувати розуміння того, що тільки від власної поведінки залежить життя...
82154. ЗДОРОВО БУТИ ЗДОРОВИМ 64.5 KB
  Навчати дітей веденню здорового способу життя; формувати навички доброзичливого спілкування; поглиблювати знання про правила загартування; розвивати прагнення до вживання національних страв як засобу збереження і зміцнення здоровя.
82155. Оценка ликвидационной стоимости торгово-офисного здания (на примере торгово-офисного здания в городе Бийск) 422.5 KB
  Цель работы Расчет в рамках методов трех различных подходов величины ликвидационной стоимости объекта исследования. Предмет исследования Определение ликвидационной стоимости объекта исследования.
82156. СОВЕРШЕНСТВОВАНИЕ НЕКРЕДИТНОЙ ДЕЯТЕЛЬНОСТИ КОММЕРЧЕСКОГО БАНКА 2.47 MB
  Правительство Российской Федерации и Банк России приняли ряд оперативных масштабных мер, направленных на восстановление устойчивости банковского сектора и поддержку его ликвидности. Для укрепления капитальной базы были введены новые инструменты предоставления ликвидности; значительные средства...