
- •Лабораторная работа №1
- •((Height 72) (weight 175) (hair blond)) элемент 175
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Редактор muLisp.
- •Загрузка редактора
- •Команды редактора
- •Краткое описание функций muLisp
- •1. Функции выборки
- •2. Конструирующие функции
- •3. Функции распознавания
- •4. Функции сравнения
- •7. Примитивы определения функций
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 |