Documente Academic
Documente Profesional
Documente Cultură
Universidad Nacional Mayor de San Marcos Facultad de Ingeniera de Sistemas e Informtica Asignatura: Inteligencia Artificial Preparado por: Juan Gamarra Moreno
Lisp puede crear variables con set y let. > (f 4) 5 > (f 4) 6 > (f 4) 7 f retiene su estado con la funcin set.
Elaborado por: Juan Gamarra Moreno 2
setf evala su primer argumento para obtener una ubicacin de memoria y colocar el valor del segundo argumento en esa ubicacin
> (setq x 0) 0 > (setf x 0) 0
Elaborado por: Juan Gamarra Moreno 6
CL-USER 11 : 2 > (setf x (a b c)) (A B C) CL-USER 12 : 2 > x (A B C) CL-USER 13 : 2 > (setf (car x) 1) 1 CL-USER 14 : 2 > x (1 B C) CL-USER 15 : 2 > (setf (cdr x) (2 3)) (2 3) CL-USER 16 : 2 > x (1 2 3)
> (quad-roots-1 1 2 1) (-1.0 -1.0) > (quad-roots-1 1 6 8) (-2.0 -4.0) > (quad-roots-1 1 2 1) (-1.0 -1.0) > temp 0.0
Elaborado por: Juan Gamarra Moreno 8
> (setq a 0) 0 > (let ((a 3) b) (setq b 4) (+ a b)) 7 >a 0 >b ERROR b is not bound at top level
Elaborado por: Juan Gamarra Moreno 10
(defun quad-roots-2 (a b c) (let (temp) (setq temp (sqrt ( (* b b) (* 4 a c)))) (list (/ (+ (b) temp) (* 2 a)) (/ ( ( b) temp) (* 2 a)))))
11
(defun quad-roots-3 (a b c) (let ((temp (sqrt (. (* b b) (* 4 a c)))) (denom (* 2 a))) (list (/ (+ ( b) temp) denom) (/ ( ( b) temp) denom))))
12
Muchas Gracias
13