Beruflich Dokumente
Kultur Dokumente
la Educacin
UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA
FACULTAD DE INGENIERIA DE SISTEMAS
DOCENTE:
ALUMNOS:
CURSO:
SISTEMAS EXPERTOS
ICA PERU
2015
EJERCICIOS DE LISPWORKS
LABORATORIO N 1
Hacer 20 ejercicios usando los comandos SETQ y SET
COMANDOS
(setq respuesta (+ 5 7))
setq x 24
setq answer x
(setq resultado (+ 21 answer))
DESCRIPCION
Le asigno a la variable
respuesta el valor de 5+7
Le asigno a la variable x el valor
24
Le asigno a la variable answer
el resultado de x
Le asigno a la variable
resultado la suma de 21 + el
resultado de answer
Le asigno a la variable
respuesta el valor de 100 entre
10
Le asigno a la variable
probando el valor de respuesta
Le asigno a la variable
probando1 el valor de probando
entre 10
Le asigno a la variable
myanswer el valor de 120
Le asigno a la variable result el
valor de myanswer
Le asigno a la variable result1
el valor de result
Le asigno a la variable a el valor
de 20
Le asigno a la variable b el
valor de a
Le asigno a la variable x el valor
de 20 + b
Le asigno a la variable h el
valor de 20-5
Le asigno a la variable r el valor
de h -5
Le asigno a la variable l el valor
de 56
Le asigno a la variable o el
valor de 20 + 45
Le asigno a la variable e el valor
de h
Le asigno a la variable h el
valor de 20 +20
Le asigno a la variable e el valor
de h
Hacer 20 ejercicios usando los comandos CAR, QUOTE, ATOM, CDR,
CONS, LIST, FIRST, REST, PRINT, SETQ.
COMANDOS
CAR '(A B C)
SETQ X 20
CAR '(X B C)
quote(hola mundo)
QUOTE((ESTAMOS)
IMPROVISANDO)
(CAR(QUOTE((HOLA)QUE
HACE)))
(FIRST '( AB CV DF))
(REST '(A B C))
ATOM 436436
ATOM(QUOTE(FFREFREF))
ATOM(QUOTE TRHT)
(PRINT (* 4 6))
ATOM(QUOTE Y65)
(CDR '(A B C))
CDR '(RF R D)
CONS 'A 'B
CONS 'A '(BCD)
(CONS 'A '(CONS 'B '(CONS 'C
'(CONS 'D 'E))))
(CONS 'A (CONS 'B 'C))
(let((x 1) (a 2))(* x a))
DESCRIPCION
Muestra el primer elemento que
es A
Le asigno a la variable X el
valor 20
Muestra el primer elemento que
es X
Muestra el valor hola mundo
Muestra dos elementos
(ESTAMOS) e IMPROVISANDO
Muestra el primer elemento que
es (HOLA)
Muestra el primer elemento que
es AB
Muestra todos los elementos
restantes menos el primero
Muestra el resultado T ya que
se mantiene en regla
Muestra el resultado de Nil ya
que es una lista
Muestra el resultado de T a que
se mantiene en regla
Muestra el valor de 6 *4
Muestra el valor de T ya que se
mantiene en regla
Muestra todos menos el primer
valor
Muestra el valor R ,D menos el
primer valor
Muestra el valor A B dentro de
una lista
Muestra el valor de (A BCD)
dentro de una lista
Muestra el valor de (A B C D E)
dentro de una lista
Muestra el valor de (A BC)
Muestra el valor de x * a con su
valor de x=1 y a=2
(+( * ( + 1 4) ( + 2 5)) 5)
40
( + ( + 4 3) (+ 2 4) ( + 1 1))
( / 100 100)
quote( +2 3)
setq x 20
(+ 5 x)
(* (+ 5 x) (+ x x))
set 'y 35
(+ x y)
setq z 22
(+ x y z)
( + ( + x x) ( + y y) (+ z z))
( / (+ x x) 2)
( * ( + x y z) 4)
( / (* ( + 8 2) 5) 2)
(CONS 'A (CONS 'B 'C))
(let((x 1) (a 2))(* x a))
setq a 20, setq b 30, setq c 40
( /(+ ( + a a) (+ b b) (+ c c)) 3)
(+(- c a )b)
(+ a b c)
(*(- c b) (+ a b c))
LABORATORIO N 2
Hacer 20 ejercicios usando los comandos SQRT, SETF, EXPT,
MAX, MIN, SETQ
COMANDOS
sqrt 20
sqrt 25
setf x 20
(setf a (+ x 5))
sqrt a
expt 5 3
(expt 25 0.5)
(expt 121 (/ 1 2))
max 4 5 6
max 4 7 8 4 3 26
min 25 4 67 4 3
setq x (/ 1 2)
expt 25 x
(expt 36 (+ 0 0.5))
setq a 100
DESCRIPCION
Muestra el valor de 4.472136
Muestra el valor de 5
Muestra que la variable x tiene
el valor de 20
Muestra que la variable a tiene
el valor de x+5
Muestra el valor de a que es 5
Muestra el valor de 125
Muestra el valor de 5
Muestra el valor de 11
Muestra el mximo valor que es
6
Muestra el mximo valor que es
26
Muestra el mnimo valor que es
3
Muestra que la variable x tiene
el valor de 1 / 2
Muestra el valor de 5
Muestra el valor de 6
Muestra que la variable a tiene
sqrt a
(setq x (max 2 4 5))
min 12 34 24 56 x
expt (* 6 6) ( / 1 2)
( setf h ( + 2 4 5))
el valor de 100
Muestra el valor de a que es 10
Muestra el valor de x que es el
mximo valor que es 5
Muestra el mnimo valor que es
x =5
Muestra el valor de 6*6 que es
6
Muestra el valor de h que es
2+4+5
(setf a (+ x 5))
(endp '(34 43 6))
(endp '())
(endp '(124))
(endp(rest '(4)))
(rest (rest '(a bc d e)))
(eq 'a 'a)
(eq 'a 'b)
(setq x 'ola)
(eq 'hola 'x)
(eq 'ola 'x)
(setq x 'abc)
(setq str "abc")
(reverse str)
(setq x "abcd")
DESCRIPCION
Muestra el primer valor que es
d
Muestra el primer valor del
resultado de rest que es b
Muestra el primer valor del
resultado de dos veces rest que
es d
Muestra el valor que d a que
es x +5
Muestra el valor de Nil ya que
no es una lista vaca
Muestra el valor de T ya que es
una lista vaca
Muestra el valor NIL ya que no
es una lista vacia
Muestra el valor T ya que no es
una lista vacia
Muestra el valor de D
Muestra el valor de T ya que
son iguales
Muestra el valor de NIL ya que
no son iguales
Muestra el valor de la variable x
que es ola
Muestra el valor NIl ya que no
son iguales
Muestra el valor T ya que el
valor de x es igual a ola
Muestra el valor de x que es
abc
Muestra el valor de str que es
abc
Muestra al revs el resultado
que es dcba
Muestra el valor de x que es
abcd
(reverse x)
(reverse afvgb)
COMANDOS
(last '(1 2 3 4 5 6 7))
(first '(1 2 3 4 5 6 7))
(last (rest '(1 2 3 4 5 6 7)))
(list 'a 'b 'v 2 34)
(list 'a 'b 'c 'd 'e)
(list 'a '(b) '(c))
(list 'h 'o 'l 'a (sqrt 4) (/ (expt 5
2) 5))
(list '(a b) '(a b c d) 'f 'g 'h)
(setq mostrar li)
(setq x mostrar)
(print x)
case estado
(madrid 'espaa)
(roma 'italia)
(paris 'francia)
(t 'desconocido)
)
( defun sumaa ( a b)
( suma (cuadrado a) (cuadrado b))
)
La funcin suma llama a mi 3 ejercicio resuelto
anteriormente.
RECURSIVIDAD
5) Calcule el factorial de un numero
(defun factorial (n)
(defun factorial (n) (if (= n 0) 1 (* n (factorial (- n
1))))
)
LABORATORIO N 2.1
FUNCIONES RECURSIVAS
1) Algoritmo de Euclides ( M.C.D)
(defun c.m.d (a b)
(if (= b 0 ) a (c.m.d b (mod a b)))
)
2) Exponentiation entera
(defun a ( a b )
( if (= b 0 ) 1 ( * a ( expt a (- b 1 ))))
)
3) Multiplication recursive
(defun m (a b )
( if (= b 0 ) 0 (+ a (* a (- b 1 ))))
)
4) Fibonacci
(defun fib (n)
(if (<= 1) n(+ (fib (- n 1)) (fib (- n 2))))
)
5) Contar todos los elementos de una lista
(defun li (lista)
(if(= length(lista) 1) 1) ( lenght(lista))
)