Функції відбору, Детальна інформація

Функції відбору
Тип документу: Реферат
Сторінок: 5
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 6.8
Скачувань: 834
$ (NTH 3 '(A B C D)) $ (NTH 2 '(A B . C))

D NIL

5. (SUBLIST list n m). Якщо n та m - невід’ємні цілі та n<=m, функція копіює та видає з n-го по m-ий елементи списку list, де CAR - елемент списку є нульовий елемент. Якщо m - не ціле число або більше чи рівне довжині списку, m приймається як величина на одиницю менша за довжину списку. Якщо n - не ціле число, від’ємне число або 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)

Повертає кількість елементів у списку 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) <)

3

$ (COUNT-IF 'ODDP '(3 4 5 6 7))

3

7. (FIND object list test). Виконує лінійний пошук у списку list того елемента, для якото ознака перевірки з об’єктом object за тестом test не дорівнює NIL. Якщо тест-аргумент дорівнює NIL або не задан, FIND використовує EQL-тест.

The online video editor trusted by teams to make professional video in minutes