Ejercicio # 1
1. Descripción
Crear una función que dada una lista de como resultado una nueva lista pero solo con el primer y último elemento de la lista original.
2. Solución
- (defun ult (a) (if (cdr a) (ult (cdr a)) a))
- (defun ejer (a) (list (car a) (car (ult a))) )
3. Ejecución
Ejercicio # 2
1. Descripción
Crear una función recursiva que dad una lista como parámetro retorne la sumatoria de todos sus elementos.
2. Solución
- (defun sum (a) (setq R 0) (suma a))
- (defun suma (a) (setq R (+ R (car a))) (if (cdr a) (suma (cdr a)) R))
3. Ejecución
Ejercicio # 3
1. Descripción
Crear una función que permita realizar la suma de matrices.
2. Solución
- (defun recorre (a b)
(print (mapcar #'+ (car a) (car b)))
(if (cdr a) (recorre (cdr a) (cdr b))) 'FIN )
3. Ejecución
Ejercicio # 4
1. Descripción
Crear una función en LISP que permita realizar suma de listas pares.
(suma_pares ‘((1 2) (3 4) (5 6) (7 8))
(4 6) (13 14)
2. Solución
- (defun ejer (a)
(print (mapcar #'+ (car a) (cadr a)))
(if (cddr a) (ejer (cddr a)) 'FIN))
3. Ejecución
Ejercicio # 5
1. Descripción
Defina una función llamada “enésimo” en donde dada un número ‘n’ y una lista. Elimine el enésimo termino de lista
2. Solución
- (defun enesimo (n a)
(setq C 1)
(ene n a))
- (defun ene (n a)
(if (< c n) (print (car a)))
(if (> c n) (print (car a)))
(setq c (+ c 1))
(if (cdr a) (ene n (cdr a)) 'FIN))
3. Ejecución
No hay comentarios:
Publicar un comentario