Информационный портал Media Systems & Bear Corp.

Главная Новости Delphi C&C++ Tеория Графов Web-Design Математика Исходники и Проекты Лисп и Пролог Ссылки

Портал :: Программирование на Лиспе :: Лабораторные работы по ФРЛ
Лабораторная работа № 10( Скачать архив )  

 

Сборная солянка.

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

(deframeq Flat1
(Rooms ($value (2)))
(Square ($value(45)))
(PricePerMeter ($value (500)))
(Price ($value (GetPrice (Status: Eval))))
)

(deframeq Flat2
(Rooms ($value (3)))
(Square ($value(65)))
(PricePerMeter ($value (550)))
(Price ($value (GetPrice (Status: Eval))))
)

(deframeq Flat3
(Rooms ($value (3)))
(Square ($value(75)))
(PricePerMeter ($value (600)))
(Price ($value (GetPrice (Status: Eval))))
)

(deframeq Flat4
(Rooms ($value (2)))
(Square ($value(50)))
(PricePerMeter ($value (520)))
(Price ($value (GetPrice (Status: Eval))))
)

(passert GetPrice ()
(
(* (car (fget :Frame PricePerMeter)) (car (fget :Frame Square)))
)
)

(setq flats '(Flat1 Flat2 Flat3 Flat4 ) )

(defun SearchFlatP (FList MinPrice MaxPrice P)
(setq P (car (fget (car FList) Price)))
(cond
((Null FList) Nil)
((and (< P MaxPrice) (> P MinPrice)) (cons (car FList) (SearchFlatP (cdr FList) MinPrice MaxPrice)))
(T (SearchFlatP (cdr FList) MinPrice MaxPrice))
)
)

(defun SearchFlatS (FList MinSquare MaxSquare S)
(setq S (car (fget (car FList) Square)))
(cond
((Null FList) Nil)
((and (< S MaxSquare) (> S MinSquare)) (cons (car FList) (SearchFlatS (cdr FList) MinSquare MaxSquare)))
(T (SearchFlatS (cdr FList) MinSquare MaxSquare))
)
)

(defun RunCross (L M Temp)
(cond
((Null M) Temp)
( (and (Member (car M) L) (not (Member (car M) Temp)) )
(setq Temp (cons (car M) Temp)) (setq Temp (RunCross L (cdr M) Temp)) )
(T
(setq Temp (RunCross L (cdr M) Temp)))
)
)

(defun Cross (L M)
(cond
((Not (ListP L)) 'non-list-1 )
((Not (ListP M)) 'non-list-2 )
((Null L) nil)
((Null M) nil)
(T (RunCross L M))
)
)

(setq s2 (searchFlatP Flats 20000 30000))
(setq s1 (searchFlatS Flats 20 70))

©Bear Labs, Inc. 2001, All Rights Reserved.

 
   
  Гостевая книга . Связь с разработчиками: Bear Corporation, Media Studio.  
  Это место для вашей рекламы  

Дизайн: Bear Corner, Inc. & Media Sudio.
Последнее обновление: 14.04.2001.

Rambler's Top100 Rambler's Top100
Hosted by uCoz