Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.
sumapositivos(x)=
en lisp: CL-USER 15 : 3 > (defun sumapositivos(x) (if(= x 1) 1 (+ x (sumapositivos(- x 1))))) SUMAPOSITIVOS CL-USER 16 : 3 > sumapositivos 4 10
2.
power(a,b)= En lisp:
CL-USER 10 : 3 > (defun power(base exponente) (if(eq exponente 0) 1 (* base (power base (- exponente 1))))) POWER CL-USER 11 : 3 > power 4 5 1024
3.
producto(a,b)=
En lisp: CL-USER 17 : 3 > (defun producto(a b) (if(eq b 1) a (+ a (producto a (b 1))))) PRODUCTO CL-USER 19 : 3 > producto 80 50 4000
recursiva
0 fibo(n)= 1 si n=1 si n=2
fibo(n-1)+fibo(n-2) lisp: CL-USER 17 > (defun fibo(a) (if(eq a 1) 0 (if(eq a 2) 1 (+ (fibo(- a 1)) (fibo(- a 2)))))) FIBO CL-USER 18 > fibo 5 3
1.
En Lisp: CL-USER 26 : 1 > (defun cuentaatomos (expr)(cond ((null expr) 0)((atom expr) 1)(t (+ (cuenta-atomos (first expr))(cuenta-atomos (rest expr)))))) CUENTAATOMOS l CL-USER 25 : 1 > cuentaatomos '(a b c) 3
6.- Suma los elementos de un vector Pseudocodigo: int suma_vec(int v [], int n) { if (n == 0) return v [n]; else return suma_vec(v, n - 1) + v [n]; }
Lisp: (defun Suma_vec(v[], n) (if ( equals n 0)( v[n]) (+ ( Suma_vec(v, - n 1 )) (v[n])))
7.Producto escalar
CL-USER 37 : 4 > (defun producto (vector1 vector2)(if (or (null vector1) (null vector2))0(+ (* (first vector1) (first vector2))(producto (rest vector1) (rest vector2)))))
CL-USER 6 : 1 > (contar '(1 (2 3 4) 43 (5 4 7) (3 2 1))) 3 10. Programa que suma los nmeros de una lista CL-USER 8 > defun sumalista(l) (if(endp l) 0 (+ (car l) (sumalista (cdr l)))) SUMALISTA CL-USER 9 > sumalista '(4 5 6) 15