Реферат по предмету "Астрономия"


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

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

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

Функції властивостей призначені для керування властивостями, пов’язаними із символами. 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. Ці функції мають тільки один аргумент, а повертають булеве значення. Вони розпізнають об’єкт, який може мати довільну структуру. Ми вже розглянули деякі функції розпізнання: SYMBOLP, INTEGERP, NUMBERP, ATOM, LISTP, NULL. Розглянемо інші.


(ZEROP obj). Повертає Т, якщо obj — число 0.

(PLUSP obj). Повертає Т, якщо obj — додатне ціле число.

(MINUSP obj). Повертає Т, якщо obj — від’ємне ціле число.

(ODDP obj). Повертає Т, якщо obj — непарне ціле число.

(EVENP obj). Повертає Т, якщо obj — парне ціле число.


Функція (ASCII sym) повертає ASCII-код символа sym. Функція (ASCII num) повертає символ, ASCII код якого дорівнює числу num. Для того, щоб визначити, чи є символ sym літерою, можна використати функцію:

(< (ASCII ‘a) (ASCII sym) (ASCII ‘z)).

Оскільки muLisp не розрізняє малі та великі літери, то (ASCII ‘s) = (ASCII ‘S) для будь-якого символа s. Функція ISCHAR розпізнає літери. Для знаходження ASCII кодів символів, які позначають цифри, необхідно використовувати одинарний Escape-символ.


$ (DEFUN ISCHAR (char) $ (ASCII ‘f) $ (ASCII 70)

(<= (ASCII ‘a) (ASCII char) (ASCII ‘z)) ) 70 F


$ (ASCII ‘\9) $ (ASCII 57)

57 \9


Наступні функції дають можливість розпізнавати символи та числа.


(ALPHA-CHAR-P <obj>) – повертає T, якщо <obj> – літера.

(NUMERIC-CHAR-P <obj>) – повертає T, якщо <obj> – цифра.

(ALPHANUMERICP <obj>) – повертає T, якщо <obj> – літера або цифра.


$ (ALPHA-CHAR-P W) $ (ALPHA-CHAR-P \3) $ (ALPHA-CHAR-P ~)

T NIL NIL


$ (NUMERIC-CHAR-P W) $ (NUMERIC-CHAR-P \3)

NIL T


$ (NUMERIC-CHAR-P ~) $ (ALPHANUMERICP W)

NIL T


$ (ALPHANUMERICP \3) $ (ALPHANUMERICP ~)

T NIL


Зазначимо, що символ проміжку (‘ ‘ ) є літерою.



Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Администрация города нижнего новгорода постановление от 4 июля 2011 г. N 2698 о создании межконфессионального консультативного совета при администрации города нижнего новгорода
Реферат Iniverse Essay Research Paper Observing the Universe
Реферат «Методы статистической обработки данных»
Реферат Проституция и её взаимосвязь с преступностью
Реферат Физико-химические основы адсорбционной очистки воды от органических веществ
Реферат «Суверенное развитие России в 90-е гг. XX века» является одним из уроков самостоятельного блока «Новая Россия
Реферат Русские святители и подвижники XIV-XVI вв.
Реферат Scientology Essay Research Paper Scientology describes itself
Реферат Глобальные проблемы человечества и проблема ценности научно-исследовательского прогресса
Реферат Создание в среде Borland C++ Builder dll, совместимой с Visual C++
Реферат Финансово-кредитное стимулирование малого и среднего бизнеса в условиях мирового финансового кри
Реферат Методи експериментальних досліджень і розрахунків кінетики хіміко-технологічних процесів
Реферат Существенные события после отчетной даты
Реферат Клініко патогенетичне об рунтування застосування амізону в комплексному лікуванні генералізованого
Реферат Анализ эффективности использования машинно-тракторного парка предприятия и обоснование основных