Ejercicio # 1
1.
Descripción
Defina una
función “nesimo” que dado un entero “n” y una lista “L” retorne una nueva lista
eliminando el n-ésimo elemento de la lista.
$ (nesimo 3 '(1
-3 5 4 9))
(1 -3 4 9)
2.
Solución
Ø (defun enesimo (l n)
(setq Cont 0)
//declaro el contador(setq Res '()) //declare variable de almacenamiento de respuesta
(ejer l n) //llamo al otro procedimiento
(print res) //imprimo la respuesta
)
Ø
(defun ejer (l n)
(setq cont (+
cont 1)) // incremento el contador(if (/= cont n) //evalúo si me encuentro en la posición a descartar
(setq res (append res (list (car l)))) //construyo la lista resultante
)
(if (cdr l)
(ejer (cdr l) n) //regreso al método en caso de tener más datos en la lista
)
)
3.
Ejecución
Ejercicio # 2
1.
Descripción
Defina una
función “MULTCICL”, tal que dado un entero positivo “n” y una lista “L” retorna
una nueva lista multiplicando cada elemento por n, n-1, n-2, …
$ (multcicl 3
'(1 2 3 4 5))
2.
Solución
Ø (defun multcicl (n l)
(setq aux (+ 1 n))
(setq res '())
(oper n l)
(print res)
)
Ø (defun oper (n l)
(setq aux (- aux 1))
(setq res (append res (list (* aux (car l))) ) )
(if (cdr l)
(oper n (cdr l))
) )
3.
Ejecución
No hay comentarios:
Publicar un comentario