Laboratorio de cómputo de ingeniería CONTENIDO PREÁMBULO 5

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Laboratorio de cómputo de ingeniería CONTENIDO PREÁMBULO 5"

Transcripción

1 CONTENIDO PREÁMBULO 5 ESTRUCTURA GENERAL DEL AUTOCAD R12 5 ESTRUCTURA DE DIRECTORIOS 6 REQUERIMIENTOS DE AUTOLISP 7 OBJETIVOS 7 INTRODUCCIÓN 7 ALCANCES Y LIMITACIONES DEL AUTOLISP 8 TIPO DE VARIABLES EN AUTOLISP 8 LISTAS: 9 ÁTOMOS: 9 NOTACIÓN DE VARIABLES EN AUTOLISP 9 VALIDACIÓN DE VARIABLES EN AUTOLISP 10 SET: 10 SETQ: 11 CREACIÓN DE PROGRAMAS 12 SUBRUTINAS, COMANDO COMMAND: 13 INSTRUCCIONES PARA CREAR PROGRAMAS Y SUBRUTINAS 14 DEFUN : 14 A) CUANDO SE DEFINE EL NOMBRE DE UN PROGRAMA: 14 B) CUANDO DE DEFINE ALGUNA SUBRUTINA: 15 REPEAT: 15 WHILE: 16 Capacitación Página 1

