Professional Documents
Culture Documents
ONCE.1. INTRODUCCIN
A parte de todo lo visto en cuestin de personalizacin, AutoCAD 14 ofrece al usuario
la posibilidad de crear programas y aplicaciones verticales totalmente funcionales.
Estos programas podrn ser distribuidos por el creador, eso s, siempre corrern
bajo AutoCAD.
La capacidad para hacer un programa nos lleva mucho ms all de la simple
personalizacin de mens o patrones de sombreado, nos lleva a un mundo totalmente
integrado en AutoCAD desde donde podremos disear nuestros propios comandos,
manipular dibujos o incluso acceder a la Base de Datos interna del programa.
AutoCAD 14 proporciona diversas interfaces de programacin de aplicaciones que
vamos a comentar ahora de forma somera.
Como tambin hemos dicho ya, el lenguaje AutoLISP (y LISP) es un lenguaje evaluado,
y no interpretado o compilado. Los lenguajes interpretados son ledos palabra a
palabra por el ordenador, al ser introducidas, y cada una de ellas convertida a lenguaje
mquina. Esto hace que sea sencilla su edicin y deteccin de errores de sintaxis u
otros; por el contrario, hace que sean muy lentos (ejemplo: Microsoft QBASIC). Los
cdigos de los lenguajes compilados son escritos por completo y, antes de su ejecucin
final, es necesario compilarlos, convirtindolos as en cdigo fuente ejecutable y
comprensible por la mquina. Este tipo de lenguajes hace que su ejecucin sea ms
rpida y pura pero, en contra, resulta ms difcil su depuracin (ejemplos: Microsoft
QuickBASIC o Borland C++).
Los lenguajes evaluados AutoLISP estn a caballo entre unos y otros. No son tan
rpidos como los compilados pero son ms flexibles e interactivos que estos. Es
posible, por ejemplo, construir un programa con AutoLISP que sea capaz de
modificarse a s mismo bajo determinadas circunstancia; sta es la base de los
llamados Sistema Expertos.
El mecanismo evaluador de AutoLISP es la propia lista: conjunto de smbolos
separados entre s por, al menos, un espacio blanco y encerrados entre parntesis.
Esto es, desde el momento que existe una expresin encerrada entre parntesis,
AutoLISP la evala e intenta ofrecer un resultado.
AutoLISP es un subconjunto del lenguaje Common LISP. Como ha sido diseado para
trabajar desde AutoCAD, se han seleccionado las caractersticas de LISP ms
adecuadas para este fin y, adems, se han aadido otras nuevas, sobre todo en la
manipulacin de objetos de dibujo, acceso a la Base de Datos de AutoCAD e
interaccin grfica general.
Los programas en AutoLISP son simples archivos de texto ASCII, con la extensin
habitual .LSP. Una vez hecho el programa, habremos de cargarlo desde el propio
editor de dibujo de AutoCAD. Tambin es posible escribir lneas de cdigo AutoLISP
desde la lnea de comandos del programa, como veremos en breve.
Es posible la creacin de rdenes nuevas que llamen a programas en AutoLISP, as
como la redefinicin de comandos propios de AutoCAD, como por
ejemplo LINEA o DESPLAZA. Pero una de las ms importantes potencialidades de
AutoLISP es el acceso directo a la Base de Datos interna de AutoCAD. Toda la
informacin de un dibujo, como deberamos saber, no se guarda como objetos de
dibujo en s, o sea, cuando salvamos un .DWG, en disco no se guardan los crculos,
lneas, etctera, sino una relacin o base de datos donde se dice dnde aparece un
crculo o una lnea, con qu coordenadas de origen y final, con qu radio o dimetro,
tipo de lnea, color... Podremos pues desde AutoLISP acceder a dicha base de datos
para modificarla, editarla o para exportar datos, por ejemplo, a una base de datos
externa.
Lista ---------------------------------- Objeto compuesto de un parntesis de aper--------------------------------------- tura, uno o ms elementos separados por, al
--------------------------------------- menos, un espacio en blanco y un parntesis
--------------------------------------- de cierre. Los elementos de una lista pueden
--------------------------------------- ser smbolos, valores concretos (constantes
--------------------------------------- numricas o cadenas) o listas incluidas. Por
--------------------------------------- ejemplo: (DEFUN seno (x) (SETQ xr (* PI (/x
180.0))) (SETQ
--------------------------------------- s (SIN xr))), se trata de una lista que contiene
cinco elemen--------------------------------------- tos: una funcin inherente de AutoLISP
--------------------------------------- DEFUN, un nombre de funcin de usuario
--------------------------------------- seno, una lista con un nico elemento (x) y
--------------------------------------- dos listas SETQ con tres elementos cada una.
Elemento ----------------------------- Cualquiera de los componentes de una lista.
Smbolo ------------------------------- Cualquier elemento de una lista que no sea
--------------------------------------- una constante. Puede ser el nombre de una
--------------------------------------- variable, un nombre de funcin definida por
--------------------------------------- el usuario o un nombre de funcin de AutoLISP.
Enteros ------------------------------- Valores numricos enteros, sin punto deci--------------------------------------- mal. Internamente son nmeros de 32 bits
--------------------------------------- con signo, sin embargo, en la transferencia
--------------------------------------- de datos con AutoCAD son valores de 16 bits
--------------------------------------- con signo, comprendidos por lo tanto entre
--------------------------------------- -32768 y 32767.
Reales -------------------------------- Valores numricos con coma flotante de do--------------------------------------- precisin. Esto representa un mnimo de 14
--------------------------------------- dgitos representativos. Se pueden expresar
--------------------------------------- en notacin cientfica exponencial mediante e o E.
Cadenas ----------------------------------- Valores textuales que contienen cadenas de
--------------------------------------- caracteres en cdigo ASCII. Deben ir entre
--------------------------------------- comillas y se permite una longitud mxima
--------------------------------------- de 132 caracteres. Se pueden construir cadenas
--------------------------------------- mayores como veremos.
Descriptores de archivo --------------- Valores que representan un archivo abierto
--------------------------------------- para lectura o escritura.
Nombres de objetos de dibujo ---------- Valores que representan el "nombre" hexade--------------------------------------- cimal de un objeto de la Base de Datos.
Conjuntos designados de AutoCAD ----- Valores que representan un conjunto de se--------------------------------------- leccin de objetos de dibujo.
Funciones de usuario --------------------- Smbolo que representa el nombre de una
--------------------------------------- funcin definida por el usuario.
Funcin inherente o subrutina ----------- Smbolo con el nombre de una funcin prede--------------------------------------- finida de AutoLISP. Se suelen denominar con
--------------------------------------- la abreviatura inglesa subrs. Pueden ser in--------------------------------------- ternas o externas.
La evaluacin de dicha lista devuelve el resultado del cociente, en este caso el valor
contenido en la variable xdividido entre el nmero real 180.0. Dicho valor es utilizado
como elemento en la lista circundante que empieza por la funcin de AutoLISP * que
realiza una multiplicacin o producto. Esta lista se evala ofreciendo como resultado el
producto de PI (3,14159) por el valor anterior. A su vez el resultado interviene como
argumento en la lista que empieza por la funcin de AutoLISP SIN, que es evaluada
obtenindose el seno. Este interviene por ltimo como argumento de la lista ms
exterior que empieza por la funcin de AutoLISP SETQ , cuyo resultado es asignar o
almacenar en la variable sx el valor del seno. Este valor es devuelto por la lista
de SETQ como resultado final.
Segunda:
Puesto que cada lista contiene un parntesis de apertura y otro de cierre, cuando
existen listas incluidas en otras, todos los parntesis que se vayan abriendo deben
tener sus correspondientes de cierre. Si se introduce desde el teclado una expresin en
AutoLISP a la que falta por cerrar algn parntesis, se visualiza un mensaje del
tipo n> donde n es un nmero que indica cuntos parntesis faltan por cerrar. Se
pueden introducir por teclado esos parntesis y subsanar el error. Por ejemplo:
Comando: (SETQ sx (SIN (* PI (/ x 180.0))
2> ))
0.523599
Tercera:
Tambin es posible evaluar directamente un smbolo (extraer por ejemplo el valor
actual contenido en una variable), introduciendo por teclado el signo de cerrar
admiracin seguido del nombre del smbolo. Esta evaluacin se puede producir incluso
en mitad de un comando. Por ejemplo, para suministrar como ngulo para un arco el
valor contenido en la variable x, se responde a la solicitud de AutoCAD con !x. Por
ejemplo:
Comando: !sx
0.523599
Cuarta:
Quinta:
Los smbolos de variables participan con el valor que contienen (que les est asociado)
en el momento de la evaluacin. Por ejemplo:
!x devuelve 30
!sx devuelve 0.523599
Sexta:
Determinadas funciones de AutoLISP pueden devolver un valor nulo, que se representa
mediante la expresin nil. Por ejemplo:
Comando: (PROMPT "Bienvenido a AutoLISP\n")
Bienvenido a AutoLISP
nil
La funcin PROMPT escribe en la lnea de comando el mensaje especificado y
devuelve nil. El cdigo \n equivale a INTRO.
Los espacios en blanco de separacin entre smbolos son interpretados como un solo
espacio entre cada par de smbolos. Se recuerda que es necesario un espacio en
blanco para separar un smbolo del siguiente, siempre que no haya parntesis,
apstrofo, comillas o punto y coma. Debido a la longitud de las expresiones de
AutoLISP y a la profusin de parntesis que dificultan su lectura, suele ser norma
habitual realizar sangrados en las lneas del archivo de texto, para resaltar los
parntesis interiores de los exteriores. Todos los espacios aadidos son interpretados
como uno solo.
Los valores explcitos (constantes) de nmeros pueden empezar con el
carcter + o - que es interpretado como el signo del nmero.
Los valores de constantes de nmeros reales deben empezar con una cifra
significativa. El carcter punto (.) se interpreta como el punto decimal. Tambin se
admite + o - para el signo ye o E para notacin exponencial o cientfica. No es vlida la
coma decimal, ni tampoco abreviar como en .6 (hay que escribir 0.6).
Los valores de constantes con cadenas de texto son caracteres que empiezan y
terminan por comillas. Dentro de las cadenas se pueden incluir caracteres de control
mediante la contrabarra (\). Los cdigos permitidos son:
\\ ------ Carcter contrabarra (\).
\" ------ Carcter comillas (").
\e ------ Carcter de escape.
\n ------ Nueva lnea o retorno de carro.
\r ------ INTRO
\t ------ Carcter de tabulador TAB
\nnn ------ Carcter cuyo cdigo octal (no ASCII, que es decimal) es nnn.
\U+xxxx ------ Secuencia de caracteres de cdigo Unicode.
\M+nxxxx ------ Secuencia de caracteres multibyte.
Los cdigos deben ir en minsculas. Para incluir en una cadena un cdigo ASCII hay
que calcular su valor octal. Por ejemplo, el carcter dlar $ es ASCII 36; su valor octal
ser 44 y en la cadena habr que indicar el cdigo de control \44.
El apstrofo () se puede utilizar como abreviatura del comando QUOTE. El
comando QUOTEdevuelve el literal del smbolo. Es decir, cuando en una expresin un
smbolo aparece precedido por apstrofo o se le aplica la funcin de AutoLISP QUOTE,
no se evala con el valor que contiene en ese momento sino que devuelve el propio
nombre literal del smbolo.
Se pueden incluir comentarios en un archivo de texto con programas y expresiones
en AutoLISP, comenzando la lnea del archivo con un punto y coma (;). A partir de
donde se encuentre un punto y coma hasta el final de la lnea, AutoLISP considera que
son comentarios y no los tiene en cuenta. Tambin se pueden incluir comentarios en
mitad de una lnea u ocupando varias de ellas, si se sitan entre los caracteres ;| y |;.
Por ejemplo:
este MDULO y, si algo se qued en el tintero o algo hay que repetir de todo lo
expuesto hasta aqu, se completar y se explicar o repetir.
Comencemos, pues, con la programacin en AutoLISP para AutoCAD 14.
Esta funcin devuelve el resultado aditivo de todos los valores numricos especificados
como argumentos de la funcin. Por ejemplo:
(+ 14 10 20)
devolvera el valor 44. Para hacer la prueba nicamente debemos escribir dicho rengln
en la lnea de comandos de AutoCAD, pulsar INTRO y comprobar el resultado.
NOTA: Al introducir el primer carcter de apertura de parntesis, AutoCAD reconoce
que se est escribiendo una expresin en AutoLISP, por lo que nos permitir utilizar los
espacios necesarios de la sintaxis sin que se produzca un INTRO cada vez, como es
habitual. Recordemos que todos los elementos de una lista de AutoLISP han de ir
separados por lo menos con un espacio blanco. Probemos diferentes sintaxis utilizando
ms espacios, o tabuladores, y comprobemos que el resultado es el mismo; se
interpretan los espacios o tabuladores como un nico carcter de espacio en blanco.
NOTA: Hagamos la prueba de no introducir el parntesis final de la lista indicada.
Comprobaremos lo explicado en la segunda regla de la seccin ONCE.2.2.
Con la funcin + podemos indicar valores enteros o reales. Si todos los valores son
enteros el resultado ser entero, pero si uno o varios de ellos son reales o todos
ellos, el resultado ser real. Esto significa que nicamente es necesario introducir un
valor real para recibir una respuesta real. Por ejemplo, si introducimos la siguiente
lnea en la lnea de comandos enAutoCAD:
(+ 14 10 20.0)
el resultado ser:
44.0
o sea, un nmero real.
Esto aqu parece irrelevante, pero comprenderemos su utilidad al hablar, por ejemplo,
de la divisin.
Si indicamos un solo sumando con esta funcin, el resultado es el valor del propio
sumando. Por ejemplo:
(+ 23)
devuelve:
23
2 3)
val (- vax vad))
(* 12 2) 24)
(- -10 -5) (* 3 total 23))
Las dos primeras que veremos son sencillas de entender y utilizar. Ambas se refieren al
incremento, positivo o negativo, de una unidad a un valor numrico.
(1+ valor)
Esta sintaxis corresponde a la funcin de incremento positivo de una unidad al valor
indicado. As, si queremos incrementar en 1 el valor 576, haremos:
(1+ 576)
Esto equivale a (+ 576 1) pero es de una forma ms cmoda; el resultado es 577.
NOTA: La funcin se denomina 1+ en s, por lo que no existe espacio entre 1 y +.
Podemos realizar estos incrementos con nombres de variable:
(1+ n)
lo que incrementar en una unidad el valor de n. Esto puede ser especialmente
necesario para controlar los llamados contadores-suma en programacin, del tipo:
(SETQ sum (1+ sum))
Esto ya lo veremos a la hora de declarar variables.
La siguiente funcin resta (incremento negativo) una unidad al valor numrico
indicado. Equivale a (- valor 1), pero de una forma ms cmoda.
(1- valor)
Por ejemplo:
(1- 32)
suyo resultado es 31.
n)
67.90)
-23)
-34.0)
(+ tuttot 1)
(* 2 2))
(* (/ 32 2) (+ 10 1.0)))
(ABS valor)
Esta funcin ABS devuelve el valor absoluto del nmero indicado o expresin indicada.
De esta forma, la siguiente expresin:
(ABS 23)
devuelve 23.
Las siguientes expresiones tienen el siguiente efecto indicado:
(ABS
(ABS
(ABS
(ABS
(ABS
(ABS
(FIX valor)
FIX trunca un valor a su parte entera (positiva o negativa), es decir, de un nmero real
con decimales devuelve nicamente su parte entera. Pero, cuidado, no se produce
redondeo, slo un truncamiento.
Ejemplos:
(FIX
(FIX
(FIX
(FIX
32.79) devuelve 32
12.45) devuelve 12
(/ 10 3.0)) devuelve 3
(/ 10 3.0)) devuelve 3
1 2)
0 23)
(* 23 2) (- (+ 1 1) 45.5))
54 (* 3 -4))
Pasemos ahora a ver las funciones trigonomtricas, esto es, cmo calcularlas mediante
AutoLISP. La primera sintaxis se refiere al seno de un ngulo y es la siguiente:
(SIN ngulo)
La funcin SIN devuelve el seno de un ngulo expresado en radianes. Ejemplos:
(SIN 1) devuelve 0.841471
(SIN (/ PI 2)) devuelve 1.0
NOTA: Como sabemos PI es un constante de AutoLISP, por lo que no hace falta
declararla como variable; ya tiene valor propio y es 3.14159. An as, se puede
calcular su valor exacto mediante la expresin: PI = 4 * arctag 1.
(COS ngulo)
COS devuelve el coseno de un ngulo expresado en radianes. Ejemplos:
(COS PI) devuelve 1.0
(COS (* 3 4)) devuelve 0.843854
NOTA: Ntese que PI es un valor real, por lo que el resultado ser real.
(ATAN valor1 [valor2])
Esta funcin ATAN devuelve el arco cuya tangente es valor1 expresada en radianes, es
decir, realiza el arco-tangente de dicho valor. Por ejemplo:
(ATAN 1.5) devuelve 0.98
(EXP exponente)
Esta funcin devuelve la constante (nmero) e elevada al exponente indicado. Se
corresponde con el antilogaritmo natural. Por ejemplo:
(EXP 1) devuelve 2.71828
(LOG valor)
LOG devuelve el logaritmo neperiano o natural (en base e) del valor indicado. Por
ejemplo:
(LOG 4.5) devuelve 125.0000
(MIN 1 2 3 4 7) devuelve 1
(MIN 23.3 7 0) devuelve 0.0
(MIN (/ 7 3) 0.56) devuelve 0.56
conocidas por todos (igual, mayor que, menor o igual que...), slo queda determinar
cmo se utilizan y cul es su sintaxis en AutoLISP.
Como hemos dicho el resultado de la evaluacin solo puede ser uno de dos: T (True)
que representa el verdadero o cierto, o nil que representa el falso o nulo.
NOTA: Con la devolucin nil por parte de AutoLISP nos empezamos a familiarizar
ahora y la veremos muchas veces.
Comencemos por el igual o igual que, cuya sintaxis es la siguiente:
(= valor1 [valor2...])
La funcin = compara todos los valores especificados uno como mnimo,
devolviendo T si son todos iguales o nil si encuentra alguno diferente. Los valores
pueden ser nmeros, cadenas o variables (numricas o alfanumricas). As por
ejemplo:
(=
(=
(=
(=
(=
5 5) devuelve T
65 65.0) devuelve T
7 54) devuelve nil
87.6 87.6 87.6) devuelve T
34 34 34 34) devuelve nil
NOTA: Ntese, como adelanto, que las cadenas literales han de ir encerradas entre
comillas, como en casi todos los lenguajes de programacin.
Con variables declaradas, que ya veremos, sera de la misma forma. Si slo se indica
un valor en la lista, AutoLISP devuelve T.
NOTA: Hay que tener en cuenta que esta funcin slo compara valores y no listas o
expresiones. Si, por ejemplo, se tienen dos variables pt1 y pt2 con dos puntos que son
listas de tres elementos (una coordenada X, una coordenada Y y una coordenada Z),
para comparar la igualdad de ambos habra que recurrir a una funcin lgica
como EQUAL, que veremos un poco ms adelante.
(/= valor1 [valor2...])
Esta funcin /= (distinto o desigual que) devuelve T si alguno o algunos de los valores
comparados de la lista son diferentes o distintos de los dems, por ejemplo en los
siguientes casos:
(/= 2 3)
(/= "texto" "textos")
(/= (* 2 2) (* 2 4) (* 2 3)
Devuelve nil si todos los valores son iguales, por ejemplo:
(/=
(/=
(/=
(/=
2 3) devuelve T
3 4 5 89 100) devuelve T
3 4 5 6) devuelve nil
(* 2 2) (/ 5 3)) devuelve nil
"a"
"z"
"A"
"f"
"b") devuelve T
"h") devuelve nil
"a" "b") devuelve T
"S") devuelve nil
Esta funcin realiza el Y lgico de una serie de expresiones indicadas que representan
otras tantas condiciones. Esto significa que evala todas las expresiones y
devuelve T si ninguna de ellas es nil. En el momento en que alguna es nil, abandona
la evaluacin de las dems y devuelve nil. Es decir, se deben cumplir todas y cada
una de las condiciones. Veamos un ejemplo:
(AND (<= 10 10) (>= 10 10)) devuelve T
Esto significa que, si se cumple la condicin de la primera lista (<= 10 10) y, adems,
se cumple la de la segunda lista (>= 10 10) devolver T. Como esto es as,
devuelve T.
De otra forma, si una de las condiciones no se cumple, devuelve nil, por ejemplo en el
siguiente caso:
(AND (= 10 10) (> 10 10))
La primera condicin en verdadera (10 es igual a 10), pero la segunda es falsa (10 no
es mayor que 10). Como una ya no se cumple se devuelve nil. Han de cumplirse
todas las condiciones para que sea el resultado verdadero. Veamos otros dos ejemplos:
(AND (= 10 10) (> 23 22.9) (/= "camin" "camioneta")) devuelve T
(AND (<= "A" "a") (= 5 7)) devuelve nil
No tiene mucho sentido indicar una sola expresin con esta funcin. Las dos siguientes
son idnticas y producen el mismo resultado:
(AND (= 20 -20))
(= 20 -20)
Ambas devuelven nil.
(OR expresin1 [expresin2...])
A primera vista puede parecer igual a la funcin = (igual que) estudiada, sin embargo,
sta nicamente comparaba valores; EQUAL tiene la capacidad de poder comparar
cualquier expresin o lista de expresiones. De esta forma, podemos utilizar EQUAL de la
misma forma que =, as:
(EQUAL 2 2) devuelve T
(EQUAL 3 5) devuelve nil
Pero no tiene mucho sentido, ya que tenemos la funcin =. Reservaremos EQUAL para
lo expuesto, es decir, para la comparacin de listas de expresiones.
As pues, y adelantndonos a algo que veremos un poco ms tarde, diremos que la
expresin de las coordenadas de un punto 3D se escribira de la siguiente forma:
(20 20 10)
El apstrofo es la abreviatura de la funcin QUOTE de AutoLISP, que toma como
literales, y sin evaluar, las expresiones que le siguen. De esta forma, para comparar la
identidad de dos puntos haramos, por ejemplo:
(EQUAL (20 20 10) (20 20 10)) devuelve T
(EQUAL (20 5 10) (20 20 10)) devuelve nil
NOTA: La funcin QUOTE se ve ampliada en la seccin ONCE.5.1.
El argumento optativo aproximacin se utiliza cuando se comparan expresiones cuyos
resultados son nmeros reales y puede haber una pequea diferencia decimal que no
queramos considerar desigual. Con este argumento suministramos a la funcin un
valor de aproximacin decimal respecto al cual se creern iguales los resultados. Por
ejemplo:
(EQUAL 23.5147 23.5148) devuelve nil
(EQUAL 23.5147 23.5148 0.0001) devuelve T
(NOT expresin)
La funcin NOT devuelve el NO lgico, es decir, si algo es verdadero devuelve falso y
viceversa. As, cuando el resultado sea distinto de nil (T), devolver nil; cuando el
resultado sea nil, devolver T. Por ejemplo:
(NOT (= 2 2)) devuelve nil
(NOT (/= 2 2)) devuelve T
(EQ expresin1 expresin2)
Esta funcin no es propiamente lgica, sino que se denomina de identidad de
expresiones. An as, la introducimos en este apartado por su similitud con las
anteriores.
A partir de la siguiente seccin comenzaremos a ver para qu sirve todo esto y cmo
utilizarlo prcticamente en programas propios.
Observe que el 3 debajo de la lnea se ha escrito. AutoLISP devuelve el valor de la funcin que ha
escrito. Ponlo a prueba, una vez ms. Esta vez cambia el 1 a 3 y el 2 a 5. Al igual que en (+ 3 5).
Qu lo devuelva? AutoLisp siempre devuelve la respuesta.
Variables
Las variables son nombres para los valores. Recuerde que el lgebra? X = 1 y = 2. Le resulta
familiar?, X e Y son variables. Si usted necesita almacenar datos, como una cadena o un entero,
tendr que asignar un nombre de variable para los datos. La forma de hacerlo es utilizar la
funcin setq. Ej. (Setq a 1). Este conjunto es la una variable con el valor 1. Cada vez que utilice
la variable a en su programa, que en realidad se utiliza el valor 1. Si se introduce con tipo (+ a
2) y se presiona, AutoLisp volvera 3.
Puede utilizar cualquier nombre de variable que desea. (Prcticamente) Maysculas y minsculas,
no importa. Le sugiero que no utilizan los nombres que usa el AutoCAD. Cmo saber cules estn
siendo utilizados por AutoCAD? Buena pregunta. El mtodo ms sencillo para saber si AutoCAD
utiliza un nombre, basta con escribir el nombre en el interior del smbolo del sistema de AutoCAD
y pulse la tecla Enter. Si no ocurre nada, lo pueden utilizar.Defina las variables y los programas
con nombres nicos. Algunos ejemplos de seguridad de los nombres de variables son las
siguientes:
(setqb13)
(setqaa14)
(setqJuansVarForHisProgram1)
(setqthisVarA2)
Ahora escribe (miprog) en el smbolo del sistema y presione la tecla enter. Usted debe ver algo
que se parece a esto:
Luego escriba miprog y pulse enter. Si se pulsa el botn F2 para que aparezca la pantalla de
texto, deberas ver algo parecido a esto: