Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resolucion Laboratorio 2
Resolucion Laboratorio 2
ASIGNATURA:
SISTEMAS EXPERTOS E INTELIGENCIA ARTIFICIAL
TEMA:
RESOLUCIÓN DE EJERCICIOS DEL LABORATORIO Nº 02 CON EL
SOFTWARE LIPSWORKS
ALUMNO:
CASTILLA DAGNINO, RENZO ISRAEL
DOCENTE:
CHAVEZ GUILLEN, ROLANDO MAXIMILIANO
CICLO Y SECCIÓN:
VII – “A”
ICA – PERÚ
2020
UNIVERSIDAD NACIONAL “SAN LUIS GONZAGA” DE ICA
________________________________________________________________________________________________________
CL-USER 1 > (setq FIS 2020) CL-USER 14 > (MIN 5.2 20 4 3 0.5)
2020 0.5
CL-USER 2 > (set 'UNICA 2021) CL-USER 15 > (< (+ 4 5)(* 6 3))
2021 T
CL-USER 3 > (setf AIB (- FIS 20)) CL-USER 16 > (>= (- 13 3)(/85 5))
2000 NIL
CL-USER 4 > (set 'RENCAS (+ AIB 3000)) CL-USER 17 > (> (+ 10 5)(* 5 3))
5000 NIL
CL-USER 5 > (setq LENOVO (- UNICA 21)) CL-USER 18 > (<= (MAX 15 20)(MIN 32 40))
2000 T
CL-USER 6 > (set 'ASUS (/ LENOVO 2)) CL-USER 19 > (- (+ 50 20)(+ -10 -20)(- 40 50))
1000 110
CL-USER 7 > (sqrt LENOVO) CL-USER 20 > (+ (- 15 5)(* 23 2)(/ 30 2))
44.72136 71
CL-USER 8 > (sqrt ASUS) CL-USER 21 > (- (/ (- 30 2)(* 2 2) 5))
31.622776 -7/5
CL-USER 9 > (expt 2 (+ 4 5)) CL-USER 22 > (* (+ 2 3)(- 5 1)(expt 2 3))
512 160
CL-USER 10 > (expt 125 (/ 1 3)) CL-USER 23 > (* (- -10 -50)(/ 40 10)(sqrt 16))
5.0 640.0
CL-USER 11 > (setq X1 '(1 2 (3 4()))) CL-USER 24 > (/ (expt 4 3) (MAX -14 10 18 29))
(1 2 (3 4 NIL)) 64/29
CL-USER 12 > (setq X2 '(5 (6 7) (8 9))) CL-USER 25 > (* (sqrt 625) (MIN -1 0 -5 -2 2))
(5 (6 7) (8 9)) -125.0
CL-USER 13 > (MAX 1001 1005 1004 1010)
1010
________________________________________________________________________________________________
________________________________________________________________________________________________
CL-USER 1 > (cons 10(cons 12(cons 14 nil))) CL-USER 14 > (cons 11(cons 13(cons 15 nil)))
(10 12 14) (11 13 15)
CL-USER 2 > (append '(ma) '(me) '(mi)) CL-USER 15 > (append '(xy) '(m n p))
(MA ME MI) (XY M N P)
CL-USER 3 > (list 'java '(c# c++)) CL-USER 16 > (list 'HP)
(JAVA (C\# C++)) (HP)
CL-USER 4 > (cons 'x nil) CL-USER 17 > (append '(A) () '(B) '(a b))
(X) (A B A B)
CL-USER 5 > (cons 'F4(cons 'F5(cons 'F6 nil))) CL-USER 18 > (cons 'WORD 'EXCEL)
(F4 F5 F6) (WORD . EXCEL)
CL-USER 6 > (list 'a '(e i o) 'u) CL-USER 19 > (append 'MARGARITA)
(A (E I O) U) MARGARITA
CL-USER 7 > (cons 'puerta '(mesa cajon)) CL-USER 20 > (list 'lun 'mar 'mie 'jue 'vie)
(PUERTA MESA CAJON) (LUN MAR MIE JUE VIE)
CL-USER 8 > (append 'FIS) CL-USER 21 > (append '(sa) '(si) '(su))
FIS (SA SI SU)
CL-USER 9 > (list 'UNICA) CL-USER 22 > (list '(ABC) '(BCA) '(CAB))
(UNICA) ((ABC) (BCA) (CAB))
CL-USER 10 > (cons 'SAMSUNG 'HUAWEI) CL-USER 23 > (cons 'LAB1 '(LAB2 LAB3))
(SAMSUNG . HUAWEI) (LAB1 LAB2 LAB3)
CL-USER 11 > (append '(pa) '(pe) '(pi)) CL-USER 24 > (append '(ROJO) '(AZUL) '(VERDE))
(PA PE PI) (ROJO AZUL VERDE)
CL-USER 12 > (list '(AA) '(BB) '(CC)) CL-USER 25 > (list '(11) '(22) '(33))
((AA) (BB) (CC)) ((11) (22) (33))
CL-USER 13 > (cons 'a '(b c d))
(A B C D)
________________________________________________________________________________________________
________________________________________________________________________________________________
• PROBLEMA 1:
Se quiere plantear una función llamada “media” que calcule la media de dos números. Utilice
defun.
Solución:
Programación en Lisp:
CL-USER 22 : 3 > (defun media (x y) (/ (+ x y) 2))
MEDIA
CL-USER 23 : 3 > (media 23 25)
24
• PROBLEMA 2:
Se quiere plantear una función llamada “suma” que calcule la suma de dos números. Utilice
defun.
Solución:
Programación en Lisp:
CL-USER 20 : 3 > (defun suma (a b) (+ a b))
SUMA
CL-USER 21 : 3 > (suma 6 7)
13
________________________________________________________________________________________________
PROBLEMAS DE RECURSIVIDAD
1, 𝑥=1
𝑠𝑢𝑚𝑎𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑜𝑠(𝑥) = {
𝑥 + 𝑠𝑢𝑚𝑎𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑜𝑠(𝑥 − 1), 𝑂𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
Solución:
Programación en Lisp:
CL-USER 1 > (defun sumapositivos(x) (if (= x 1) 1 (+ x (sumapositivos(- x 1)))))
SUMAPOSITIVOS
CL-USER 2 > (sumapositivos 4)
10
2. Obtenga el exponente de un número dado la base y el exponente a y b de manera recursiva
1, 𝑒𝑥𝑝𝑜𝑛𝑒𝑛𝑡𝑒 = 0
𝑝𝑜𝑤𝑒𝑟(𝑎, 𝑏) = {
𝑏𝑎𝑠𝑒 ∗ 𝑝𝑜𝑤𝑒𝑟(𝑏𝑎𝑠𝑒, 𝑒𝑥𝑝𝑜𝑛𝑒𝑛𝑡𝑒 − 1), 𝑂𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
Solución:
________________________________________________________________________________________________
Programación en lisp:
CL-USER 3 > (defun power (base exponente) (if (eq exponente 0) 1 (* base (power base (-
exponente 1)))))
POWER
CL-USER 4 > (power 3 6)
729
3. Obtener el producto de 2 enteros a y b de manera recursiva
𝑎, 𝑏=1
𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜(𝑎, 𝑏) = {
𝑎 + 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜(𝑎, 𝑏 − 1), 𝑂𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
Solución:
Programación en Lisp:
CL-USER 5 > (defun producto (a b) (if (eq b 1) a (+ a (producto a (- b 1)))))
PRODUCTO
CL-USER 6 > (producto 25 60)
4000
4. Calcule el enésimo número Fibonacci mediante una función recursiva
0 𝑆𝑖 𝑛 = 1
𝑓𝑖𝑏𝑜(𝑛) = {1 𝑆𝑖 𝑛 = 2
𝑓𝑖𝑏𝑜(𝑛 − 1) + 𝑓𝑖𝑏𝑜(𝑛 − 2)
Solución:
________________________________________________________________________________________________
Programación en Lisp:
CL-USER 11 : 1 > (defun fibo(a) (if(eq a 1) 0 (if(eq a 2) 1 (+ (fibo(- a 1)) (fibo(- a 2))))))
FIBO
CL-USER 12 : 1 > (fibo 7)
8
5. Calcule la factorial de un número mediante una función recursiva
Solución:
Programación en Lisp:
CL-USER 18 : 3 > (defun factorial(x) (if (eq x 0) 1 (* x (factorial (- x 1)))))
FACTORIAL
CL-USER 19 : 3 > (factorial 7)
5040
________________________________________________________________________________________________