Sie sind auf Seite 1von 9

Ao de la Diversificacin Productiva y del Fortalecimiento de

la Educacin
UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA
FACULTAD DE INGENIERIA DE SISTEMAS

DOCENTE:

ROLANDO M. CHAVEZ GUILLEN

ALUMNOS:

AYBAR CARMONA JERSON JESUS

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))

(setq respuesta (/ 100 10))

setq probando respuesta


(setq probando1 (/ probando
10))
setq myanswer 120
setq result myanswer
set 'resul1 result
set 'a 20
set 'b a
(set 'x (+ 20 b))
(set 'h (- 20 5))
(set 'r (- h 5))
set 'l 56
(set 'o (+ 20 45))
(set 'e h)
(set 'h (+ 20 20))
set 'e h

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

Hacer 25 ejercicios de FUNCIONES PRIMITIVAS donde incluye


las operaciones +,-,*, /, Max, mix
COMANDOS
(- (+ 2 5) ( + 2 3))
( / (+ 10 5) ( - 10 7))
(* (+ 2 4) ( + 5 3))

(+( * ( + 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

Hacer 20 ejercicios usando los comandos FIRST, ENDP, EQ,


SETQ, REVERSE, PRINT
COMANDOS
first '( d a f)
first(rest '(a b c))
first(rest (rest '(a bc d a)))

(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)

Muestra el valor al revs de x


Muestra el valor al revs que es
bgvfa

Hacer 20 ejercicios usando los comandos LIST, APPEND, CONS


COMANDOS
(cons 5 nil)
(cons 6(cons 3 nil))
(cons 5 (cons 2(cons nil 4)))
(cons 4( cons 2( cons 2 nil)))
(cons 'a nil)
(cons 'a (cons 'b ( cons 'c nil)))
(cons 'x (cons 'y (cons nil 'z)))
(cons 'a '(g gtf ))
(cons 'a(cons 'b '(fg r g r)))
(append 'a)
(append '(a) '(b) '(c))
(append '(a b c d))
(list '(a b c d))
(quote (append 'a))
(cons 2 ( cons 'a nil))
(cons 'h (cons 0 (cons 'l (cons 'a
nil))))
(cons 2 (cons 0 (cons 3 (cons '(cons nil 'a)))))
(append '(h o l a))
(list (append '(h) '(o l a)))
(append '(h o l a))

Hacer 20 ejercicios usando los comandos LENGTH, LISTTP,


LIST, FIRST, LAST, SQRT

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)

(length '( f g tr h))


(length '( r (jJjjk f) g))
(setq str "abcd")
(length str)
(listp '(mn))
(listp nil)
(listp'())
(listp 'a)
(listp '(abcd))

RESOLVER EJERCICIOS DEFINIENDO


FUNCIONES
1) Se quiere plantear una funcin llamada donde-es cuando se
ingrese Madrid, debe decir Espaa, cuando se ingrese Roma
debe decir Italia, cuando se ingrese Paris debe decir Francia,
caso contrario Pas desconocido. Utilice defund y cond.
(defun donde-esta (estado) (

case estado
(madrid 'espaa)
(roma 'italia)
(paris 'francia)
(t 'desconocido)
)

2) Se quiere plantear una funcin llamada media que calcule la


media de dos nmeros. Utilice defun.
(defun media ( a b)
( / (+ a b) 2)
)
3) Se quiere plantear una funcin llamada suma que calcule la
suma de dos nmeros. Utilice defun.
(defun suma (a b)
(+ a b)
)
4) Se quiere plantear una funcin llamada suma que calcule el
cuadrado de cada uno de los elementos de una lista. Utilice
defun.
1 Paso:
(defun cuadrado (x)
(* x x)
)
2 Paso:

( 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))))
)

6) Obtener el producto de 2 enteros a y b de manera recursiva


(defun producto ( a b)
(if (= b 1) a (+ a (producto(a (- b 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))
)

Das könnte Ihnen auch gefallen