20976

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

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

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

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

Русский

2013-08-15

22.85 KB

4 чел.

Лабораторная работа № 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))


 

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

67764. Начало работы в Access 3.55 MB
  Если вы работаете с одним из программных продуктов Microsoft Office, эту тему можно пропустить, поскольку интерфейс всех входящих в него программ одинаков.
67765. Господарське право, конспект лекцій 640 KB
  Поняття «господарська діяльність» має ключове значення для всього господарського права. Більше того, воно використається й в інших галузях права (наприклад, у податковому й кримінальному). До останнього часу в законодавстві втримувалося кілька визначень поняття «господарської діяльності»
67766. Применение программ пакета Microsoft Office 8.81 MB
  Если стандарт специальности не предусматривает обязательного изучения языков программирования высокого уровня то лабораторные работы второго семестра могут быть выполнены самостоятельно Подготовлены к публикации кафедрой Прикладных информационных технологий в экономике и менеджменте по рекомендации...
67767. Исследование объемного расходомера 499 KB
  Данный расходомер, измеряющий объемный расход жидкости, относится к расходомерам тахометрического типа. Бесконтактный метод измерения скорости вращения ротора позволяет полностью пользоваться его положительными качествами.
67768. Исследование цифровых измерительных преобразователей углов 1.85 MB
  Использование в системах бортовых цифровых вычислительных машин приводит к необходимости создания измерительных преобразователей углов с цифровым входным сигналом. Известно много типов таких преобразователей, работа которых основана на различных принципах.
67769. Исследование преобразователей “ток-частота” цифровых измерительных приборов летательных аппаратов 531.94 KB
  В таких устройствах используются датчики первичной информации в которых воспринимаемая величина вначале представляется в виде напряжения или тока затем преобразуемые в частоту или период следования импульсов. В данной работе рассматривается преобразователь выходного тока который может быть получен...
67770. ИЗУЧЕНИЕ ЗАКОНА БОЙЛЯ-МАРИОТТА 4.17 MB
  Термодинамической системой называется тело или сочетание нескольких тел, находящихся в тепловом контакте, свойства и поведение которых изучаются средствами термодинамики. Свойства любой системы и ее состояние описывается рядом физических величин, которые называются термодинамическими параметрами.