Ejercicio Lisp

Páginas: 2 (455 palabras) Publicado: 14 de abril de 2013
FUNCIONES RECURSIVAS EN LISP

1.-Función recursiva para hallar el cociente mediante restas sucesivas
(defun divirest (num1 num2)
(if ( > num2 num1)
0
(+ (divirest (- num1 num2) num2) 1)) )Ejemplo: (divirest 5 3 )
1

2.-Funcion recursiva para multiplicar elementos Negativos
(defun multi (n) (if (< n 0) (* n (multi (+ n 1)) ) 1 ) )
Ejemplo: multi -4
24

3.-Funcion Recursivapara el producto escalar
(defun prodesc (vect1 vect2)
(if (or (null vect1) (null vect2))
0
(+ (* (car vect1) (car vect2))
(prodesc (cdr vect1) (cdr vect2)))))
Ejemplo: (prodesc '(2 3) '(4 5))
234.-Función que hace que una lista no tenga sublistas
(defun nosub (lista)
(cond
((null lista) NIL)
((atom (car lista))
(cons
(car lista)
(nosub (cdr lista))))
(t (append
(nosub (carlista))
(nosub (cdr lista))))))
Ejmplo: (nosub ‘(a (b c) ((d e) f)))
(A B C D E F)

5.-Funcion Recursiva que intentifica si algo es miembro de una lista
(defun miembro (obj lst)
(if (null lst)nil
(if (eql (car lst) obj)
lst
(miembro obj (cdr lst)))))
Ejemplo: miembro '2 '(1 2 3)
(2 3)

6.- Función Recursiva para la serie de Fibonacci
(defun fibo (n) (if (eq n 1) (+ 0 1) (if (> n 1)(+ (fibo (- n 1)) (fibo (- n 2)) ) 1 ) ) )

Ejemplo: fibo 4
5
7.- Función recursiva para ver si existe algún impar
( defun impar(num)
(cond((null num)nil)
((oddp(car num))t)
(t(impar ( cdrnum)))))
Ejemplo: ( impar '(2 3))
T
8.- Función recursiva para invertir un número
(defun invertir (num)
( if ( < num 10 ) num
( + ( / num 10) ( * ( invertir ( / num 10 )) 10))))
Ejemplo:invertir 12
21
9.- Función Recursiva para sumar los dígitos de un número
(defun sumadig (num)
(if ( eq num 0) num
(+ ( (sumadig ( / num 10))) (/ num 10))))
Ejemplo: (sumadig 12)
3
10.- Funciónrecursiva para contar los elementos de una lista
(defun cont (lista) (if (endp lista) 0 (+ 1 (cont (cdr lista))) ) )

Ejemplo: (cont '(a b c d))
4

1.- Funcion recursiva que cuenta cuantos...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ejercicios LISP
  • Ejercicios De Lecoq-Lispa
  • Lisp
  • lisp
  • lisp
  • Lisp
  • lisp dicertacion
  • programación Lisp

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS