UkrReferat.com
найбільша колекція україномовних рефератів

Всього в базі: 75834
останнє поновлення: 2016-11-29
за 7 днів додано 10

Реферати на українській
Реферати на російській
Українські підручники

$ Робота на замовлення
Реклама на сайті
Зворотній зв'язок

 

ПОШУК:   

реферати, курсові, дипломні:

Українські рефератиРусские рефератыКниги
НазваФункції властивостей (реферат)
Авторdimich
РозділІнформатика, компютерні науки
ФорматWord Doc
Тип документуРеферат
Продивилось1170
Скачало238
Опис
ЗАКАЧКА
Замовити оригінальну роботу

Реферат на тему:

 

Функції властивостей

 

Функції властивостей призначені для керування властивостями,

пов’язаними із символами. CDR - елемент символа вказує на список

властивостей, який містить властивості та прапорці (див. розділ ?????).

 

Список властивостей - це ASSOC-список (ASSOCiation) ключей

властивостей, об’єднаних у пари зі значеннями властивостей (див. Опис

ASSOC у розділі 4.1). Оскільки прапорці - це атоми у списку

властивостей, вони можуть відрізнятися від властивостей.

 

Функції властивостей та прапорців полегшують процес побудови динамічних

баз даних, з яких інформація може легко та швидко вибиратися.

 

Розглянемо, як можна працювати зі списком властивостей символа. Його

можна по необхідності створювати, обробляти та видаляти. Властивості

символа є глобальними, тобто доступними з довільної точки програми, поки

вони не будуть явно змінені чи видалені. Використання символа в якості

змінної чи імені функції не впливає на список властивостей.

 

Функції властивостей керують властивостями символів. CDR - елемент

символа вказує на список властивостей. Разом з функціями флагів вони

полегшують процес побудови динамічних баз даних.

 

1. (PUT <символ> <ключ> <об’єкт>). У список властивостей <символа>

кладеться значення <об’єкта> відповідно до вказівника <ключ>.

 

(DEFUN PUT (SYM KEY OBJ)

 

((NULL (ASSOC KEY (CDR SYM)))

 

(RPLACD SYM (ACONS KEY OBJ (CDR SYM)))

 

OBJ)

 

(RPLACD (ASSOC KEY (CDR SYM)) OBJ)

 

OBJ)

 

$ (PUT ‘capital ‘usa ‘washington) $ (SETQ capital ‘world)

 

$ (PUT ‘capital ‘germany ‘bonn) $ (PUT ‘world ‘ocean ‘atlantic)

 

$ (PUT ‘capital ‘england ‘london)

 

$ (CDR ‘capital)

 

((ENGLAND . LONDON) (GERMANY . BONN) (USA . WASHINGTON))

 

$ (CDR capital)

 

((ocean . atlantic))

 

$ (CAR ‘capital) $ capital

 

world world

 

2. (GET <символ> <ключ>). Повертає значення властивості, яке відповідає

<символу> відповідно до вказівника <ключ>. Якщо такого вказівника не

існує, то повертається NIL.

 

(DEFUN GET (SYM KEY)

 

((NULL (ASSOC KEY (CDR SYM))) NIL)

 

(CDR (ASSOC KEY (CDR SYM))) )

 

Якщо змінна capital має властивості, які їй були надані у попередньому

прикладі, то:

 

$ (GET ‘capital ‘england) $ (GET 'capital 'germany)

 

london bonn

 

3. (REMPROP <символ> <ключ>). Видалення зі списка властивостей <символа>

властивості, яка відповідає <ключу>. Повертається старе значення

властивості, якщо воно знайдено, та NIL – інакше.

 

(DEFUN REMPROP (SYM KEY)

 

((ATOM (CDR SYM)) NIL)

 

((EQUAL (CAADR SYM) KEY)

 

(SETQ KEY (CDADR SYM))

 

(RPLACD SYM (CDDR SYM))

 

KEY )

 

(REMPROP (CDR SYM) KEY) )

 

Нехай символ capital має три попередні властивості.

 

(REMPROP ‘capital ‘germany)

 

bonn

 

(REMPROP ‘capital ‘usa)

 

washington

 

(CDR ‘capital)

 

((england . london))

 

4.2. Функції розпізнання

 

Функції розпізнання — це твердження, які використовуються для

розпізнання або ідентифікації об’єктів даних muLisp. Ці функції мають

тільки один аргумент, а повертають булеве значення. Вони розпізнають

об’єкт, який може мати довільну структуру. Ми вже розглянули деякі

-----> Page:

0 [1]

ЗАМОВИТИ ОРИГІНАЛЬНУ РОБОТУ