Skip to content

Latest commit

 

History

History

lab2

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Лабораторная работа #2: Простейшие функции работы со списками Коммон Лисп

Вариант 2.37

Запрограммируйте рекурсивно на языке Коммон Лисп функционал map-set (f X), аргументами которого являются функция одного аргумента f и список X, рассматриваемый как множество. Результатом вызова должно быть множество из результатов применения f к каждому из элементов X. В списки, представляющие множества, нет повторений, а порядок элементов не имеет значения.

Примеры использования

(load (compile-file "main.lisp"))
(print (map-set #'abs '(1 2 -3 -2)))
(1 3 2) 
(print (map-set #'identity (list 20 20 30 30 40 40)))
(20 30 40) 
(print (map-set #'abs (list )))
NIL 
(print (map-set #'abs (list 1 -1 1 -1 1 -1)))
(1) 
(print (map-set #'sqrt (list 4 9 16 25 25 16 9 4)))
(5 4 3 2) 
(print (map-set (lambda (x) (* x x)) (list 1 -2 3 -4 5 -6 7)))
(1 4 9 16 25 36 49)