2 MANEJO DE MENSAJES 16 ALERT : ( ALERT "MENSAJE"). 16 PROMPT : ( PROMPT "MENSAJE ) 17 FUNCIONES EN AUTOLISP 18 FUNCIONES DE ENTRADA DE DATOS 18 GETANGLE: (GETANGLE "DAME DOS PUNTOS") 18 GETORIENT: (GETANGLE "DAME DOS PUNTOS") 18 GETDIST: (GETDIST "DAME UNA DISTANCIA") 18 GETPOINT : (GETPOINT "DAME UN PUNTO") 19 GETREAL : (GETREAL "NÚMERO") 19 GETINT : (GETINT "LETRERO DE TEXTO") 19 SSGET: (SETQ VARIABLE (SSGET)) 19 GETVAR : (GETVAR "VARIABLE") 20 GETSTRING: (GETSTRING "TEXTO") 20 EN GENERAL: 20 FUNCIONES MATEMÁTICAS 21 FUNCIONES BASICAS 22 A) REFERENTES AL LUGAR QUE OCUPAN LOS DATOS EN UNA LISTA 22 CAR: 22 CDR: 22 LAST: 22 B) REFERENTES A LAS CARACTERÍSTICAS DE UNA LISTA 22 LENGTH : 22 FUNCIONES ARITMÉTICAS 23 ABS : (ABS N) 23 EXP : (EXP N) 23 EXPT : (EXPT N P) 24 GCD : (GCD A B C) 24 LOG: (LOG N) 24 MAX : (MAX A B C...) 24 MIN : (MIN A B C...) 25 REM : (REM X Y) 25 SQRT: (SQRT X) 25 FUNCIONES TRIGONOMÉTRICAS 25 ATAN : (ATAN X) 25 COS : (COS X) 26 SIN : (SIN X) 26 Capacitación Página 2

3 FUNCIONES DE TIPO RELACIONAL Y CONDICIONAL 26 IF : (IF CONDICION VERDERO FALSO) 26 FUNCIONES DE TIPO LÓGICO (AND, OR) 27 AND: 27 OR: 27 FUNCIONES DE CADENA 28 STRCASE : (STRCASE CADENA ARGUMENTO) 28 STRCAT : (STRCAT CADENA1 CADENA2) 28 STRLEN: (STRLEN TEXTOS...) 29 SSLENGTH: (SSLENGTH SS) 29 FUNCIONES DE CONVERSIÓN 29 ASCII (ASCII CADENA) 29 ATOF (ATOF TEXTO) 29 ATOI (ATOI TEXTO) 29 CHR (CHR NUMERO) 30 FIX (FIX NUMERO) 30 FLOAT (FLOAT NUMERO) 30 ITOA 30 RTOS (RTOS NUMERO FORMATO DECIMALES) 30 FUNCIONES DE ENTRADA Y SALIDA 31 OPEN 31 CLOSE (CLOSE ARCHIVO) 31 FINDFILE (FINDFILE ARCHIVO) 31 LOAD (LOAD"PROGRAMA.LSP") 32 READ (READ CADENA) 32 READ-LINE (READ-LINE ARCHIVO) 32 WRITE-LINE (WRITE-LINE ARCHIVO) 32 FUNCIONES DE DEPURACIÓN 33 TRACE (TRACE FUNCIÓN) 33 UNTRACE (UNTRACE FUNCIÓN) 33 Capacitación Página 3

4 FUNCIONES VARIAS 33 TEXTSCR (TEXTSCR) 33 GRAPHSCR (GRAPHSCR) 33 VER (VER) 33 QUIT, EXIT 33 Capacitación Página 4

5 CURSO DE AUTOLISP PREÁMBULO ESTRUCTURA GENERAL DEL AUTOCAD R12 El presente desarrollo tiene como objetivo el conocer ampliamente la forma en que están interrelacionados los archivos del programa, directorios, menús, utilerías e iconos; todo esto para facilitar la familiarización del usuario con el paquete y poderle permitir detectar errores y fallas, así como una ágil localización de las mismas. Las extensiones manejadas por AUTOCAD, son las siguientes: *.CFG: Parámetros de configuraciones del programa. *.DOC: Información acerca del programa, tal como novedades, actualizaciones y consejos previos por parte de AUTODESK puede citar también a los archivos *.TXT. *.HLP: Información de ayuda al usuario. *.MNU: Menús adicionales, disponibles para ser usados. (Además de las extensiones *.MND y *.MNx) *.DWG: Archivos de trabajo o de dibujo. *.LSP: utilerías y programas en AUTOLISP. *.BAK: Respaldos de los archivos de trabajo. * SHX: Tipos de letras. *.DRV: Drivers y accesorios para la configuración del paquete *.SLD: Archivos no editables con imágenes planas de dibujos, como los iconos de los pull down menús. Algunos archivos importantes, son todos aquellos del formato ACAD*.*, ya que se trata de archivos que cuentan con parámetros de funcionamiento propios del programa, se pueden citar los siguientes: ACADR12.BAT: Es el archivo que ejecuta al ACAD.EXE, cargando en previamente las opciones y rutas de búsqueda de archivos. memoria ACAD.CFG: Es el archivo en el que principalmente se guarda la información referente a la configuración del programa, es aquí donde se encuentran los parámetros que se seleccionan al momento de instalar el paquete o bien cuando se ejecuta el comando ("CONFIG"). Capacitación Página 5

6 ACAD.DWG: Es el archivo en el que se encuentran las opciones que por default siempre están activadas al iniciar un dibujo nuevo, tales como la opción de desactivar las marcas de la pantalla con el comando BLIPMODE (OFF), para evitar llenar nuestra pantalla de marcas (cruces) cada vez que se ejecute algún comando (EJ. Line) ACAD.ERR: Archivo que es creado cuando se produce un error de funcionamiento del programa, se trata de un archivo que es posible editarlo desde sistema operativo para conocer cual fue la falla. Por lo general se crea y/o modifica cuando se realizan multitareas (OS SHELL) o errores atribuibles a la estructura física del equipo o del paquete, tales como errores al guardar información que provocan el paro drástico del sistema. ACAD.EXE: Archivo ejecutable con el que corre el programa, debiendo de ser invocado por el ACADR12.BAT para dar de alta las configuraciones de rutas de búsqueda de información. ACAD.HLP: Es el archivo general. en el que se encuentran las ayudas principales y de tipo ACAD.HDX: Información referente a la lista de comandos. ACAD.LIN: Archivo que contiene la información referente a los tipos de línea manejados por AUTOCAD. ACAD.MNU: Es en este archivo donde se encuentra la información referente a los "Pull Down Menus" (nombres, sub-menus, iconos, opciones) y algoritmos de validación del Mouse o tableta digitalizadora. ACAD.PAT: Archivo donde se localiza la información referente a los patrones de ashurado. ACADR12.LSP: Archivo en el que se encuentra la información referente a utilerías y programas en AUTOLISP que AUTOCAD siempre carga cada vez que se inicia un dibujo nuevo o se abre algún archivo. P.ej: Personalización de comandos. ESTRUCTURA DE DIRECTORIOS ACADCFG: Subdirectorio que contiene la información de los parámetros de configuración del paquete. ACADDRV: Subdirectorio que contiene la información referente a los dispositivos auxiliares de la configuración (P.ej: Listas de impresoras, tipos de mouses, etc.) ADS: Subdirectorio que contiene la información referente a ADS (Auto Drawing Surface). utilerías hechas en Capacitación Página 6

7 FONTS: Es el subdirectorio donde se encuentra la información referente a estilos y tipos de letras. SUPPORT: Es el subdirectorio en el cual se encuentran los principales archivos que requiere el programa para poder funcionar óptimamente. REQUERIMIENTOS DE AUTOLISP Para un mejor aprovechamiento del presente curso, se requiere el conocimiento del funcionamiento general del programa AUTOCAD, su estructura; así como el dominio del 80% de los comandos de dibujo más empleados en 2 y 3 dimensiones. OBJETIVOS Extender las posibilidades gráficas del AUTOCAD para fines prácticos, como una herramienta auxiliar en el diseño y solución de problemas. Dar a conocer a los alumnos los alcances y las limitaciones de la programación en AUTOLISP. Al término del presente curso, los alumnos serán capaces de diseñar aplicaciones especificas de acuerdo a sus necesidades gráficas y de dibujo en AUTOCAD. INTRODUCCIÓN AUTOLISP es un lenguaje de programación derivado del lenguaje LISP. Este lenguaje es utilizado para generar rutinas orientadas al uso especifico del AUTOCAD. Permite desarrollar programas y funciones para el manejo de entidades de tipo gráfico. Los programas hechos en AUTOLISP aumentan los comandos y aplicaciones del AUTOCAD, creando así una solución optima para cada problema en particular, desde el simple trazo de una línea hasta el diseño de algún plano o pieza, llegando a cálculos complejos, conviertiéndose en gran ayuda para las aplicaciones en ingeniería. Entre las aplicaciones más notables del AUTOLISP se pueden citar: Dibujo de figuras bidimensionales con características específicas; Creación de objetos tridimensionales; Generación de gráficas de funciones basándose en ecuaciones; Cálculos de áreas y tablas de datos, combinación de los comandos de dibujo para realizar determinado tipo de tareas. Capacitación Página 7

8 ALCANCES Y LIMITACIONES DEL AUTOLISP Como puede darse cuenta el usuario, dicho lenguaje de programación es propio del programa de CAD de AUTODESK (AUTOCAD), por lo que su uso se limita a implementar aplicaciones específicas de acuerdo a las necesidades del usuario a un problema de diseño o de dibujo determinado, valiéndose de todas la funciones y herramientas de dibujo que proporciona el AUTOCAD, logrando obtener soluciones muy poderosas dentro de este ambiente. En general, dicho lenguaje equivale a realizar las denominadas "MACROS", pero en un ambiente gráfico, donde se pueden automatizar series de labores y tareas muy repetitivas con programas simples que ahorran tiempo de trabajo en dibujo y proporcionan una mayor exactitud. Para aquellos usuarios que están muy familiarizados con la programación en los lenguajes BASIC y C, el AUTOLISP les resultara muy semejante y de gran simplicidad, ya que su estructura, forma de validar variables, algoritmos y secuencias lógicas son muy parecidas; con las distinción de que aquí por lo general se emplearan artificios para obtener elementos de dibujo de AUTOCAD, tales como líneas, arcos, polilíneas, elipses, etc. Hay que tomar en cuenta que el número más pequeño que se puede manejar dentro de AUTOLISP es: y el más grande: , lo cual se debe de tener siempre presente cuando se editen fórmulas o se validen variables, ya que de existir un número fuera de ese rango, se cerrara a los valores anteriormente mencionados. En comparación con otros lenguajes de programación, en AUTOLISP no se nombran los renglones de programa con algún número que los anteceda para registrarlos (P.ej: BASIC, FORTRAN), sino que los programas se efectúan de acuerdo al orden en que están invocadas sus subrutinas y a su vez, en el orden en que se escriben los renglones. TIPO DE VARIABLES EN AUTOLISP Antes de cualquier cosa, hay que tener en cuenta que AUTOLISP difiere entre el uso de las mayúsculas y minúsculas, siendo muy importante considerar esto cuando se definan variables o nombres de subrutinas. Por lo que se recomienda que siempre se escriban este tipo de datos con MAYÚSCULAS para facilitar la programación y evitar posibles confusiones en el uso de la notación. El espacio para almacenar variables de tipo alfanumérico, es decir de texto es ilimitado, ya que AUTOLISP registra dicha información en forma dinámica, siendo recomendable no abusar en la extensión de dichos contenidos, para evitar complejidad en el manejo de la información. Capacitación Página 8

9 En cuanto a las variables numéricas, se pueden tener hasta 14 cifras significativas de precisión. Los principales tipos de variables empleados, y sus formas de expresión más sencillas son los siguientes: LISTAS: Son cadenas de elementos, entre paréntesis, separados entre sí por espacios. Dichos elementos pueden ser variables de tipo numérico, alfanumérico, o validaciones de las mismas. Ej. (A B C D E) Es una lista que contiene 5 elementos, que son: A, B, C, D y E, separados cada uno de ellos entre paréntesis y todos ellos entre paréntesis. Aquí dichos elementos pueden ser variables. Es indispensable saber que todas las validaciones de variables en AUTOLISP siempre se ejecutaran a manera de LISTA, ya que los datos almacenados en una variable pueden estar separados por espacios y ser más de uno sólo. ÁTOMOS: Son por lo general los elementos de las listas, y se identifican por que no existen espacios entre sus caracteres. Ej. (ABC DEF) Es una lista formada por dos tomos (ABC y DEF) de 3 caracteres cada uno. NOTACIÓN DE VARIABLES EN AUTOLISP En cuanto al cálculo y realización de operaciones matemáticas que se refiere, el AUTOLISP requiere que las fórmulas se editen considerando la notación polaca inversa. Dicha notación, consiste en que al momento de realizar una operación, primero se edita el operando (suma, resta, multiplicación, división), y luego los números o variables a intervenir, cabe señalar que dicho criterio debe de ser por parejas separadas por paréntesis. Como se verá más adelante, la instrucción SETQ nos permite guardar en una variable el contenido de otra o de alguna serie de operaciones, y se vuelve indispensable su uso, cuando se editan fórmulas. Por ejemplo, si se quisiera en AUTOLISP dar la ecuación de la recta, que es Y = M*X + B, la línea de nuestro programa que incluye dicha operación quedaría de la siguiente manera: (SETQ Y (+ (* M X) B)) Capacitación Página 9

10 Hay que notar, que para editar las fórmulas, hay que hacer un uso muy extensivo y apropiado de los paréntesis para que la fórmula exprese lo que necesitamos. En este caso, en el primer juego de paréntesis se hace el producto de M * X, en el segundo se suma el resultado del primero al valor de la variable B, y posteriormente en la variable Y se almacena toda la operación completa. Otro ejemplo, puede ser el hecho de que se requiera emplear la fórmula para el cálculo de la pendiente de la recta, M = (Y2 - Y1) / (X2 - X1), la línea de programación en AUTOLISP es la siguiente: (SETQ M (/ (- Y2 Y1) (- X2 X1))) Es realmente importante, notar que en AUTOLISP, toda línea de programación inicia con un paréntesis y concluye con otro, pudiendo existir a su vez combinaciones de instrucciones dentro de otras, respetando la sintaxis adecuada, tal y como se ve en el ejemplo anterior, en donde por paréntesis se separan las operaciones que se realizan, siendo 3 en total, cuyo resultado se almacena en la variable M. VALIDACIÓN DE VARIABLES EN AUTOLISP Se le conoce como validación, al proceso de almacenar determinada información en una variable, ya sea de tipo numérico o de texto (alfanumérico). Dicha información a guardar puede ser un valor dado desde el programa por el usuario, o el resultado de alguna operación. (Ver los ejemplos anteriores). Cuando no se ha definido el valor de una variable, AUTOLISP asume que su contenido es "NIL", que equivale a nulo, es decir, que no se ha realizado el proceso de validación de la misma; entendiendo a "NIL" como el hecho de que dicha variable ni siquiera tiene el valor CERO y mucho menos alguno de cualquier otro tipo. Cuando por algún error se edita mal alguna fórmula, escribiendo mal el nombre de una variable, dicha variable errónea estará validada con "NIL" (puesto que el usuario o el programador no la han definido con un valor determinado), lo que impedirá realizar operaciones de tipo numérico con ella, causando errores en nuestro programa. Por lo que se aconseja en las primeras líneas de nuestro programa definir los valores iniciales de las variables que se necesiten. Las instrucciones fundamentales que nos permiten dar valores a las variables, son las siguientes: SET: Es una instrucción que asigna el valor de una determinada expresión a un símbolo determinado. Capacitación Página 10

11 Su sintaxis es la siguiente: (SET SIMBOLO EXPRESION) Donde el símbolo es el nombre de alguna variable, y expresión es alguna fórmula editada según los criterios vistos anteriormente o bien algún valor de tipo numérico indispensablemente. P.ej: si quisiéramos almacenar el valor "5" en la variable "A", la línea de nuestro programa es la siguiente: (SET A 5) El inconveniente de emplear esta instrucción consiste en que sólo se puede asignar valor a una variable por cada comando, es decir, por cada línea de programación, siendo este de tipo numérico exclusivamente (dato o fórmula). SETQ: Funciona de manera semejante a SET, pero con la diferencia de que permite validar varias variables al mismo tiempo, haciendo esto a la manera de una LISTA, pudiendo guardar textos en las variables. Su sintaxis es la siguiente: (SETQ SIMBOLO1 EXPRESION1 SIMBOLO2 EXPRESION2... ) Ej. Si se quisiera guardar el texto: "SALLE" en la variable "B", y el número "5" en la variable "A", empleando una sola línea, dicha línea de nuestro programa seria la siguiente: (SETQ A 5 B "SALLE") Aqui se tienen 4 átomos en una lista, donde con el comando SETQ realizamos la validación de las variables de interés por parejas, así que es importante considerar el orden que se emplea en escribir dicha información. Es importante notar, que si la palabra SALLE no se escribiera entre comillas en la línea de programación en vez de almacenar dicho texto en la variable "B", lo que haría seria: B=SALLE, donde SALLE es el nombre de alguna otra variable. Análogamente, si quisiéramos validar en una misma línea: A=1, B=2, C=3, nuestra línea de programación sería: (SETQ A 1 B 2 C 3) Capacitación Página 11

12 CREACIÓN DE PROGRAMAS El archivo del programa se deber hacer en algún procesador de textos o editor de sistema operativo, salvándose en la modalidad de sólo texto con extensión *.lsp, un ejemplo puede ser el siguiente. ; UNIVERSIDAD LA SALLE ; PROGRAMA HECHO POR... (DEFUN C:NOMBRE() (ALGORITMOS O SECUENCIAS) ) En donde "NOMBRE" es el nombre con el cual deseamos que sea reconocido nuestro programa como un comando adicional del AUTOCAD, algoritmos y secuencias son procedimientos de programación que se requieran para inicializar una serie previa de instrucciones (tales como dar valores a variables, definir límites del dibujo, número de vistas, factores de textos o líneas, subrutinas, etc.) Los ";" empleados, nos ayudan a escribir notas o mensajes dentro de nuestro programa, que son ignorados al momento de ejecutar la aplicación. Esto con la finalidad de colocar comentarios tales como el nombre del autor, descripción del programa o sus rutinas, etc. Nótese la sintaxis requerida, cada línea de programa debe de llevar un paréntesis al inicio y otro al final, de manera semejante el paréntesis que indica el inicio de la rutina principal que contiene al nombre del programa, es cerrado al concluir este. Hay que considerar que cada subrutina que se emplee más adelante requerir a su vez de un paréntesis a su inicio, y otro a su terminación, al igual que líneas de programa que contengan fórmulas. Una vez hecho lo anterior, desde la línea de comandos de AUTOCAD, se llama al programa de AUTOLISP de la siguiente forma: (LOAD"NOMBRE.LSP") Y una vez que fue cargado, aparece en pantalla el nombre con el cual AUTOCAD lo reconoce, siendo éste el previamente definido por la función DEFUN C: NOMBRE Capacitación Página 12

13 SUBRUTINAS, COMANDO COMMAND: Las subrutinas son partes de nuestro programa que nos permiten distribuir eficientemente los pasos o tareas que los forman, por ejemplo se pueden destinar subrutinas para definir valores fijos de variables, otras para pedir información al usuario, otras para hacer cálculos y otras para trazar entidades de dibujo. La sintaxis es muy semejante a la de la rutina principal, ya que aquí no se especificará la definición de un nombre de programa. Un ejemplo puede ser una subrutina que trace una línea a 2 puntos con coordenadas conocidas como 2,3 y 5,6: (LINEA1() (COMMAND "LINE" "2,3" "5,6" C) ) En donde (LINEA1() es el nombre de la subrutina, la siguiente línea indica a AUTOCAD las instrucciones a ejecutar desde la línea de comandos, de ahí el emplear la instrucción COMMAND, con la sintaxis requerida del comando en cuestión, tal como en esta ocasión lo es LINE: punto de inicio de la línea, un segundo punto y C que equivale a cancelar el comando (Control C). Es importante señalar, que entre los paréntesis que están después del nombre de la subrutina, se pueden escribir las validaciones de las variables que están interactivas entre el programa principal y las subrutinas, requiriendo una estricta sintaxis y orden en el listado de las mismas para lograr una ejecución eficiente del programa. Otra opción más fácil es dejar vacío ese espacio para que AUTOLISP reconozca automáticamente este tipo de variables, tal y como se hizo anteriormente. Análogamente, si se desea invocar desde AUTOLISP a cualquier otro comando de AUTOCAD, se requerir de usar COMMAND con la sintaxis adecuada del comando deseado, siendo posible emplear todos los comandos y funciones con las que se cuenta para dibujo, siempre y cuando no se empleen las formas abreviadas. (P.ej: Usar "L" por "LINE") Es importante notar lo anteriormente mencionado en cuanto a la sintaxis de los paréntesis, ya que AUTOLISP es un lenguaje limitado en cuanto a mensajes de errores de programa hacia el usuario, es decir, que en la mayoría de las ocasiones en que por alguna causa no corra algún programa, no se sabe exactamente en donde se encuentra la falla si no se ha tenido cuidado en revisar la sintaxis. Capacitación Página 13

14 INSTRUCCIONES PARA CREAR PROGRAMAS Y SUBRUTINAS Como se mencionó anteriormente, un programa en AUTOLISP es un archivo en formato de texto con extensión. LSP, que se puede llamar en forma diferente que como se registra como comando de AUTOCAD, las instrucciones siguientes nos ayudan a trabajar con subrutinas y crear programas: DEFUN: Es la instrucción empleada en la validación de programas y sus respectivas subrutinas, es decir, le indica a AUTOLISP el nombre con el que se llama desde AUTOCAD un programa de LISP y los nombres de sus rutinas. a) Cuando se define el nombre de un programa: (DEFUN C:NOMBRE() : ) En donde NOMBRE, es el nombre con el que se va a llamar el programa dentro de AUTOCAD, es decir, el nombre como AUTOCAD lo registrar como comando adicional, pudiendo ser este, diferente del nombre del archivo en solo texto. Aquí, C: se refiere a un comando nuevo para AUTOCAD, no confundir con el prompt de algún drive de tipo disco duro. A esta rutina donde se define a nuestro programa, se le denomina RUTINA PRINCIPAL, y es ahí donde se alojan las instrucciones y comandos que se ejecutan primero, es conveniente escribir ahí validaciones de variables que nos sean indispensables. Las instrucciones que definen lo que hace nuestro programa de AUTOLISP, se incluyen donde se colocaron los puntos suspensivos y termina o se cierra el paréntesis que se abre desde el DEFUN, pudiéndose llamar alguna subrutina, P.ej: (DEFUN C:NOMBRE() (INICIO) : ) En éste último ejemplo, nuestro programa se llama NOMBRE, y lo primero que hace al ejecutarse, es ir a la subrutina INICIO y ejecutar las instrucciones ahí contenidas, posteriormente regresar a esta rutina (PROGRAMA PRINCIPAL) y ejecutar las instrucciones siguientes hasta concluirlas todas. Capacitación Página 14

15 b) Cuando de define alguna subrutina: El tratamiento es semejante al anterior, pero ahora sin usar C: con el DEFUN. Ejemplos: (DEFUN INICIO() : ) Aquí se define una subrutina llamada INICIO, que contiene instrucciones determinadas de programa, pudiendo llamarse a otra subrutina dentro de ésta misma y así sucesivamente. Es conveniente señalar que no es adecuado llamar muchas subrutinas dentro de otras y así sucesivamente, ya que puede llegar un momento en que se pierda el control de lo que realmente está haciendo nuestro programa de AUTOLISP, ya que hay que recordar que una subrutina acaba hasta que se han ejecutado todas las instrucciones contenidas en ella, incluyendo por completo las subrutinas ahí alojadas. REPEAT: Instrucción que permite ejecutar un proceso o subrutina un determinado número de veces, ejemplo: (SETQ A 10) (SETQ B 100) (SETQ X 4) (REPEAT X (SETQ A (+ A 10)) (SETQ B (+ B 100)) ) En este ejemplo, se validan primero las variables A y B con 10 y 100 respectivamente, luego se ejecuta cuatro veces el proceso de incrementar A en 10 y B en 100, de tal forma que cuando termine el ciclo definido por el REPEAT, A valdrá 50 y B valdrá 500. Otro ejemplo, es repetir 3 veces una subrutina: (REPEAT 3 (PROCESO) ) Aquí es ejecutar 3 veces la subrutina llamada proceso. Capacitación Página 15

16 WHILE: Funciona en forma semejante al REPEAT, pero efectúa algún ciclo sólo mientras se cumpla algún tipo de condicionamiento, P.ej: (SETQ A 1) (WHILE (<= A 10) : (SETQ A (+ 1 A)) En este ejemplo, el ciclo definido por los puntos suspensivos, se ejecuta siempre y cuando la variable A sea menor o igual a 10, por lo que es indispensable colocar dentro del proceso repetitivo a un contador, o a algún otro tipo de validación para la variable A, para que ésta cambie y la rutina no se efectúe en forma indefinida. MANEJO DE MENSAJES Dentro de AUTOLISP es posible mandar mensajes para ser leídos por el usuario de nuestros programas, habiendo varias formas de hacerlo: ALERT : ( ALERT "MENSAJE") Este comando activa una ventana dentro de AUTOCAD, conteniendo un mensaje que nosotros deseemos, ya sea para avisar el inicio o terminación de un programa, o bien para avisar al usuario de algún error o requerimiento de nuestro programa. Siendo necesario que el usuario presione el botón izquierdo del mouse en la ventana o presionar enter, para que ésta desaparezca. Un ejemplo puede ser el siguiente: Donde nuestro archivo de sólo texto se llama L0.LSP ; CURSO DE AUTOLISP ; ; ESTE PROGRAMA DIBUJA UNA LINEA DE LOS PUNTOS 2,3 A 5,6 Y ; DESPLIEGA UN MENSAJE DE AVISO CUANDO TERMINA. (DEFUN C:L0() (COMMAND "LINE" "2,3" "5,6" C) (ALERT "Fin del trazo de la línea") ) En este ejemplo, tenemos unas líneas al inicio de nuestro programa con comentarios que serán ignorados por AUTOCAD al momento de ejecutar nuestro programa. Capacitación Página 16

17 Para cargarlo desde AUTOCAD, en la línea de comandos se escribe: (LOAD "L0"), y luego cada vez que se escriba en AUTOCAD L0, se ejecuta este programa que traza una línea y luego despliega una ventana con el mensaje: Fin del trazo de la línea PROMPT : ( PROMPT "MENSAJE ) También despliega mensajes, pero no en una ventana como el ALERT, sino como líneas de texto que aparecen en el área de comandos de AUTOCAD al ejecutarse nuestro programa, se le puede incluir la variante \n que sirve para dejar una línea de separación entre cada mensaje que se despliega. Como ejemplo se puede modificar el ejemplo anterior, de la siguiente forma: ; CURSO DE AUTOLISP ; ; ESTE PROGRAMA DIBUJA UNA LINEA DE LOS PUNTOS 2,3 A 5,6 Y ; DESPLIEGA UN MENSAJE DE AVISO CUANDO INICIA Y CUANDO TERMINA. (DEFUN C:L0() (PROMPT "\n DIBUJO DE 1 LINEA" ) (COMMAND "LINE" "2,3" "5,6" C) (ALERT "Fin del trazo de la línea") (PROMPT "\n FIN DEL PROGRAMA" ) ) En este ejemplo se escribe un mensaje al inicio y al final de nuestro programa, además del trazo de una línea. Capacitación Página 17

18 FUNCIONES EN AUTOLISP FUNCIONES DE ENTRADA DE DATOS Son instrucciones que nos permiten pedir información para poderla almacenar posteriormente en alguna variable. Dicha validación se hará siempre empleando la instrucción SETQ vista anteriormente, donde se escribe en nuestra línea de programa primero SETQ y el nombre de la variable deseada, luego la debida instrucción de entrada de datos con algún comentario entre comillas, que es el que aparecerá como mensaje en la línea de comandos de AUTOCAD. La importancia de todas estas instrucciones consiste en que son la manera en que se puede introducir información por el usuario una vez que se esta ejecutando algún programa de AUTOLISP, para ser almacenada en alguna variable. De acuerdo al tipo de información que se necesite, es la instrucción que se empleará, pudiendo ser alguna de las siguientes: GETANGLE: (GETANGLE "Dame dos puntos") Instrucción que nos ayuda a obtener el ángulo descrito por 2 puntos, es decir, la pendiente en radianes que describen esos 2 puntos seleccionados por el usuario. Dicho ángulo es medido en forma relativa, ya que se ve afectado por los valores de las variables ANGBASE y ANGDIR. GETORIENT: (GETANGLE "Dame dos puntos") Funciona igual que GETANGLE, pero con la diferencia que el ángulo que mide es en forma absoluta, es decir, tomando como referencia el eje positivo horizontal (X+). Ejemplo: (SETQ ANGULO (GETORIENT "Selecciona dos puntos ")) En este ejemplo, en la variable ÁNGULO se está guardando el valor en radianes ángulo de inclinación que describen 2 puntos seleccionados por el usuario. del La utilidad de GETANGLE y GETORIENT consiste en poder obtener la pendiente o ángulo de inclinación de alguna línea perteneciente a una entidad de dibujo, a partir de la simple selección de sus vértices. GETDIST: (GETDIST "DAME UNA DISTANCIA") Es una instrucción que permite asignarle a una variable el valor real de una distancia entre dos puntos, de tal forma que la computadora le pregunte al usuario dos puntos a tomar como referencia para calcular la distancia entre ellos, pudiendo ser éstos los vértices de alguna entidad de dibujo. Ejemplo: (SETQ X (GETDIST "Selecciona dos puntos ")) Capacitación Página 18

19 Aquí lo que se está haciendo es que la computadora solicite al usuario dos puntos o coordenadas, mediante la aparición de un texto en pantalla, que es el que se encuentra entre comillas, posteriormente calcula la distancia entre ellos y lo almacena en la variable X. GETPOINT : (GETPOINT "Dame un punto") Nos permite almacenar en una variable las coordenadas de un punto o coordenada. P.ej: (SETQ X (GETPOINT "Selecciona un punto")) En este ejemplo, la máquina le pide al usuario un punto, el cual se almacena en la variable X. GETREAL : (GETREAL "Número") Con esta instrucción, se almacena en una variable el valor de un número real, siempre con entero, punto decimal y sus correspondientes decimales. Ejemplo: (SETQ X (GETREAL "Dame un número")) En caso de que el usuario teclee un número entero, AUTOLISP se encargará de asignarle ceros como decimales. Por otro lado, si se trata de un dato con muchas decimales, AUTOLISP redondeará siempre a 6 decimales. GETINT : (GETINT "LETRERO DE TEXTO") Instrucción que nos permite preguntar un dato (valor numérico), pero con la característica de que siempre éste debe de ser entero, almacenando dicho valor en alguna variable. Se usa igual que GETREAL, pero con la diferencia de que aquí el valor almacenado es entero, mandando AUTOLISP un mensaje de error cuando dicho valor no es entero. La utilidad de este comando consiste en tener que usar una función que sólo nos tome el valor entero de un número, sin necesidad de hacer la conversión. SSGET: (SETQ VARIABLE (SSGET)) Es una instrucción que nos permite almacenar en una variable una entidad de dibujo de AUTOCAD, o a un grupo de ellas cuando se identifican a manera de bloque. A diferencia de las demás instrucciones de entrada de datos, ésta no puede llevar un texto dentro de comillas, sino que al dar SSGET y el nombre de una variable, automáticamente guarda en una variable la entidad seleccionada. Para efectos de comentarios o textos en combinación con este comando, se acostumbra usar el comando PROMPT para enviar textos hacia la línea de comandos de AUTOCAD. Capacitación Página 19

20 GETVAR : (GETVAR "VARIABLE") Con esta instrucción se puede obtener algún valor de alguno de los parámetros pertenecientes al comando SETVAR de AUTOCAD, para posteriormente ser almacenado en alguna variable dentro de AUTOLISP. Ejemplo: (SETQ F (GETVAR "PDMODE")) En este ejemplo, en la variable F se está almacenando el valor que en ese momento tenga la variable PDMODE del SETVAR de AUTOCAD. Hay que recordar que dentro del SETVAR, PDMODE define el estilo (tipo) de simbologías para dibujar puntos en alguna coordenada. Si PDMODE en ese instante tenía como valor 34 (correspondiente a un punto formado por un círculo, una línea vertical y otra horizontal), entonces F tomará el valor de 34. Para la utilización de GETVAR, resulta indispensable el conocimiento completo de todas las variables que maneja AUTOCAD dentro del SETVAR, así como sus aplicaciones para fines de dibujo. La principal utilidad de GETVAR, consiste en poder manejar desde AUTOLISP los valores que contenga SETVAR, hay que tomar en cuenta que para poder modificar desde AUTOLISP los valores del SETVAR, no es posible hacerlo con GETVAR, ya que su utilidad es la entrada y no la salida de información. Si se deseara modificar alguno de los parámetros del SETVAR, se puede hacer con la instrucción COMMAND, utilizando la sintaxis adecuada. GETSTRING: (GETSTRING "TEXTO") Es una instrucción que almacena en una variable una información de tipo alfanumérico, es decir, de carácter de texto. Existiendo la limitante de 132 caracteres para ser almacenados, si se excede este límite, sólo se almacenarán los primeros 132. Su utilidad principal es en la elaboración de menús, donde con opciones se puede seleccionar alguna, en combinación con IF. Ejemplo: (SETQ NOMBRE (GETSTRING "\n Cual es tu nombre ")) En la variable NOMBRE se almacena el valor en texto que se elija por el usuario. Si se almacena VICTOR, cuando se requiera emplear el valor de esa variable, la computadora nos devuelve "VICTOR" EN GENERAL: Cuando se especifique un tipo de dato a almacenar en una variable y el usuario proporcione otro, AUTOLISP mandará un mensaje de error con el que le avisa al usuario. Un caso común es el querer almacenar un texto en una variable empleando GETREAL, querer almacenar un número fraccional empleando GETINT, etc. Capacitación Página 20

21 FUNCIONES MATEMÁTICAS Son las que se emplean al realizar operaciones sencillas, se pueden citar: (+ NUMERO1 NUMERO2) Para la suma de 2 números (- NUMERO1 NUMERO2) Para restarle el número2 al valor del número1 (* NUMERO1 NUMERO2) Para multiplicar 2 números (/ NUMERO1 NUMERO2) Para dividir el Número1 entre el número2 Hay que notar que para cada una de las 4 funciones anteriores se pueden usar mas de 2 números dentro de los paréntesis, para realizar la operación deseada, algunos ejemplos son: ( ) Lo cual devuelve el valor de 10 hacia la variable en la cual el usuario decida almacenar dicho resultado. ( ) Lo cual nos da la siguiente operación: (50-40) - 2.5, resultando 7.5 como valor devuelto por AUTOLISP. (* 2 3 4) Realiza la multiplicación de estos 3 números, resultando 24 como valor devuelto por AUTOLISP. (/ ) Da como resultado 2, ya que siendo enteros todos los números, AUTOLISP a su vez devuelve un resultado entero. Para obtener el resultado deseado de 2.5, la línea de programa sería: (/ ), hay que tomar en cuenta esto para las demás funciones. En caso de que sólo se escriba un sólo número, lo devolverá como resultado para cualquiera de estas funciones, Ejemplo: (+ 2) Devuelve el valor de 2 (- 8) Nos da como resultado -8 (* 3) Devuelve 3 (/ 4) Devuelve 4 AUTOLISP también maneja el número , reconociéndolo como pi, de tal forma que se puede usar como constante dentro de AUTOLISP. Ejemplo: (SETQ W (* pi 2)) Almacena en la variable W, el resultado de multiplicar a pi por dos = Capacitación Página 21

22 FUNCIONES BÁSICAS A) Referentes al lugar que ocupan los datos en una lista CAR: Es una instrucción que sirve para analizar el primer valor de una lista, es decir, siempre nos devuelve este valor. Ejemplo: (SETQ P (GETPOINT "DAME UN PUNTO")) (SETQ X (CAR P)) En este caso, cuando se ejecuten dentro de algún programa estas 2 líneas, primero se almacena en la variable P una lista de 3 valores que representa las coordenadas de un punto, posteriormente en la variable X se guardar el valor de la coordenada X de ese punto. CDR: Funciona igual que CAR, pero con la diferencia que esta instrucción nos devuelve todos los valores de una lista, exceptuando al primero. Ejemplo: Si a las líneas de nuestro ejemplo anterior, agregamos una más: (SETQ Y (CAR (CDR P))) En la variable Y almacenaremos la coordenada en Y de nuestro punto, ya que CDR nos devolverá los 2 últimos valores de nuestra lista, correspondientes a las coordenadas Y, Z y con CAR tomaríamos el primero de esos 2 valores. LAST: Esta instrucción nos devuelve el último valor de una lista. En nuestro ejemplo anterior, si escribimos una línea de programa así: (SETQ Z (LAST P)) En la variable Z almacenaremos el último valor de los elementos contenidos en la lista P, que en este caso corresponde al valor de nuestro punto en la coordenada Z. B) Referentes a las características de una lista LENGTH : Es una instrucción que nos ayuda a conocer la extensión de una lista de datos, es decir, el número de datos que contiene dicha lista. Ejemplo: En nuestro ejemplo anterior, tenemos 3 datos que se almacenan en la variable P, de tal forma que: (SETQ L (LENGTH P)) La variable P tomará el valor de 3. Capacitación Página 22

