ejemplos lisp
TRANSCRIPT
CLISP
;Ejemplo usando funciones de LISP
;Nombres de los ejes del sistema de coordenadas
(DEFCONSTANT COORDENADAS '(X Y Z))
;Lista de as medidad de un paralelepipedo
(DEFVAR MEDIDAS '(3.5 8 2))
(DEFVAR X)
(DEFVAR Y)
(DEFVAR Z)
;Asignaciones
(SETF X (FIRST MEDIDAS))
(SETF Y (FIRST (REST MEDIDAS)))
(SETF Z (FIRST (REST (REST MEDIDAS))))
(DEFVAR *VOLUMEN*)
(DEFVAR *AREA*)
; Calculo del volumen del paralelepípedo =X*Y*Z.
(SETF *VOLUMEN* (* X Y Z))
; Cálculo del área del paralelepípedo =2XY +2XZ + 2YZ.
(SETF *AREA* (+ (* X Y 2) (* X Z 2) (* Y Z 2)))
;Ejemp6.lsp
;Ejemplo con funciones definidas por el usuario
(DEFUN VOLUMEN (X Y Z)
"Calcula el volumen del paralelepípedo"
(* X Y Z))
(DEFUN AREA (X Y Z)
"Calcula el área del paralelepípedo"
(+ (* X Y 2) (* X Z 2) (* Y Z 2)))
(DEFUN AREA_Y_VOLUMEN (X Y Z)
"Calcula e imprime el volumen y área de un paralelepípedo"
(format T "~%-----~%Calculo de volumen y área de un paralelepípedo:")
(format T "~% Medidas X=~S Y=~S Z=~S" X Y Z)
(format T "~% El área del paralelepípedo es ~S" (AREA X Y Z))
(format T "~% El volumen del paralelepípedo es ~S" (VOLUMEN X Y Z))
(format T "~%-----~%"))