/   Реферати, курсові, дипломні, наукові  
 ДОКУМЕНТІВ 
20298
    КАТЕГОРІЙ 
30
ТОП-реферати   Портфель   Замовлення  
Додати роботу  Гостьова  Про проект  Рекламодавцям  Контакт 

Визначення функцій в Ліспі, Детальна інформація

Тема: Визначення функцій в Ліспі
Тип документу: Реферат
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 0
Скачувань: 334
Скачати "Реферат на тему Визначення функцій в Ліспі"
Сторінки 1   2   3   4   5  
Реферат на тему:

Визначення функцій в Ліспі

Поряд з примітивними функціями можуть існувати функції, визначені користувачем. Функція викликається набором аргументів і повертає єдине значення. Визначення функції в Ліспі має наступний вигляд:

(DEFUN name (arg1 arg2 ...)

task1

task 2

. . . . . )

де name — ім’я функції, arg1, arg2, ... — аргументи (параметри). Тіло функції містить послідовність задач. Ключове слово DEFUN виникло з DEfine FUNction.

$ (DEFUN FIRST (lst) $ (FIRST ‘(q w e r t y))

(CAR lst) ) q

$ (DEFUN THIRD (lst) $ (THIRD ‘(q w e r t y))

(CADDR lst) ) e

Визначимо функцію NULL, яка розпізнає порожній список. Вона повертає істину, якщо її аргументом є порожній список і хибність в іншому випадку.

$ (DEFUN NULL (obj) $ (NULL ‘(q w e r)) $ (NULL (CDR ‘(r)))

(EQL obj NIL) ) F T

Нам вже відомі три функції розпізнання: EQL, ATOM, NULL. Функції, які застосовуються для перевірки певних умов та можуть повертати лише два значення – істини чи хиби, називаються предикатами.

Тіло функції складається з послідовності завдань. Завдання можуть бути двох типів: прості та умовними. Будь-яке завдання береться в круглі дужки і може розглядатися як список виразів, які треба проінтерпретувати.

Якщо завдання є атомом або його перший елемент є атомом, то таке завдання називається простим. Наприклад, (CONS ‘NR LST).

Якщо перший елемент списка, який описує завдання не є атомом, то таке завдання називається умовним. Наприклад, ((ATOM lst) (CONS expr lst)).

В умовному завданні перший елемент списку обов’язково є предикатом. Якщо значення предикату NIL, то значення завдання стає рівним NIL і Лісп переходить до виконання наступного завдання. Якщо предикат повертає не NIL, відбувається виконання хвосту списку завдання, а інші завдання ігноруються. Якщо предикат повертає Т, а хвіст завдання порожній, то результатом всієї функції буде T.

Напишемо предикат, який розпізнає списки. Якщо аргументом є список, то предикат повертає істину, інакше — хибність. Функцію LISTP можна проінтерпретувати наступним чином: "Якщо obj є атомом, то повернути NIL, інакше повернути T".

$ (DEFUN LISTP (obj) $ (DEFUN LISTP (obj)

((ATOM obj) NIL) ((NULL obj))

T ) ((ATOM obj) NIL)

T )

В другій колонці написано предикат LISTP, який розпізнає додатково порожній список (повертає істину). Перше завдання є умовним, хвіст якого порожній. Його можна проінтерпретувати так: перевірити об’єкт obj на порожній список, і якщо він є таким, передати як результат функції істину. Немає потреби писати: ((NULL obj) T), оскільки це те ж саме, що і ((NULL obj)). Останнім завданням цих предикатів є атом Т. Це означає, що якщо жодне з умовних завдань не виконане (лише за цієї умови керування програмою дійде до останнього завдання), то як результат функції повернути Т. Для другого визначення функції LISTP маємо:

$ (LISTP ‘tree) $ (LISTP ‘()) $ (LISTP ‘(q w e r t y))

NIL T T

Для кращого розуміння роботи тіла функції та простих і умовних завдань розглянемо функцію sm та результати, які вона буде генерувати при певних вхідних значеннях:

$ (DEFUN sm (lst) $ (sm ‘()) $ (sm ‘(q w e))

Сторінки 1   2   3   4   5  
Коментарі до даного документу
Додати коментар
ДИВІТЬСЯ ТАКОЖ
Мова програмування Лiсп Завантажень: 228
Обpобка масивiв Завантажень: 257
Мова опису задач SITPLAN-2 Завантажень: 215
ППО та якість програмної продукції Завантажень: 230
Автоматизована система фінансових розрахунків Завантажень: 1492

Виберіть дисципліну
Анатомія
Біологія
Військова справа
Всесвітня історія
Географія, Геологія
Документація
Екологія
Економіка
Журналістика
Закони України
Інше
Іншомовні роботи
Історія України
Комп`ютерні науки
Культура
Література
Логіка
Математика
Медицина, БЖД
Менеджмент
Міжнародні відносини
Мова, Лінгвістика
Облік та аудит
Особистості
Педагогіка
Політологія
Правознавство
Психологія
Релігієзнавство
Соціологія
Технології
Фізика, Астрономія
Фізкультура
Філософія
Хімія

ТОП РОБІТ
Чорнобиль та його наслідки Завантажень: 22005
Хімія і екологія Завантажень: 21506
Бізнес-план малого підприємства Завантажень: 18226
Формальні та неформальні організації Завантажень: 16302
Аналітична робота з курсу "Етика та Естетика" Завантажень: 14356






Всі права застережено.
Використання інформації з даного сайту дозволяється для некомерційних цілей.
Свідоцтво №6221, видане Державним департаментом авторського права на твір.