PRIMER EJEMPLO
Práctica IA-Lisp
Nº 3
Equipo nº:
……………
Alumnos:
…………………………………………………………………
…………………………………………………………………
Semana 3
Oct.2000
Resolver los siguientes ejercicios primero sobre elpapel y luego comprobando el resultado con el intérprete de LISP.
Nota: hay que entregar los ejercicios resueltos al profesor
1. Redefinir la función potencia siguiente:
(defun potencia (xy)
(if (= y 0) 1
(* x (power x (- y 1)))))
de manera que pueda manipular exponentes enteros (sin utilizar la función expt de LISP).
2. Escribir una función llamadaborrador que elimine todas las ocurrencias de un elemento de una lista. borrador deberá utilizar recursión. A continuación se muestra algunos ejemplos de cómo debería comportarse la función:>(borrador 'hola '(hola cara de bola y tambien hola una revista))
(CARA DE BOLA Y TAMBIEN UNA REVISTA)
>(borrador '(cataclismo climatico) '(1 2 (cataclismo climatico) 4 5))
(1 2 4 5)
3. Escribir unaversión iterativa de la anterior y denominarla borrador-i.
4. LISP suministra una función predefinida denominada member que se comporta de la siguiente manera:
>(member 3 '(1 2 3 4 5) )
(3 45)
>(member 'hey '(no vayas presumiendo por ahi) )
NIL
>(member 'llaves '(y donde (he (puesto) las (llaves))) )
NIL
Escribir una función recursiva denominada es-miembro que compruebe si un átomoestá incluido en una lista, comportándose como se indica en los ejemplos siguientes:
>(es-miembro 3 '(1 2 3 4 5) )
T
>(es-miembro 'ñoj '(que pasada) )
NIL
>(es-miembro 'llaves '(pero dondehabra (puesto (Epi) las (llaves))) )
T
5. Un palíndromo (o capicúa) es algo (un texto) que se lee igual tanto al derecho como al revés. A continuación se incluye una definición de palindromop quecomprueba si una lista es o no palíndromo.:
(defun palindromop (lst)
(equal lst (reverse lst)) )
Así, por ejemplo:
>(palindromop '(1 2 3 4 5 4 3 2 1))
T
>(palindromop '(a b b a))...
Regístrate para leer el documento completo.