Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lisp_metod.doc
Скачиваний:
9
Добавлен:
12.11.2018
Размер:
326.66 Кб
Скачать

2. Конструирующие функции

Функция

Значение функции, примеры

1.

CONS[S1 S2]

1.S2-список.CONS возвращает список S2,

первым элементом которого добавлен

аргумент S1

$(CONS 'A '(B C D))

(A B C D)

2.S2-атом.CONS возвращает точечную пару,

левая часть которой S1, а правая - S2

$(CONS 'A 'B) (A . B)

2.

LIST[S1..Sn]

LIST kонструирует и возвращает список,

из элементов S1, S2,...Sn. При отсутствии

аргументов возвращает NIL

$ (LIST 'A 'B 'C 'D) (A B C D)

$ (LIST 'A '(B C) 'D) (A (B C) D)

$(LIST)  NIL

3.

APPEND[L1...LN]

APPEND конструирует и возвращает список из элементов списков L1, L2 ... Ln

$(APPEND '(A B C) '(D E F))

(A B C D E F) $(SETQ FOO '(1 2 3)) (1 2 3)

$(APPEND '(A B C) FOO '(K L M))

(A B C 1 2 3 K L M)

4.

REVERSE [L]

REVERSE возвращает список L, с элементами

в обратном порядке)

$(REVERSE '(A B C D E))

(E D C B A)

$(REVERSE '(A B C) '(1 2 3))

(C B A 1 2 3)

$(REVERSE '(A B C) 'D)

(A B C . D)

5.

LENGTH[S]

1.S-список.LENGTH возвращает число

элементов в списке L

$ (LENGTH '(A B C D E)) 5

2.S-атом.LENGTH возвращает число символов в атоме

$ (LENGTH 'TIME)  4

3.S-число.LENGTH возвращает количество

байтов занимаемых числом в памяти

$ (LENGTH -13) 1

3. Функции распознавания

Функция

Значение функции, примеры

1.

NUMBERP [S]

Т, если S - целое число, ниаче NIL

$ (NUMBERP 32)

T

$ (NUMBERP 'D)

NIL

2.

ATOM [S]

Т, если S - атом, иначе NIL

$ (ATOM 'KOT)

T

$ (ATOM '(A B C))

NIL

$ (ATOM NIL)

T

3.

LISTP [S]

Т, если S - список, иначе NIL

$ (LISTP 'DOG)

NIL

$ (LISTP '(A B C))

NIL

$ (LISTP NIL)

T

4.

NULL [S] |

Т, если S - пустой список, иначе NIL

$ (NULL NIL)

T

$ (NULL ())

T

$ (NULL '(A B C))

NIL

5.

ZEROP [S]

Т, если S - нуль, иначе NIL

$ (ZEROP 0)

T

$ (ZEROP 12)

NIL

$ (ZEROP 'DOG) NIL

6.

PLUSP [S]

T, если S - положительное число

$ (PLUSP 12)

T

$ (PLUSP -4)

NIL

$ (PLUSP 0)

NIL

$ (PLUSP 'DOG)

NIL

7.

MINUSP [S]

Т, если S - отрицательное число

$ (MINUSP 12)

NIL

$ (MINUSP -4)

T

$ (MINUSP 0)

NIL

$ (MINUSP 'DOG)

NIL

8.

ODDP [S]

Т, если S - нечетное число, ниаче NIL

$ (ODDP 12)

NIL

$ (ODDP -41)

T

$( ODDP 0)

NIL

9.

EVENP [S]

Т, если S - четное чмсло, иначе NIL

$( EVENP 12)

T

$( EVENP -41)

NIL

$ (EVENP 0)

T

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]