23 FUNCIONES ARITMÉTICAS Estas funciones se complementan con las anteriormente descritas, tales como la suma, resta, multiplicación y división. Para utilizarse hay que seguir los criterios de uso de paréntesis como en cualquier otro lenguaje de programación en el que se usen funciones de este tipo. Es importante señalar que para todas estas instrucciones en las que se emplean listas, dichas listas deben ser por completo formadas por números o variables con contenido numérico, ya que no es posible emplear variables con contenido alfanumérico para realizar este tipo de operaciones. De manera semejante con aquellas que sólo usan una variable. El usuario comprende que por ejemplo, no es posible sumar dos variables: X + Y, si X = "PERRO" y Y = "GATO", necesariamente tienen que ser números reales. No hay que olvidar, que al realizar alguna operación o función de tipo matemático, dicho resultado se debe de almacenar en alguna otra variable, empleando SETQ. Se pueden listar las siguientes funciones: ABS : (ABS n) Función que como en otros lenguajes, muestra el valor absoluto de un número, por ejemplo: (SETQ X (ABS Y)) Aquí lo que se está haciendo es almacenar en la variable X el valor absoluto de Y, otro ejemplo puede ser el siguiente: (SETQ X (ABS )) En este ejemplo se está almacenando en X el número , puesto que el valor absoluto siempre es positivo. EXP : (EXP n) Con esta instrucción se obtiene el número de Euler = elevado a una potencia "n" determinada, de tal forma que nos ayuda a obtener el antilogaritmo natural de un número. Ejemplos: (EXP 1.0), nos devuelve el valor de (EXP -0.4), nos devuelve el valor de Dichos valores no se almacenarán en alguna variable deseada, si no se usa la instrucción SETQ. Capacitación Página 23

24 EXPT : (EXPT n p) Esta instrucción puede elevar un número "n" a una potencia "p", Ejemplos: (SETQ X (EXPT 3 2)) Se almacena en X el valor de 3*3 = 9 GCD : (GCD a b c) Es una instrucción que busca entre varios números (a, b, c,..,n) su máximo común denominador, Ejemplos: (GCD 12 20) Nos devuelve 4, que es el máximo número que a la vez puede dividir al 12 y al 20 obteniéndose un cociente entero. (GCD X Y Z) Nos devuelve el máximo común denominador de los números almacenados en las variables X, Y Z. LOG: (LOG n) Es una función que nos sirve para calcular el logaritmo natural de un número real, es decir, usando al número de Euler como base, ejemplos: (LOG 4.5) Nos devuelve: (LOG 1.22) (LOG X) Nos devuelve: Calcula y nos devuelve el Ln(x) Hay que tener cuidado de no usar números negativos para el cálculo de logaritmos, ya sea cuando se usan variables o simplemente los números en las instrucciones de programa, por que como ya todos sabemos, no es posible calcular logaritmos de números negativos y la computadora nos manda algún mensaje de error. MAX: (MAX A B C...) Nos ayuda a obtener en una lista a el número que es mayor de todos los demás (A, B, C,...)., Ejemplos: (MAX ) Nos devuelve: 4.07 (MAX ) Nos devuelve: 8 Capacitación Página 24

