20978

Присоединённые процедуры. Организация сетей фреймов

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

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

deframeq flat1 Street value Prospect_Mira house value 8 flat value 10 floor value 2 square value 85 roomsnumber value 2 priceclass value 1 price value GetPrice status: eval deframeq flat2 Street value Gagarina house value 1 flat value 123 floor value 18 square value 78 roomsnumber value 3 priceclass value 2 price value GetPrice status: eval deframeq flat3 Street value Lesnaya house value 6 flat...

Русский

2013-08-02

25.93 KB

1 чел.

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

Присоединённые процедуры. Организация сетей фреймов.

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

(deframeq flat1

(Street  ($value (Prospect_Mira)))

(house  ($value (8)))

(flat  ($value (10)))

(floor  ($value (2)))

(square  ($value (85)))

(roomsnumber ($value (2)))

(priceclass ($value (1)))

(price  ($value (GetPrice (status: eval))))

)

(deframeq flat2

(Street  ($value (Gagarina)))

(house  ($value (1)))

(flat  ($value (123)))

(floor  ($value (18)))

(square  ($value (78)))

(roomsnumber ($value (3)))

(priceclass ($value (2)))

(price  ($value (GetPrice (status: eval))))

)

(deframeq flat3

(Street  ($value (Lesnaya)))

(house  ($value (6)))

(flat  ($value (111)))

(floor  ($value (1)))

(square  ($value (99)))

(roomsnumber ($value (4)))

(priceclass ($value (3)))

(price  ($value (GetPrice (status: eval))))

)

(deframeq flat4

(Street  ($value (Pobedi)))

(house  ($value (2)))

(flat  ($value (121)))

(floor  ($value (5)))

(square  ($value (102)))

(roomsnumber ($value (4)))

(priceclass ($value (1)))

(price  ($value (GetPrice (status: eval))))

)

(deframeq flat5

(Street  ($value (Zheleznodorozhnaya)))

(house  ($value (21)))

(flat  ($value (45)))

(floor  ($value (12)))

(square  ($value (67)))

(roomsnumber ($value (1)))

(priceclass ($value (4)))

(price  ($value (GetPrice (status: eval))))

)

(deframeq flat6

(Street  ($value (Lenina)))

(house  ($value (1)))

(flat  ($value (100)))

(floor  ($value (14)))

(square  ($value (92)))

(roomsnumber ($value (2)))

(priceclass ($value (2)))

(price  ($value (GetPrice (status: eval))))

)

(deframeq flat7

(Street  ($value (Gagarina)))

(house  ($value (16)))

(flat  ($value (230)))

(floor  ($value (24)))

(square  ($value (135)))

(roomsnumber ($value (4)))

(priceclass ($value (2)))

(price  ($value (GetPrice (status: eval))))

)

(deframeq flat8

(Street  ($value (Prospect_Mira)))

(house  ($value (9)))

(flat  ($value (3)))

(floor  ($value (1)))

(square  ($value (54)))

(roomsnumber ($value (1)))

(priceclass ($value (4)))

(price  ($value (GetPrice (status: eval))))

)

(deframeq flat9

(Street  ($value (Prospect_Mira)))

(house  ($value (62)))

(flat  ($value (120)))

(floor  ($value (7)))

(square  ($value (124)))

(roomsnumber ($value (3)))

(priceclass ($value (2)))

(price  ($value (GetPrice (status: eval))))

)

(deframeq flat10

(Street  ($value (Lenina)))

(house  ($value (15)))

(flat  ($value (83)))

(floor  ($value (4)))

(square  ($value (91)))

(roomsnumber ($value (6)))

(priceclass ($value (5)))

(price  ($value (GetPrice (status: eval))))

)

(passertq GetPrice () (* (car (fget :frame square)) (car (fget :frame priceclass)) 20000))

