Логические функции. 1. = - проверка равенства аргументов.
1. = - проверка равенства аргументов. При совпадении значений всех аргументов возвращается T, в противном случае – nil. (= 3.0 3 3.000) ® T (в качестве аргументов можно смешивать целые и вещественные числа).
2. /= - проверка неравенства аргументов. При совпадении значений всех аргументов возвращается nil, в противном случае – T.
3. < - проверка расположения аргументов по возрастанию. (< a1 a2 … aN) ® T, если a1 < a2 < … < aN.
4. <= - проверка расположения аргументов по неубыванию. (<= a1 a2 … aN).
5. > - проверка расположения аргументов по убыванию. (> a1 a2 … aN) ® T, если a1 > a2 > … > aN.
6. >= - проверка расположения аргументов по невозрастанию. (>= a1 a2 … aN).
7. and – логическое И. (and a1 a2 … aN). (setq v (and (> x 0) (> y 0))) ® v=T, если попали в первый квадрант.
8. or – логическое ИЛИ. (or a1 a2 … aN). (setq v (or (> x 0) (> y 0))) ® v=T, если не попали в IV квадрант.
9. not – операция логического отрицания. (setq v (not (or (> x 0) (> y 0)))) ® v=T, если попали в IV квадрант.
10. null – операция проверки аргумента на nil. 11. if – выполнение условной операции if-then-else.
(if условие выражение1) – если условие=T, то выполняется выражение1.
(if условие выражение1 выражение2) – если условие=T, то выполняется выражение1, иначе – выражение2.
Если в функции if необходимо выполнить более одного выражения, то они объединяются функцией prong.
12. progn – объединение не менее двух выражений в одно. (if (> x 0) (progn (setq (+ a b)) (command …) ) )
13. cond – условный оператор типа case. (cond (условие1 выражение1) (условие2 выражение2) (…) ) Выполняется то выражение, для которого условие=T. Просмотр оставшихся условий не производится. Например, если условие2=T, то не производится проверка условия3, условия4 …etc…
14. minusp – проверка числа на отрицательность. (minusp a) ® T, если a<0.
15. zerop – проверка числа на 0. (zerop a) ® T, если a=0.
16. numberp – проверка, является ли аргумент вещественным или целым числом. (numberp a) ® T, если a – число.
17. listp – проверка, является ли аргумент списком. (listp a) ® T, если a – список, точечная пара, точечный список или nil, так как пустой список понимается как nil.
18. vl-consp – проверка, является ли аргумент непустым списком. (vl-consp a) ® T, если a – непустой список, непустая точечная пара или непустой точечный список.
19. atom – функция, противоположная по смыслу vl-consp. 20. vl-symbolp – проверяет, является ли аргумент указателем функции или переменной.
21. boundp – проверка, присвоено ли значение символу.
22. eq – проверка, равны ли значения двух аргументов (аналогично функции =).
23. equal – проверка равенства двух аргументов в пределах допуска. (equal a1 a2 d) ® T, если ïa1 - a2ï £ d. Если d не задан, то считается, что d=0.
24. while – условный оператор цикла. (while условие выражение1 выражение2 … ) Выполняются выражения в цикле до тех пор, пока условие=T.
25. repeat – выполнение операции цикла с заданным количеством повторений. (repeat количество выражение1 выражение2 … )
|