25 MIN: (MIN A B C...) Se usa igual que MAX, pero esta instrucción nos devolverá de una lista, a aquel valor que es menor a todos los demás, Ejemplo: (MIN ) Nos devuelve: -10 REM: (REM X Y) Esta función sirve para obtener el residuo de dos números, de tal forma que nos devuelve el resto de la división de X entre Y. Ejemplos: (SETQ RESIDUO (REM 42 12)) Almacena en la variable RESIDUO, el número 6, que es el residuo de dividir 42 / 12. SQRT: (SQRT X) Función que calcula la raíz cuadrada positiva de un número real POSITIVO, ya que en el AUTOLISP, no se usan los números de tipo complejo. Ejemplo: (SQRT 4) Nos devuelve: + 2 Como ya es sabido, la raíz cuadrada de 4 puede ser +2 y además -2, ya que al elevarlos al cuadrado, ambas opciones nos dan 4. En AUTOLISP, la computadora siempre nos da el valor positivo de una raíz cuadrada. FUNCIONES TRIGONOMÉTRICAS Hay que considerar, que siempre que se utilicen estas funciones, la computadora realiza los cálculos en radianes, si se desea obtener o proporcionar a AUTOLISP un valor en grados, hay que hacer las conversiones necesarias, considerando que 2PIradianes = 360 grados. ATAN: (ATAN X) Nos devuelve en radianes el valor del arco cuya tangente es un número, es decir: calcula en radianes el valor del ángulo cuya tangente es el valor que estamos dando, Ejemplo: (ATAN 0.5) Nos devuelve: Capacitación Página 25

26 COS: (COS X) Calcula el coseno de un número en radianes, su sintaxis es igual a la de ATAN. Ejemplo: (SETQ X (COS pi)) radianes de Almacena en "X" el número -1.0, que es el coseno en SIN: (SIN X) Calcula la función seno de un número Ejemplo: (SIN 0) Devuelve: Cero AUTOLISP no cuenta con una instrucción para calcular la función TANGENTE, pero es posible calcularla mediante la siguiente identidad trigonométrica: TAN (X) = SIN (X) / COS (X) El usuario puede programar una pequeña rutina que calcule la TANGENTE de cualquier número en radianes. FUNCIONES DE TIPO RELACIONAL Y CONDICIONAL Por lo general se emplean en combinación con funciones lógicas de tipo IF... THEN, en donde si se cumple la condición se ejecuta lo incluido dentro del siguiente par de paréntesis, de lo contrario se ejecuta lo incluido en la segunda pareja de paréntesis. IF: (IF CONDICION VERDERO FALSO) Para el caso de argumentos más extensos, se sigue la siguiente lógica: (IF (CONDICIONES) (VERDADERO) (FALSO) ) Donde las CONDICIONES pueden ser algunas de las siguientes: (= NUMERO1 NUMERO2) Sirve para saber cuando 2 o más argumentos sean iguales, Ejemplo: (= ) La máquina devuelve "T" (true), siendo verdadero el algoritmo (= ) Nos devuelve "Nil", siendo falso el argumento. Capacitación Página 26

27 Otra muy parecida, se emplea para comparar los contenidos de listas: (EQUAL LISTA1 LISTA2) Donde LISTA1 y LISTA2 son variables que contienen varios elementos, es decir, una lista Análogamente, se sigue el mismo criterio de falso y verdadero como respuestas para los siguientes: (< NUMERO1 NUMERO2) y (<= NUMERO1 NUMERO2) (> NUMERO1 NUMERO2) y (>= NUMERO1 NUMERO2) (/= NUMERO1 NUMERO2) Para el caso en el que se quiera que sea verdadero cuando 2 números son diferentes. FUNCIONES DE TIPO LÓGICO (AND, OR) Se emplean en combinación con las anteriores y de tipo IF..THEN..ELSE AND: Compara 2 o más expresiones, devolviendo verdadero solamente cuando todas las funciones se cumplan. (AND EXPRESION1 EXPRESION2...) OR: Compara 2 o más expresiones, devolviendo verdadero cuando por lo menos alguna de las funciones se cumpla. Se pueden realizar combinaciones de estas 2 para atender a las necesidades del usuario, algunos ejemplos son: (IF (AND (< 2 3) (> 5 4) (= ) (>= 2.1 2)) (SETQ A "HOLA") (SETQ A " ") ) En este ejemplo, como se puede ver, se cumplen simultáneamente todas las condiciones, por lo que la variable "A" tomará el valor de HOLA, en caso de que así no fuece, tomará el valor de 4 caracteres en blanco. Se puede aplicar a variables: (IF (AND (= A B) (< C D)) (SETQ E 5) ) Capacitación Página 27

28 Si se da en forma simultánea en el programa que A sea igual a B, y que C sea menor a D, entonces la variable E valdrá 5, de lo contrario nada se ejecutará por no haber una instrucción a cumplir para la condición de falso, y de seguir con el resto del programa. (IF (OR (= A B) (< C D)) (SETQ E 5) ) Aquí, la variable E valdrá 5 si se cumple alguna de cualquiera de las 2 condiciones, o las 2 en forma simultanea. (IF (OR (AND (= A B )) (AND (= C D ))) (SETQ E 5) ) En este último ejemplo E tomará el valor de 5 si se cumple alguna de las 2 condiciones de que forzosamente A sea igual a B o que C sea igual a D. Hay que notar la forma en que se realizan los arreglos de parejas de paréntesis, para evitar en lo posible errores de sintaxis que sean laboriosos de localizar en algoritmos más complejos. FUNCIONES DE CADENA STRCASE: (STRCASE CADENA ARGUMENTO) Es una función que convierte los elementos de una cadena en mayúsculas o minúsculas, dependiendo del contenido del argumento. Si el argumento se omite o vale NIL, los caracteres de nuestra cadena serán convertidos en mayúsculas. Si el argumento existe o tiene un valor diferente de NIL, los elementos de nuestra cadena serán convertidos en minúsculas. Ejemplos: (strcase "Sample") (strcase "Sample" T) Nos devuelve "SAMPLE" Nos devuelve "sample" STRCAT: (STRCAT CADENA1 CADENA2) Es una instrucción que nos permite unir dos cadenas de texto en una sola. Ejemplos: (STRCAT "A" "BOUT") (STRCAT "A" "B" "C") Nos devuelve "ABOUT" Nos devuelve "ABC" Capacitación Página 28

29 STRLEN: (STRLEN TEXTOS...) Es una instrucción que nos sirve para contar el número de elementos que tiene una cadena o varias de ellas. Ejemplos: (STRLEN "ABCD") Nos devuelve el número cuatro. (STRLEN "ABCD" "efgh") Nos devuelve el número ocho. SSLENGTH: (SSLENGTH SS) Es una instrucción que nos ayuda a contar el número de entidades o elementos de dibujo que se encuentran contenidos en el set de selección. Ejemplo: (SETQ SSET (SSGET "L")) Almacena en la variable SSET el valor del número de elementos de dibujo seleccionados en la última selección hecha con el comando SSGET. FUNCIONES DE CONVERSIÓN ASCII (ASCII CADENA) Esta instrucción convierte el primer carácter de una cadena en su equivalente numérico del código ASCII. Ejemplos: (ASCII "A") Nos devuelve el número 65 (ASCII "BIG") Nos devuelve el número 66 ATOF (ATOF TEXTO) Es una instrucción que convierte un número con formato de texto en un número real. Es decir, nos permite convertir una cadena de un solo texto numérico en valor real. Ejemplos: (ATOF "97.1") Nos devuelve 97.1 (ATOF "3") Nos devuelve 3.0 ATOI (ATOI TEXTO) Trabaja de igual forma que ATOF, pero ahora la conversión se hace hacia un número entero. Ejemplos: (ATOI "97.1") Nos devuelve 97 (ATOI "3") Nos devuelve 3 Capacitación Página 29

30 CHR (CHR NUMERO) Es una instrucción que trabaja en forma opuesta a ASCII, es decir: convierte un número entero en su correspondiente símbolo del código Ejemplo : (CHR 65) (CHR 66) Nos devuelve la letra "A" Nos devuelve la letra "B" FIX (FIX NUMERO) Convierte un número real en uno entero, sin aproximar sus decimales; es decir: sólo toma la parte entera de un número real. Ejemplos: (FIX 3) Nos devuelve 3 (FIX 3.7) Nos devuelve 3 FLOAT (FLOAT NUMERO) Trabaja en forma contraria a FIX, convierte de un número entero a uno real. Ejemplos: (FLOAT 3) Nos devuelve 3.0 (FLOAT 3.75) Nos devuelve 3.75 ITOA Trabaja en forma contraria a ATOI, este comando convierte un número entero, en un texto (cadena). Ejemplos: (ITOA 33) Nos devuelve "33" (ITOA -17) Nos devuelve "-17" RTOS (RTOS NUMERO FORMATO DECIMALES) Es un comando que permite el manejo con números en cinco formatos diferentes: científico, decimal, ingenieril (pies con decimales), arquitectónico (pies con fracciones), fraccional; presentándolos con un determinado número de decimales. Es indispensable recordar que un pie equivale a 12 pulgadas. Un ejemplo es el siguiente: ; PROGRAMA valores de las variables (SETQ X 17.5) (SETQ A (RTOS X 1 4)) A = E+01 (SETQ B (RTOS X 2 2)) B = (SETQ C (RTOS X 3 2)) C = 1'-5.50" (SETQ D (RTOS X 4 2)) D = 1'-5 1/2" (SETQ E (RTOS X 5 2)) E = 17 1/2 Capacitación Página 30

