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

Всього в базі: 75843
останнє поновлення: 2016-12-04
за 7 днів додано 15

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

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

 

ПОШУК:   

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

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

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

 

Примітивні об’єкти даних

 

Примітивними об’єктами даних є символи, числа та конси. muLisp має

безліч функцій розпізнання, порівняння, комбінування та обробки цих

об’єктів. Це дозволяє конструювати будь-які складні об’єкти даних. Як

було сказано раніше, muLisp має два типи даних: атоми та списки. Атоми

поділяються на символи та числа. Списки є підмножиною об’єктів, які

мають більш загальну структуру — бінарне дерево. Вони створені за

допомогою консів.

 

Символ є об’єктом даних, з яким пов’язано 4 атрибути, кожен з яких є

вказівником на:

 

— PRINT - ім’я. Це унікальний рядок ASCII символів, за допомогою якого

система ідентифікує символ при операціях введення-виведення. PRINT -

ім’я не може бути змінене. Імена обмежені за розміром: вони повинні мати

не більше від 65536 символів.

 

— поточне значення. Значенням символа може бути будь-який об’єкт даних,

який зберігається в комірці пам’яті. Якщо в середовищі Ліспу ввести

PRINT-ім‘я символу, то на виході буде його значення. Поточне значення

доступно як CAR - елемент символа.

 

— список властивостей. Він містить значення властивостей символа,

проіндексованих за ключем, його форма має вигляд: (ім’я1 значення1 ім’я2

значення2 ... ім’яN значенняN). При ініціалізації системи список

властивостей є порожнім (дорівнює NIL). Його можна змінити за допомогою

функцій властивостей та прапорців. Доступний як CDR - елемент символа.

 

— визначення функції. При створенні символу в muLisp цей атрибут

дорівнює "функція невизначена". Визначення функції складається або за

шаблонами машинної мови, або на D-коді. Значення цього атрибута можна

отримати в результаті виконання функції флагів (GETD символ).

 

SYMBOLP є функція, яка розпізнає символ. Вона повертає Т, якщо аргумент

є символом і NIL в протилежному випадку.

 

$ (SYMBOLP ‘XYZ) $ (SYMBOLP 41)

 

T NIL

 

$ (SYMBOLP ‘(q w)) $ (SYMBOLP ‘())

 

NIL T

 

В Коммон Ліспі (файл common.lsp) визначені функції SYMBOL-VALUE, яка

повертає значення символа, та функція SYMBOL-PLIST, яка повертає весь

список властивостей символа.

 

(DEFUN SYMBOL-VALUE (SYM) (DEFUN SYMBOL-PLIST (SYM)

 

((SYMBOLP SYM) (CAR SYM) ) ) ((SYMBOLP SYM) (CDR SYM) ) )

 

Узагальненою функцією присвоєння є SETF, яка визначена в common.lsp.

Вона заносить данні в комірку пам’яті символа: (SETF <комірка пам’яті>

<значення>). Через функцію SETF можна представити описані раніше функції

SET та SETQ.

 

(SETQ x y) це (SETF x y)

 

(SET x y) це (SETF (SYMBOL-VALUE x) y)

 

Проміжки, дужки, коми, одинарні та подвійні лапки, крапка, крапка з

комою відіграють спеціальну роль в Ліспі. Одинарним Escape-символом є \.

Багатократним Еscape-символом є |. Спеціальні літери можуть

використовуватися у PRINT-іменах символів, але для цього перед ними

треба ставити \, або весь рядок брати в |. Вирази |q w e| та |sym(bol| є

символами. Для використання літер \ та | в символах необхідно ставити

перед ними \. Якщо виводиться на екран символ, який містить спеціальні

літери, то він виводиться з багатократним escape-символом. Програмна

-----> Page:

0 [1] [2] [3]

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