Головна Головна -> Реферати українською -> Інформатика, комп'ютери, програмування -> Функції відбору

Функції відбору

Назва:
Функції відбору
Тип:
Реферат
Мова:
Українська
Розмiр:
6,86 KB
Завантажень:
13
Оцінка:
 
поточна оцінка 5.0


Скачати цю роботу безкоштовно
Пролистати роботу: 1  2 
1. (CAR list), (CDR list). Ці функції відбору (селекторні функції) є примітивними функціями, та були розглянуті раніше. Також було показано як утворити похідні від них функції типу CXXXXR, де X  {A, D, }, при чому між літерами C та R знаходиться хоча б одна літера A чи D.

2. (LAST list) повертає останній на верхньому рівні cons списку list. Відмітимо, що LAST повертає останній cons, але не останній елемент списку. Якщо список є атом, LAST повертає NIL. Останній елемент можна отримати використанням функції CAR від (LAST list).

(DEFUN LAST (LST)

((ATOM LST) NIL)

((ATOM (CDR LST)) LST)

(LAST (CDR LST)) )

$ (LAST '(A B C D)) $ (LAST 'FCO)

(D) NIL

$ (LAST '(A B C . D)) $ (CAR (LAST '(A B C)))

(C . D) C

3. (NTHCDR n list). Якщо n - ноль або додатне ціле, функція повертає n-й CDR списку list. NTHCDR повертає NIL, якщо n не є ані 0, ані додатне ціле, або якщо список list має n або меньш елементів.

(DEFUN NTHCDR (N LST)

((ZEROP N) LST)

((AND (INTEGERP N) (PLUSP N))

((ATOM LST) NIL)

(NTHCDR (SUB1 N) (CDR LST)) ) )

$ (NTHCDR 0 '(A B C D)) $ (NTHCDR 5 '(A B C D))

(A B C D) NIL

$ (NTHCDR 1 '(A B C D)) $ (NTHCDR 2 '(A B . C))

(B C D) C

$ (NTHCDR 2 '(A B C D))

(C D)

4. (NTH n list). Якщо n - ноль або додатне ціле, функція повертає n-й елемент списку list, де CAR списку - нульовий елемент. NTH повертає NIL, якщо n не є ані 0, ані додатне ціле, або якщо список має n або меньш елементів.

(DEFUN NTH (N LST)

((ATOM (NTHCDR N LST)) NIL)

(CAR (NTHCDR N LST)) )

$ (NTH 0 '(A B C D)) $ (NTH 4 '(A B C D))

A NIL

$ (NTH 3 '(A B C D)) $ (NTH 2 '(A B . C))

D NIL

5. (SUBLIST list n m). Якщо n та m - невід’ємні цілі та n m, SUBLIST повертає NIL.

(DEFUN SUBLIST (LST N M)

((INTEGERP N)

((INTEGERP M)

(FIRST (ADD1 (-M N)) (NTHCDR N LST)) )

(NTHCDR N LST) ) )

$ (SUBLIST '(A B C D E F) 2 4) $ (SUBLIST '(A B C D E F) 0 3)

(C D E) (A B C D)

$ (SUBLIST '(A B C D E F) 2 2) $ (SUBLIST '(A B C D E F) 2)

(C) (C D E F)

6. (COUNT object list test). Повертає кількість елементів у списку list, для яких ознака при порівнянні з об’єктом object за тестом test не дорівнює NIL. Якщо тест - аргумент не задано або дорівнює NIL, COUNT використовує EQL - тест.

(COUNT-IF test list). Повертає кількість елементів у списку list, для яких ознака перевірки за тестом не дорівнює NIL.

(DEFUN COUNT1 (OBJ LST TEST)

(count-aux OBJ LST TEST 0) )

(DEFUN count-aux (OBJ LST TEST COUNTER)

((ATOM LST) COUNTER)

( ((NULL TEST)

(SETQ TEST 'EQL) ) )

((FUNCALL TEST OBJ (CAR LST))

(count-aux OBJ (CDR LST) TEST (ADD1 COUNTER)) )

(count-aux OBJ (CDR LST) TEST COUNTER) )

$ (COUNT 'DOG '(CAT DOG COW PIG DOG ANT))

2

$ (COUNT '5 '(4 5 6 7 8)

Завантажити цю роботу безкоштовно
Пролистати роботу: 1  2 



Реферат на тему: Функції відбору

BR.com.ua © 1999-2017 | Реклама на сайті | Умови використання | Зворотній зв'язок