31 FUNCIONES DE ENTRADA Y SALIDA Se trata de instrucciones que nos ayudan a leer o escribir información de un archivo con formato de sólo texto. Nos ayudan a recibir o enviar información fuera de nuestro programa de AUTOLISP y del AUTOCAD. OPEN Permite abrir un archivo de sólo texto, en las siguientes variantes: En modo de solo lectura (OPEN "ARCHIVO.TXT" "r") En modo de solo escritura, si el archivo no existe, es creado al momento de ejecutar este comando, y siempre sobrescribe el contenido del archivo con la nueva información. (OPEN "ARCHIVO.TXT" "w") En un modo que nos permite escribir en un archivo sin eliminar su contenido actual y sin sobrescribirlo por completo, es decir: agregándolo al final del mismo. (OPEN "ARCHIVO.TXT" "a ) Aquí la limitante es usar archivos de solo texto creados con COPY CON desde DOS, ya que AUTOLISP no reconocería las marcas CONTROL+Z al final de dichos archivos y tendría algunos problemas. CLOSE (CLOSE ARCHIVO) Cierra un archivo previamente abierto con OPEN, se utiliza el CLOSE una vez que ya no se requiere usar dicho archivo. Ejemplo : (CLOSE "X.TXT") (CLOSE X) Cierra el archivo X.TXT Cierra el archivo cuyo nombre esta contenido en la variable X. FINDFILE (FINDFILE ARCHIVO) Funciona de manera semejante al DIR /S de DOS, ya que nos sirve para buscar algún archivo e indicar en qué parte se encuentra dentro de AUTOCAD, es decir, nos devuelve el PATH de dicho archivo solamente, sin indicar sus datos (bytes, fecha, etc...). Este comando está limitado a buscar dentro de los directorios de AUTOCAD. Ejemplo: (FINDFILE "ACAD.EXE") Nos devolverá: "/acad/acad.exe", Suponiendo que en nuestra PC tengamos instalado AUTOCAD en el subdirectorio ACAD. Capacitación Página 31

32 LOAD (LOAD"PROGRAMA.LSP") Esta instrucción ya la habíamos definido previamente, ya que es la que se usa para cargar en memoria los programas hechos en AUTOLISP. READ (READ CADENA) Es un comando que muestra siempre la primera lista o tomo de una cadena, Ejemplos: (READ "HELLO THERE") Nos devuelve HELLO (READ "(A B C) (D)") Nos devuelve la lista (A B C) (READ "(A B C)") Nos devuelve la lista (A B C) READ-LINE (READ-LINE ARCHIVO) Esta instrucción funciona de manera semejante a READ, pero con la diferencia que en este caso lee una línea completa de un archivo de sólo texto abierto previamente (con OPEN), es decir, nos devuelve una línea de nuestro archivo por cada vez que se usa dentro del mismo programa, ya que al reinicializar nuestro programa, READ-LINE nos devolverá de nuevo la primera línea de nuestro archivo, luego la segunda, etc.. Ejemplo: (SETQ TEXTO (READ-LINE ARCH)) Aquí, se almacena en la variable TEXTO la primera línea del archivo cuyo nombre está almacenado en la variable ARCH. Si se ejecutara por segunda vez dentro de nuestro programa, nos devolvería la segunda línea y así sucesivamente hasta llegar al final del archivo. En la parte de prácticas de este curso, se encuentran algunas aplicaciones de este comando. WRITE-LINE (WRITE-LINE ARCHIVO) Es una instrucción que funciona de manera contraria a READ-LINE, ya que WRITE-LINE permite escribir sobre de un archivo de texto abierto previamente (con OPEN) Ejemplo: (WRITE-LINE "HOLA" ARCH) Escribir la palabra HOLA en el archivo de texto abierto previamente, cuyo nombre esta almacenado en la variable ARCH. Ejemplo: (WRITE-LINE X ARCH) Escribir el contenido de la variable X en el archivo de texto previamente abierto, cuyo nombre se encuentra en la variable ARCH. Capacitación Página 32

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo: Cuestionario Modulo 1.1 GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo: 1001 0110. 2. qué es Dato? Definición: Es toda

Más detalles

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION DIIAGRAMAS DE FLUJO Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

Programación Declarativa. Ingeniería Informática Cuarto curso. Primer cuatrimestre. Escuela Politécnica Superior de Córdoba Universidad de Córdoba

Programación Declarativa. Ingeniería Informática Cuarto curso. Primer cuatrimestre. Escuela Politécnica Superior de Córdoba Universidad de Córdoba Programación Declarativa Ingeniería Informática Cuarto curso. Primer cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2016 2017 Práctica número 1.- Introducción

Más detalles

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Cualquier duda sobre el contenido de este tema se puede enviar al foro TEORIA2. 2.1.- El tipo de datos entero (byte,

Más detalles

PROGRAMACION PARAMETRICA LENGUAJE DE ALTO NIVEL. MILTRONICS CNC MACHINES Control Centurion 7. Ing. Roberto Spicacci

PROGRAMACION PARAMETRICA LENGUAJE DE ALTO NIVEL. MILTRONICS CNC MACHINES Control Centurion 7. Ing. Roberto Spicacci PROGRAMACION PARAMETRICA LENGUAJE DE ALTO NIVEL MILTRONICS CNC MACHINES Control Centurion 7 Ing. Roberto Spicacci GENERALIDADES En la programación paramétrica se pueden utilizar ECUACIONES para definir

Más detalles

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS A.- ASPECTOS FUNDAMENTALES DEL CÓDIGO ORIENTADO A OBJETOS MÓDULOS DE CÓDIGO: El código en Visual Basic se almacena en módulos. Hay tres tipos de módulos: de formulario,

Más detalles

DIAGRAMAS DE FLUJO ELEMENTOS E INSTRUCCIONES A USAR EN UN DIAGRAMA DE FLUJO

DIAGRAMAS DE FLUJO ELEMENTOS E INSTRUCCIONES A USAR EN UN DIAGRAMA DE FLUJO DIAGRAMAS DE LUJO Un Diagrama de lujo es la representación gráfica de los pasos a seguir para lograr un objetivo, que habitualmente es la solución de un problema. Por Logical se entiende, en algunos libros,

Más detalles

Conocimientos previos

Conocimientos previos Ficha de aprendizaje Tema: Datos, variables y Operaciones n 6 Logro Reconoce las partes de un programa y comprende su estructura. Reconoce la diferencia entre los tipos de datos. Asigna datos a las variables

Más detalles

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,

Más detalles

Lenguajes de Inteligencia Artificial Segundo curso. Primer cuatrimestre

Lenguajes de Inteligencia Artificial Segundo curso. Primer cuatrimestre Lenguajes de Inteligencia Artificial Segundo curso. Primer cuatrimestre Ingeniería Técnica en Informática de Gestión Ingeniería Técnica en Informática de Sistemas Escuela Politécnica Superior Universidad

Más detalles

El programa en JavaScript debe ir encerrado entre la marca script e inicializada la propiedad type con la cadena text/javascript:

El programa en JavaScript debe ir encerrado entre la marca script e inicializada la propiedad type con la cadena text/javascript: Javascript Qué es JavaScript? Es un lenguaje de scripting (Código interno en las páginas HTML) necesario para los elaboradores de sitios Web, mediante el cual se puede hacer que las páginas sean activas

Más detalles

Herramientas computacionales para la matemática MATLAB: Cómo guardar el trabajo?

Herramientas computacionales para la matemática MATLAB: Cómo guardar el trabajo? Herramientas computacionales para la matemática MATLAB: Cómo guardar el trabajo? Verónica Borja Macías Marzo 2013 1 Cómo guardar el trabajo? Trabajar en la ventana de comandos es similar a realizar cálculos

Más detalles

Operaciones básicas con hojas de cálculo

Operaciones básicas con hojas de cálculo Operaciones básicas con hojas de cálculo Insertar hojas de cálculo. Para insertar rápidamente una hoja de cálculo nueva al final de las hojas de cálculo existentes, haga clic en la ficha Insertar hoja

Más detalles

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Apunte Laboratorio ALPI - El lenguaje de programación Pascal Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................

Más detalles

Autoestudio 2: Variables y Operadores

Autoestudio 2: Variables y Operadores Autoestudio 2: Variables y es Componentes de un programa Cuando escribimos en un lenguaje de programación tenemos que entender la sintaxis del lenguaje. A continuación empezaremos con la sintaxis básica

Más detalles

Computación Aplicada. Universidad de Las Américas. Aula virtual de Computación Aplicada. Módulo de Excel 2013 LIBRO 6

Computación Aplicada. Universidad de Las Américas. Aula virtual de Computación Aplicada. Módulo de Excel 2013 LIBRO 6 Computación Aplicada Universidad de Las Américas Aula virtual de Computación Aplicada Módulo de Excel 2013 LIBRO 6 Contenido FORMA DE HACER CÁLCULOS... 3 QUÉ SON LAS FÓRMULAS Y QUÉ LAS FUNCIONES?... 4

Más detalles

PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS

PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS CONTENIDOS PROPIEDADES DE LOS CAMPOS TAMAÑO DEL CAMPO FORMATO DEL CAMPO LUGARES DECIMALES MÁSCARA DE ENTRADA TÍTULO

Más detalles

Programación en java. Estructuras algorítmicas

Programación en java. Estructuras algorítmicas Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica

Más detalles

Vamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo

Vamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo Tipos de datos. Vamos a profundizar un poco sobre los distintos tipos de datos que podemos introducir en las celdas de una hoja de cálculo Valores Constantes: Es un dato que se introduce directamente en

Más detalles

5. ESTRUCTURAS DE REPETICIÓN

5. ESTRUCTURAS DE REPETICIÓN 5. ESTRUCTURAS DE REPETICIÓN Las estructuras de repetición, permiten la ejecución de una lista o secuencia de instrucciones () en varias ocasiones. El número de veces que el bloque

Más detalles

III. Generación de Código orientado a objetos

III. Generación de Código orientado a objetos III. Generación de Código orientado a objetos UNIDAD III Aspectos fundamentales Del código orientado a objetos. MÓDULOS DE CÓDIGO 1 DE FORMULARIO Almacenan el código en VB 2 ESTÁNDAR 3 DE CLASE Contiene

Más detalles

Introducción al MATLAB

Introducción al MATLAB Introducción al MATLAB Dr. Luis Javier Morales Mendoza FIEC Universidad Veracruzana Poza Rica - Tuxpan Índice 1. Introducción al Matlab 2. Operaciones Aritméticas 3. Vectores y Matrices 4. Funciones Matemáticas

Más detalles

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Universidad Rafael Urdaneta Escuela de Ingeniería de Computación Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Asignación

Más detalles

2.2 CREAR TABLAS Y GRÁFICOS.

2.2 CREAR TABLAS Y GRÁFICOS. 2.2 CREAR TABLAS Y GRÁFICOS. INSERTAR UNA TABLA Y DARLE FORMATO La forma más habitual de comenzar a trabajar con tablas es a través de la ficha Insertar, tabla. A continuación Word le ofrece las siguientes

Más detalles

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1 TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1- Cuáles son las principales funciones de un sistema operativo? Los Sistemas Operativos tienen como objetivos o funciones principales lo siguiente; Comodidad;

Más detalles

INGENIERÍA TELEINFORMÁTICA

INGENIERÍA TELEINFORMÁTICA INGENIERÍA TELEINFORMÁTICA Expresión Gráfica y CAD Básico Sesión 03 Comandos Básicos y Sistemas de Coordenadas Docente: Ing. María Nícida Malca Quispe AGENDA Procedimientos para Invocar Comandos Usando

Más detalles

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS

INSTITUTO POLITECNICO NACIONAL UNIDAD PROFESIONAL INTERDISCIPLINARIA DE BIOTECNOLOGIA DEPARTAMENTO DE CIENCIAS BASICAS MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.4 NOMBRE DE LA PRÁCTICA Operaciones con Escalares y Conceptos Básicos de Programación 4.1 OBJETIVO GENERAL El alumno conocerá el funcionamiento

Más detalles

Universidad Autónoma del Estado de México Facultad de Medicina

Universidad Autónoma del Estado de México Facultad de Medicina Universidad Autónoma del Estado de México Facultad de Medicina Licenciatura en Bioingeniería Médica Unidad de Aprendizaje: Algoritmos y programación básica Unidad 3: Estructuras de control de flujo en

Más detalles

INGENIERÍA TELEINFORMÁTICA

INGENIERÍA TELEINFORMÁTICA INGENIERÍA TELEINFORMÁTICA Expresión Gráfica y CAD Básico Sesión 03-04 Comandos Básicos y Sistemas de Coordenadas Docente: Ing. María Nícida Malca Quispe AGENDA Procedimientos para Invocar Comandos Usando

Más detalles

2. Editor de Fórmulas Léxico...5

2. Editor de Fórmulas Léxico...5 Manual de Fórmulas Sumario 1. Introducción... 2 1.1. Tipos de Conceptos a incluir en la fórmula...2 2. Editor de Fórmulas...4 2.1. Área de Datos de Aplicación...4 2.2. Área de Variables...4 2.3. Área de

Más detalles

JavaScript: Operadores

JavaScript: Operadores Las variables por sí solas son de poca utilidad. Hasta ahora, sólo se ha visto cómo crear variables de diferentes tipos y cómo mostrar su valor mediante la función alert(). Para hacer programas realmente

Más detalles

Operadores y Expresiones

Operadores y Expresiones Operadores y Expresiones Los programas Java constan de datos, sentencias de programas y expresiones. Una expresión es normalmente, una ecuación matemática, tal como 3 * x + 5 * z. En esta expresión, los

Más detalles

4.1 Conceptos Básicos de Matlab. Matlab es creado por The MathWorks, el cual es un idioma de alto rendimiento

4.1 Conceptos Básicos de Matlab. Matlab es creado por The MathWorks, el cual es un idioma de alto rendimiento MATLAB CAPÍTULO 4 Realización Activa en 4.1 Conceptos Básicos de es creado por The MathWorks, el cual es un idioma de alto rendimiento para la informática técnica. Integra cómputo, visualización, y programación

Más detalles

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales UNA / AREA TRANSDEPARTAMENTAL DE ARTES MULTIMEDIALES Licenciatura en Artes Multimediales Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales JavaScript Algoritmo

Más detalles

Tema: Entorno a C# y Estructuras Secuenciales.

Tema: Entorno a C# y Estructuras Secuenciales. Tema: Entorno a C# y Estructuras Secuenciales. Programación I, Guía 3 1 Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos Utilizar el entorno de programación

Más detalles

Fila: Es un conjunto de varias celdas dispuestas en sentido horizontal.

Fila: Es un conjunto de varias celdas dispuestas en sentido horizontal. Que Es Excel? Excel es un programa que permite la manipulación de libros y hojas de calculo. En Excel, un libro es el archivo en que se trabaja y donde se almacenan los datos. Como cada libro puede contener

Más detalles

Seminario 1. Excel Básico

Seminario 1. Excel Básico Seminario 1. Excel Básico Contenidos 1. Qué es Microsoft Excel? 2. Identificar celdas 3. La barra de herramientas de acceso rápido y la cinta de opciones 4. Abrir y guardar libros de trabajo 5. La ayuda

Más detalles

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de

Más detalles

Utilización de Funciones en OpenOffice.org Calc

Utilización de Funciones en OpenOffice.org Calc Utilización de Funciones en OpenOffice.org Calc Una función es un conjunto de instrucciones reunidas bajo un nombre que calculan un resultado o llevan a cabo una acción específica. Las funciones pueden

Más detalles

INDICE PARTE I AMBIENTE DE TRABAJO Instalación de Winplot 1.2. Conociendo Winplot Ambiente de trabajo. 1.4.

INDICE PARTE I AMBIENTE DE TRABAJO Instalación de Winplot 1.2. Conociendo Winplot Ambiente de trabajo. 1.4. INDICE PARTE I AMBIENTE DE TRABAJO 1.1. Instalación de Winplot 1.2. Conociendo Winplot. 1.3. Ambiente de trabajo. 1.4. Barra de menú PARTE II CONSTRUCCIÓN DE GRÁFICAS 2.1. Ubicación de una coordenada x,y

Más detalles

INTRODUCCIÓN a DERIVE 6. PANTALLA DE EXPRESIONES ALGEBRAICAS

INTRODUCCIÓN a DERIVE 6. PANTALLA DE EXPRESIONES ALGEBRAICAS INTRODUCCIÓN a DERIVE 6. Existen tres clases de pantallas: La pantalla de Álgebra (para expresiones algebraicas) y las pantallas gráficas que permiten representar gráficas en dos dimensiones (ventana 2D)

Más detalles

Práctica 1 de Excel (Curso )

Práctica 1 de Excel (Curso ) Práctica 1 de Excel (Curso 2009-2010) Definición: Excel es una aplicación del tipo hoja de cálculo, integrada en el entorno Windows y desarrollada por Microsoft, en la cual se combinan las capacidades

Más detalles

Métodos CON valor de retorno

Métodos CON valor de retorno Métodos Estáticos C# Fundamentos de Programación. Objetivos del tema: Qué es un método? Qué métodos conoces? Métodos que NO devuelven valor. Métodos que SI devuelven un valor. Paso de parámetros. Variables

Más detalles

Capítulo 9 Archivos de sintaxis

Capítulo 9 Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

PRESENTACIÓN DEL ALGORITMO

PRESENTACIÓN DEL ALGORITMO PRESENTACIÓN DEL ALGORITMO Puede ser en distintas formas, analizaremos cuatro: a) Descripción Narrada b) Pseudocódigo c) Diagramas de Flujo d) Diagramas N- S (Nassi-Schneiderman o de Chapin) Descripción

