CL-USER 9 : 3 > (DEFUN SUM (X Y) (+ X Y))
SUM
CL-USER 10 : 3 > (= 10 (SUM 4 6))
T
CL-USER 11 : 3 > (= 10 (SUM 1 2))
NIL
CONDICIONAL
CL-USER 36 : 5 > (IF (/= 3 4) "ES TRUE" 0)
"ES TRUE"
CL-USER 1 > (DEFUN ABSO_COND1 (N) (IF (< N 0) (* N -1) (N)) )
ABSO_COND1
CL-USER 2 > (ABSO_COND1 -312)
312
FUNCION COND
| SUSPENSO , si N < 5
| APROBADO , si 5 <= N < 7
(NOTA N) = | NOTABLE , si 7 <= N < 9
| SOBRESALIENTE, si 9 <= N <= 10
| ERROR , si N > 10
(DEFUN NOTA (N)
(COND ((< N 5) 'SUSPENSO)
((< N 7) 'APROBADO)
((< N 9) 'NOTABLE)
((<= N 10) 'SOBRESALIENTE)
(T 'ERROR)))
RECURSIVIDAD
FACTORIAL
(DEFUN F_ (N)
(IF (= N 1) (SETQ N 1) (* N (F_ (- N 1)))) )
FIBONACCI
(DEFUN FIBO ( pos )
(if (= pos 0) 1
(if (= pos 1) 1
( if (= pos 2) 2
( + (FIBO (- pos 1)) (FIBO (- pos 2))
)
)
)
)
)
SUMATORIA
(defun sum (n)
(if (= n 1)
1
(+ n (sum (- n 1)))
)
)
POTENCIA
(defun pot (n p)
(if (= p 1)
n
(* n ( pot n (- p 1)) ) //No () de pot( n (- p 1) ) pq tiene q llamar
)
)
PRODUCTO ESCALAR DE 2 LISTAS
(defun productoEs (v1 v2)
( if ( or (null v1) (null v2) ) 0
( + ( * (car v1) (car v2) ) ( productoEs (cdr v1) (cdr v2) ))
)
)
Contabilizar cuantos números son mayores que 10 de una lista
( defun MayDiez (l1)
(cond ((null l1) 0 )
( (> (car l1) 10) (cond (t (+ 1 (MayDiez (cdr l1))))) )
( (<= (car l1) 10) (MayDiez (cdr l1)) )
)
)