(defun F1 (L1 L2)
(if L1
((lambda (n result)
(cond
((= (type n) 'REAL) result)
((member n L2) (cons n result))
(T result)))
(car L1)
(F1 (cdr L1) L2))))
(defun F2 (L1 L2)
(if L1
((lambda (n result)
(cond
((member n L2) result)
(T (cons n result))))
(car L1)
(F2 (cdr L1) L2))))
Все то, что находится в данном сообщении правее лиловой вертикальной черты, следует выделить, затем поверх выделенного щелкнуть правой кнопкой мыши и выбрать из меню Копировать.
В AutoCADе следует в зоне командной строки (в нижней части окна программы) правее приглашения "Команда:"("Command:") щелкнуть правой кнопкой мыши и выбрать из меню Вставить. После этого в предпоследней строке зоны командной строки (прямо над приглашением) должна присутствовать строка "F2".
Если вместо этого последняя строка начинается с "(((_>", следует нажать клавишу Enter.
Затем введите в командной строке выражение
(F1 '(1 2 3 4 5) '(2 4 5 6))
и убедитесь, что функция (F1) возвращает список из тех элементов первого списка, которые есть и во втором, а именно (2 4 5).
Затем введите в командной строке выражение
(F1 '(1 2 3.5 4 5) '(2 4 3.5 6))
и убедитесь, что функция (F1) возвращает список из только из целочисленных элементов первого списка, которые есть и во втором, а именно (2 4).
Затем введите в командной строке выражение
(F2 '(1 2 3 4 5) '(2 4 5 6))
и убедитесь, что функция (F2) возвращает список из тех элементов первого списка, которые отсутствуют во втором, а именно (1 3).
«...она у меня не идет выдает ошибку...» - при отсутствии телепатических способностей трудно на расстоянии определить, какое именно сообщение диагностирует ошибку.
PS. Препод, начинающий учить LISPу с функции (setq) - IMHO безнадежен и подлежит списанию.