Más detalles

CALCULO GRADO EN INGEN. INFORM. DEL SOFTWARE PRACTICA 1. INTRODUCCIÓN A MATLAB

CALCULO GRADO EN INGEN. INFORM. DEL SOFTWARE PRACTICA 1. INTRODUCCIÓN A MATLAB CALCULO GRADO EN INGEN. INFORM. DEL SOFTWARE. 12-13 PRACTICA 1. INTRODUCCIÓN A MATLAB Qué es MATLAB? MATLAB es la abreviatura de MATrix LABoratory (laboratorio de matrices). Se trata de un software matemático

Más detalles

EVIDENCIA. CUESTIONARIO ALUMNO(A): GRUPO EVALUACIÓN

EVIDENCIA. CUESTIONARIO ALUMNO(A): GRUPO EVALUACIÓN RELACIONA AMBAS COLUMNAS: 1. Una celda puede contener caracteres 2. Dentro de la celda podemos insertar 3. Se alinean a la si los datos son tipo texto 4. Los separadores utilizados para expresar fechas

Más detalles

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.

Más detalles

Tema 2. Tipos predefinidos

Tema 2. Tipos predefinidos Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 2. Tipos predefinidos 2.1 Tipos simples predefinidos El tipo Bool El tipo Int El tipo Integer

Más detalles

Tema 3. Estructuras de Datos

Tema 3. Estructuras de Datos Tema 3! Estructuras de Datos Estructuras Simples, Doble, Anidada y Múltiple En este tema veremos las sentencias selectivas: IF (Si) IF - Then (Si - Entonces) IF - Then - Else ( Si - Entonces - Sino) Switch

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

Estructuras de Repetición

Estructuras de Repetición 1 Estructuras de Repetición 2013 Transversal de Programación Básica Proyecto Curricular de Ingeniería de Sistemas 2 Objetivos Aprender a construir grandes y complejos problemas a través de la ejecución

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Expresiones Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + (b + 3) / c Cada expresión toma un valor que

Más detalles

Unidad II: Análisis semántico

Unidad II: Análisis semántico Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico

Más detalles

Para ingresar a la aplicación Microsoft Access 97, los pasos que se deben seguir pueden ser los siguientes:

Para ingresar a la aplicación Microsoft Access 97, los pasos que se deben seguir pueden ser los siguientes: Descripción del ambiente de trabajo Entrar y salir de la aplicación Para ingresar a la aplicación Microsoft Access 97, los pasos que se deben seguir pueden ser los siguientes: A través del botón : 1. Seleccionar

Más detalles

Las operaciones aritméticas básicas en MATLAB son las más sencillas que se pueden

Las operaciones aritméticas básicas en MATLAB son las más sencillas que se pueden CAPÍTULO 5 TEMAS 5.1 Aritmética 5.1.1 Variables y Operaciones Básicas Las operaciones aritméticas básicas en MATLAB son las más sencillas que se pueden realizar en este programa. Si asignamos valores a

Más detalles

Shell Script Sistemas Operativos III - ITS EMT - CETP

Shell Script Sistemas Operativos III - ITS EMT - CETP Shell Script SHELL tiene dos formas distintas de ejecutar comandos : Archivos binarios Programas compilados y de los cuales existe un ejecutable archivos.exe ó.com en MS-DOS Archivos de texto Contienen

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Escriba un programa en ensamblador del MIPS 32 para calcular la suma de los 100 primeros números naturales. El programa

Más detalles

Programación en Lenguaje C

Programación en Lenguaje C Lenguaje de programación C Programación en Lenguaje C Introducción El Lenguaje de programación C fue implantado por primera vez en los años 70 por Dennis Ritchie para una computadora DEC PDP-11 corriendo

Más detalles

ADMINISTRACIÓN GENERAL DE TECNOLOGÍA DE LA INFORMACIÓN ADMINISTRACIÓN CENTRAL DE DESARROLLO Y MANTENIMIENTO DE APLICACIONES

ADMINISTRACIÓN GENERAL DE TECNOLOGÍA DE LA INFORMACIÓN ADMINISTRACIÓN CENTRAL DE DESARROLLO Y MANTENIMIENTO DE APLICACIONES ADMINISTRACIÓN GENERAL DE TECNOLOGÍA DE LA INFORMACIÓN ADMINISTRACIÓN CENTRAL DE DESARROLLO Y MANTENIMIENTO DE APLICACIONES SISTEMA DE AUTOMATIZACIÓN ADUANERA INTEGRAL (S. A. A. I.) PROTOCOLOS DE COMUNICACIÓN

Más detalles

Tema: Estructuras de Selección en C#.

Tema: Estructuras de Selección en C#. Programación I, Guía 4 1 Tema: Estructuras de Selección en C#. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación I Objetivos Utilizar las instrucciones de selección if e