(setq flats '(flat1 flat2 flat3 flat4 flat5 flat6 flat7 flat8 flat9 flat10))

(defun Search (Flist P_Street P_floor P_SquareMin P_SquareMax P_roomsnumber P_Pricemin P_Pricemax)

(cond

((not (isframes Flist)) Error!_Wrong_frames_list!)

((and (not (equal P_floor '*)) (or (not (numberp P_floor)) (<= P_floor 0))) Error!_Wrong_floor_argument!)

((and (not (equal P_SquareMin '*)) (or (not (numberp P_SquareMin)) (<= P_SquareMin 0))) Error!_Wrong_square_diapazon!)

((and (not (equal P_Squaremax '*)) (or (not (numberp P_Squaremax)) (<= P_Squaremax 0))) Error!_Wrong_square_diapazon!)

((and (not (equal P_Squaremax '*)) (equal P_Squaremin '*)) Error!_Wrong_square_diapazon!)

((and (not (equal P_Squaremin '*)) (equal P_Squaremax '*)) Error!_Wrong_square_diapazon!)

((and (not (equal P_roomsnumber '*)) (or (not (numberp P_roomsnumber)) (<= P_roomsnumber 0))) Error!_Wrong_rooms_number_argument!)

((and (not (equal P_priceMin '*)) (or (not (numberp P_priceMin)) (<= P_priceMin 0))) Error!_Wrong_price_diapazon!)

((and (not (equal P_pricemax '*)) (or (not (numberp P_pricemax)) (<= P_pricemax 0))) Error!_Wrong_price_diapazon!)

((and (not (equal P_pricemax '*)) (equal P_pricemin '*)) Error!_Wrong_price_diapazon!)

((and (not (equal P_pricemin '*)) (equal P_pricemax '*)) Error!_Wrong_price_diapazon!)

(T

(setq result '())

(loop

((null flist) (outputresult result))

(if

(and

 (or (equal P_street '*) (equal P_Street (car (fget (car flist) street))))

 (or (equal P_floor '*) (equal P_floor (car (fget (car flist) floor))))

 (or (equal P_squaremin '*) (and (<= P_Squaremin (car (fget (car flist) square))) (>= P_Squaremax (car (fget (car flist) square)))))

 (or (equal P_roomsnumber '*) (equal P_roomsnumber (car (fget (car flist) roomsnumber))))

 (or (equal P_pricemin '*) (and (<= P_pricemin (car (fget (car flist) price))) (>= P_pricemax (car (fget (car flist) price)))))

)

(setq result (append result (list (car flist))))

)

(setq flist (cdr flist))

)

)

)

)

(defun isframes (flist)

(cond

 ((null flist) T)

 ((Null (member (car flist) (cdr *FRAMES*))) NIL)

 (T (isframes (cdr flist)))

)

)

(defun outputresult (flist)

(cond

 ((null flist) NO_matches_found)

 (T

  (loop

   ((null flist) -----------------------------)

   (PRINT -----------------------------)

   (PRINT (car flist))

   (PRINT -----------------------------)

   (PRINT

(list

ULIZA: (car (fget (car flist) street))

D: (car (fget (car flist) house))

KV: (car (fget (car flist) flat))

)

)

   (PRINT (list FLOOR: (car (fget (car flist) floor))))

   (PRINT (list ROOMS: (car (fget (car flist) roomsnumber))))

   (PRINT (list SQUARE: (car (fget (car flist) square))))

   (PRINT (list PRICE: (car (fget (car flist) price)) $))

   (setq flist (cdr flist))  

  )

 )

)

)

пример

(search flast * 1 80 100 * * *)  => ...

  1.  Во фрейме имеется слот с закодированным значением информации. Обеспечить  ее  извлечение  по  паролю.

(deframeq Xframe

(Secret ($value (FRL))

 ($IF-needed (checkpassword (status: eval))))

)

(passertq checkpassword ()

(print PASSWORD?)

(if (equal (read input) qwerty)

 (car (fget :frame secret $value))

 Wrong_password!

)

)

пример

(fneed xframe secret)  => PASSWORD?

1234    => WRONG_PASSWORD!

(fneed xframe secret)  => PASSWORD?

QWERTY   => (FRL)


 

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

85322. Проблемы возрождения и сохранения фольклора 41.15 KB
  Подобная точка зрения акцентирует одну сторону традиции связь народного искусства с прошлым его корни древние истоки без которых вообще невозможно понимание этого явления человеческой культуры. Абсолютизируя одну сторону традиции некоторые ученые видят в традициях народного искусства только прошлое и делают вывод о косности отсталости этого искусства отсутствии в нем связей с современностью. Салтыков...
85323. Предмет, цель и задачи курса Теория и история НХК 33.73 KB
  На теоретическом уровне дисциплина представляет собой систему понятий положений выводов касающихся сущности содержания средств и методов организации учебновоспитательного процесса в изучении народного художественного творчества на основе современных требований к формированию личности педагога как субъекта обучения и воспитания. На методическом уроне изучаются технологические основы народного художественного творчества в системе социокультурной деятельности современного образования. На практическом уровне будущие руководители приобретают...
85324. Функции традиционного народного костюма 39.08 KB
  В искусстве костюма органично соединились различные виды декоративного творчества: ткачество вышивка кружевоплетение низание шитье аппликация и изобразительное использование разнообразных материалов: тканей кожи меха лыка бисера бус блесток пуговиц шелковых лент тесьмы позумента кружев птичьих перьев речного жемчуга перламутра цветных граненных стеклышек и др. Хранителями древних традиций народного костюма у русских как и большинства других народов были крестьяне.Борева включал не только зачатки различных видов...
85325. Семиотические основы изучения народной художественной культуры 39.09 KB
  Решающим фактором народной культуры является процесс антропогенеза и происхождения народной культуры как таковой. В животном мире культуры не существует. В животном мире обнаруживаются явления которые в дальнейшем послужили основанием для формирования народной культуры.
85326. Семейно-бытовые праздники и обряды: структура, функции и художественные элементы 47.87 KB
  Понятие обычая обряда ритуала традиции Мы видим что стремлением людей ярко красиво торжественно и памятно отметить узловые события своей жизни обусловлено придание этим событиям форм праздников и обрядов. являются переломными моментами в жизни людей меняющими их отношения с окружающими дающими им новые права и предъявляющими новые требования. Что же заключается в понятии обряд В чем его сущность Почему во все времена начиная с первобытнообщинного строя люди отмечали торжественными ритуальными действиями наиболее выдающиеся события...
85327. Концепция этногенеза Л. Н. Гумилева 42.19 KB
  В основу своей теории этногенеза Гумилев положил в качестве главного постулата тезис о природнобиологическом характере этноса обусловленного тем что он является составной частью биоорганического мира планеты и возникает в определенных географоклпматических условиях.cnn же некоторое количество людей обладающих этим признаком соберется вместе объединенные одной целью если при этом они находятся в благоприятных географических условиях необходим разнообразный ландшафт появляется зародыш нового этноса начинается бурный процесс...
85328. Основные принципы формирования понятия народной художественной культуры 38.78 KB
  До сих пор понимание предметного поля каждого ил этих образований народной к остается весьма дискурсивным. Тем более что ряд наук филология история этнография искусствоведение претендовали в разные годы на всеобъемлющую роль в изучении народной культуры преувеличивая значение для последней своих проблем. Нельзя не сказать и о том что в России ситуация усугубляется за счет потерянных народной художественной культурой ориентиров развития в ХХ в.
85329. Традиционные и инновационные формы народной художественной культуры 39.23 KB
  В народной художественной культуре любого народа постоянно появляется и бытует огромное количество образований представляюших собой традиционный фольклор традиции и новых образований связанных с традиционными художественными структурами новации. В культурологии сочетанием традиции и новации обозначают две взаимозависимые стороны развития культуры в которых зафиксирована мысль о том что она содержит в себе как устойчивые так и изменчивые моменты. Глобальная характеристика культуры заключается в единстве традиции и новаторства...
85330. Поняття «норма» і «аномалія» в психології 31.92 KB
  Норма лат. В практичній психології і педагогіці сьогодні працюючими є поняття учбова норма; соціальновікова норма індивідуальна норма. Питання про аномалії в розвитку може розглядатися тільки в контексті знання про нормальні параметри цих процесів і поведінки.