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

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

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

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

 

ПОШУК:   

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

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

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

 

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

 

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)

 

Якщо 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, функція

копіює та видає з 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))

-----> Page:

0 [1] [2]

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