Más detalles

UNIDAD II HOJA ELECTRÓNICA

UNIDAD II HOJA ELECTRÓNICA UNIDAD II HOJA ELECTRÓNICA 5.- Fórmulas y funciones Lic. Silvia Mireya Hernández Hermosillo. 5.1 FORMATOS DE NUMEROS Se pueden aplicar distintos formatos de número, es decir cambiar la apariencia de los

Más detalles

RECORDAR TIPOS DE DATOS

RECORDAR TIPOS DE DATOS RECORDAR TIPOS DE DATOS VARIABLES: OBJETO CUYO valor cambia: A510 nombres NOTAS Int A=0; float B=1; CONSTANTES: OBJETO cuyo valor no cambia PI= 3.14159 LAS COMAS NO SE PERMITEN Int PI=3.1415 EXPRESIONES:

Más detalles

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente: Pseudocódigo El pseudocódigo o pseudolenguaje, son una serie de instrucciones en nuestro lenguaje natural (español, ingles, etc.) y expresiones que representan cada uno de los pasos que resuelven un problema

Más detalles

ESTRUCTURA DE ASIGNACIÓN

ESTRUCTURA DE ASIGNACIÓN ALUMNA: GRADO: MODALIDAD-10 FECHA: PROFESOR: Hugo Nelson Ramírez Cárdenas LOGROS 1. Comprende la importancia que tiene el diseño de algoritmos, como forma de dar solución a un determinado problema. 2.

Más detalles

Propiedad de campo: Máscaras de entrada

Propiedad de campo: Máscaras de entrada Contenido 1. Información sobre las máscaras de entrada... 2 1.1 Cuándo y dónde se usa una máscara de entrada... 2 1.2 Componentes y sintaxis de una máscara de entrada... 3 1.3 Diferencias entre las máscaras

Más detalles

OPERADORES ARITMÉTICOS EN PHP: OPERADORES BÁSICOS Y RESTO (MÓDULO). INCREMENTO Y DECREMENTO. (CU00819B)

OPERADORES ARITMÉTICOS EN PHP: OPERADORES BÁSICOS Y RESTO (MÓDULO). INCREMENTO Y DECREMENTO. (CU00819B) APRENDERAPROGRAMAR.COM OPERADORES ARITMÉTICOS EN PHP: OPERADORES BÁSICOS Y RESTO (MÓDULO). INCREMENTO Y DECREMENTO. (CU00819B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde

Más detalles

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 05: Diagramas de flujo Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

Funcionamiento de las computadoras

Funcionamiento de las computadoras Funcionamiento de las computadoras Introducción a las ciencias de la computación Antonio López Jaimes UNIVERSIDAD AUTÓNOMA METROPOLITANA UNIDAD IZTAPALAPA Plan de la presentación El modelo de von Neuman

Más detalles

Tema 4.- Recursión e iteración

Tema 4.- Recursión e iteración UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER

Más detalles

Evolución del software y su situación actual

Evolución del software y su situación actual Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su

Más detalles

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus

Más detalles

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28 Componentes Básicos InCo InCo Componentes Básicos 1 / 28 Modelo de Computación Vemos al computador como un procesador de datos. +------------+ Entrada ===> Computador ===> Salida +------------+ InCo Componentes

Más detalles

COMO SE PROGRAMA EN VISUAL FOXPRO

COMO SE PROGRAMA EN VISUAL FOXPRO LECCION N 06 COMO SE PROGRAMA EN VISUAL FOXPRO En Visual FoxPro, no hay una norma de programación a seguir como se hace por ejemplo en Delphi o C++, donde en una sección se declaran las variables globales,

Más detalles

Enteros (Z):..., -3, -2, -1, 0, 1, 2, 3,... Números enteros (positivos o negativos), sin decimales. Incluye a los naturales.

Enteros (Z):..., -3, -2, -1, 0, 1, 2, 3,... Números enteros (positivos o negativos), sin decimales. Incluye a los naturales. Tema 1: Números Reales 1.1 Conjunto de los números Naturales (N): 0, 1, 2, 3. Números positivos sin decimales. Sirven para contar. Enteros (Z):..., -3, -2, -1, 0, 1, 2, 3,... Números enteros (positivos

Más detalles

Instituto Tecnológico de Lázaro Cárdenas Ingeniería Electrónica. Programa en MATLAB

Instituto Tecnológico de Lázaro Cárdenas Ingeniería Electrónica. Programa en MATLAB Instituto Tecnológico de Lázaro Cárdenas Ingeniería Electrónica Programa en MATLAB Asignatura: Programación Visual Docente: M.C. Julio César Gallo Sanchez Alumno: José Armando Lara Ramos 4 o Semestre Febrero

Más detalles

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante. Javascript (II) 1 Elementos Básicos: Comentarios: Para una línea // Esto es un Comentario Para un bloque /*......... */ Literales: Valores que puede tomar una variable o una constante. Ejemplos: "Soy una

Más detalles

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL 1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto

Más detalles

Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores

Tipos De Datos. Numéricos. Alfanuméricos (string) Arreglos (Vectores, Matrices) Estructurados Registros (Def. Por el Archivos Usuario) Apuntadores Tipos De Datos Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como b, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de

Más detalles

MODULO 1 - EXCEL BÁSICO

MODULO 1 - EXCEL BÁSICO SELECCIÓN Selección de una celda Para seleccionar una única celda sólo tienes que hacer clic sobre la celda. Selección de un rango de celdas Continuas: Seleccione la primera celda y con clic sostenido

Más detalles

Tema 4. Operadores y Expresiones

Tema 4. Operadores y Expresiones Tema 4 Operadores y Expresiones Contenidos 1. Conceptos Básicos. 2. Operadores Aritméticos. 3. Operadores de Relación, de Igualdad y Lógicos. 4. Operadores de Incremento y Decremento. 5. Operadores y Expresiones

Más detalles

4.7 Operaciones sobre Objetos en Scheme

4.7 Operaciones sobre Objetos en Scheme 4.7 Operaciones sobre Objetos en Scheme Equivalencias y predicados de tipos, listas, números, caracteres, strings y vectores Ejemplos de Equivalencia (eq? a a) ;=> #t (eq? 3.1 3.1) ;=> () (eq? (cons a

Más detalles

CONJUTOS NÚMERICOS NÚMEROS NATURALES

CONJUTOS NÚMERICOS NÚMEROS NATURALES CONJUTOS NÚMERICOS NÚMEROS NATURALES El conjunto de números naturales tiene gran importancia en la vida práctica ya que con sus elementos se pueden encontrar elementos u objetos de otros conjuntos. El

Más detalles

La magia de las fórmulas

La magia de las fórmulas La magia de las fórmulas Por Leticia Pureco Reyes Hoy en día existen muchas personas que utilizan la hoja de cálculo para realizar una gran diversidad de operaciones (aritméticas, estadísticas, trigonométricas,

Más detalles

Tema 2. Concepto de Algoritmo

Tema 2. Concepto de Algoritmo Tema 2. Concepto de Algoritmo Objetivos Definir el concepto de algoritmo Resolver problemas sencillos mediante el diseño de un algoritmo Conocer los tipos de datos elementales y las operaciones sobre ellos

Más detalles

UNIX. Curso de Modelado Molecular I INTRODUCCIÓN

UNIX. Curso de Modelado Molecular I INTRODUCCIÓN UNIX INTRODUCCIÓN Estrictamente, UNIX no es un sistema operativo simple, sino una familia de sistemas operativos multiusuario y multitarea. Comprende el núcleo del sistema operativo más un conjunto de

Más detalles

n 6 Logro Conocimientos previos Tema: Datos y # Ficha de aprendizaje

n 6 Logro Conocimientos previos Tema: Datos y # Ficha de aprendizaje Tema: Datos y variables Ficha de aprendizaje n 6 Logro Conoce las partes de un programa. Conoce los tipos de variables. Usa estas variables para hacer programaciones básicas. @ # Conocimientos previos

Más detalles

Diagrama de una computadora. Unidad Central de procesamiento (CPU)

Diagrama de una computadora. Unidad Central de procesamiento (CPU) 2008 FORTRAN 90/95 Diagrama de una computadora Memoria principal Memoria secundaria Memoria interna (registros) Periféricos de entrada Unidad de control Periféricos de salida Unidad aritmética y lógica

Más detalles

GUÍA DE TRABAJO N 1 C# Ing. Néstor Raúl Suarez Perpiñan Página 1 de 13

GUÍA DE TRABAJO N 1 C# Ing. Néstor Raúl Suarez Perpiñan Página 1 de 13 Página 1 de 13 Tema: FUNDAMENTOS DE PROGRAMACIÓN EN LENGUAJE C# Objetivo: Conocer y manejar correctamente los tipos de datos y las diferentes estructuras de programación que hacen parte del lenguaje de

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

Introducción a la programación: Algoritmos

Introducción a la programación: Algoritmos Introducción a la programación: Algoritmos Algoritmo La palabra algoritmo proviene del nombre del matemático persa del siglo IX Muhammad ibn Musa al-jwarizmi Un algoritmo es una secuencia ordenada de pasos,

Más detalles

Tema: CREACIÓN DE FORMULAS Y FUNCIONES EN MICROSOFT EXCEL 2013.

Tema: CREACIÓN DE FORMULAS Y FUNCIONES EN MICROSOFT EXCEL 2013. Empremática, Guía 5 1 Facultad : Ingeniería Escuela : Computación Asignatura: Empremática Tema: CREACIÓN DE FORMULAS Y FUNCIONES EN MICROSOFT EXCEL 2013. Objetivos Identificar los diferentes tipos de fórmulas

Más detalles

Curso de AutoCAD 2010 Apunte Parte II

Curso de AutoCAD 2010 Apunte Parte II Comandos de dibujo 1. Línea (Line) Este comando construye un segmento entre dos posiciones que se indican con el mouse o por coordenadas. Puede ejecutarse desde: Menú Dibujo (Draw) Desde el botón adecuado

Más detalles

Arreglos numéricos. Programación Clase 23

Arreglos numéricos. Programación  Clase 23 Arreglos numéricos Programación http://progra.usm.cl Clase 23 Objetivos de la clase Introducir el tipo array del módulo numpy para representar arreglos numéricos. Explicar la motivación para usar arreglos

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya CADENAS DE CARACTERES Hasta ahora se han manejado variables de tipo caracter cuyo valor es un sólo caracter. En algunos casos, sin embargo, es necesario usar variables cuyos valores sean un conjunto (cadena)

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Dada la siguiente expresión de un lenguaje de alto nivel int a = 6; int b = 7; int c = 3; int d; d = (a+b) * (a+b); Indique

Más detalles