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))


 

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

41986. ДОСЛІДЖЕННЯ СХЕМ ГЕНЕРАТОРІВ ЕЛЕКТРИЧНИХ СИГНАЛІВ (ПРЯМОКУТНИХ ІМПУЛЬСІВ) 215 KB
  Мультивібратор автоколивальний генератор прямокутних імпульсів. Тривалість імпульсів Порядок проведения экспериментов Результаты всех измерений и осциллограммы занести в соответствующий раздел Результаты экспериментов. б Вимірити амплітуду длительность і період следования імпульсів.
41988. ДОСЛІДЖЕННЯ СХЕМ ГЕНЕРАТОРІВ ГАРМОНІЙНИХ КОЛИВАНЬ І ПИЛКОПОДІБНОЇ НАПРУГИ 207.5 KB
  На рис.14.2 показано схема генератора синусоїдальних коливань на БТ з цепочкой R-параллель. Цепочка R-параллель являє собою коло R – C (три звена), обеспечивающая фазовый сдвиг 180о на рабочей частоте (цепь позитивного зворотного зв'язку). Резистори R1 и R2 создают необходимое смещение. Частота генерації примерно равна
41990. ИССЛЕДОВАНИЕ СХЕМ НА ОПЕРАЦИОННЫХ УСИЛИТЕЛЯХ 170 KB
  Интегратор на ОУ Недостатком этой схемы является дрейф выходного напряжения обусловленный напряжением смещения и входными токами ОУ. Выходное напряжение этой схемы при подаче на нее скачка входного напряжения амплитудной Uвх изменяется в соответствии с выражением: Uвых = Uвх[1 – exp ]. На начальном интервале переходного процесса при t R2С изменение выходного напряжения Uвых будет достаточно близко к линейному и скорость его изменения может быть вычислена из выражения: . Суммирование постоянного и переменного напряжения.
41991. ИССЛЕДОВАНИЕ ОПЕРАЦИОННЫХ УСИЛИТЕЛЕЙ (ОУ) 202 KB
  Идеальный усилитель имеет следующие свойства: бесконечный коэффициент усиления по напряжению А→ ∞; бесконечное полное входное сопротивление Zвх → ∞; нулевое полное выходное сопротивление Zвых → 0; равенство нулю выходного напряжения Uвых = 0 при равных напряжениях на входах U1 = U2; бесконечная ширина полосы пропускания ∆fпр= ∞. За входным каскадом следуют один или несколько промежуточных; они обеспечивают уменьшение напряжения сдвига на выходе усилителя до близкой к нулю величины и усиление по напряжению и по току....