Macro Procesadores Universidad Autónoma Metropolitana - Azcapotzalco
|
|
- Pascual Martínez Benítez
- hace 7 años
- Vistas:
Transcripción
1 Macro Procesadores Universidad Autónoma Metropolitana - Azcapotzalco María Paula Ortuño Sánchez November 30, 2005 Contents 1 Macroprocesadores 2 11 Funciones básicas de un Macro Procesador 2 2 Algoritmo Macro Procesador y Estructura de Datos 6 List of Algorithms 1 Algorithm for a one-pass macro processor 9 2 PROCESSLINE 9 3 DEFINE 9 4 EXPAND 10 5 GETLINE 10 List of Figures 1 Contents of macro processor tables for the program in table 1:(a) entries in NAMTAB and DEFTAB defining macro RDBUFF, (b) entries in ARGTAB for invocation of RDBUFF on line List of Tables 1 Use of macros in a SIC/XE program 3 2 Program with macros expanded 5 3 Example of the definition of macros within a macro body a) 7 4 Example of the definition of macros within a macro body b) 7 1
2 1 Macroprocesadores Una macro instrucción (a veces abreviada macro) es simplemente una notación convencional para el programador Una macro representa un grupo de instrucciones en el lenguaje de programación fuente Los macro procesadores reemplazan cada macro instrucción con el correspondiente grupo de instrucciones en el programa fuente Esto es comúnmente llamado expandir la macro Estas macro instrucciones permiten escribir al programador versiones cortas de un programa, y dejar que los detalles mecánicos sean manejados por el macro procesador Por ejemplo, supóngase que se desea salvar los contenidos de todos los registros antes de llamar a un programa En SIC/XE esto requerirá una secuencia de siete instrucciones (STA, STB, etc) Usando una macro instrucción, el programador simplemente escribe SAVEREGS, por ejemplo Esta macro instrucción será expandida en siete instrucciones en lenguaje ensamblador necesarias para salvar los registros Las funciones de un macro procesador esencialmente involucran la sustitución de un grupo de caracteres o líneas por otros Excepto en algunos casos especializados, el macro procesador no realiza análisis del texto que maneja El diseño y capacidades de un macro procesador pueden ser influenciados por la forma de las proposiciones del lenguaje de programación involucrado Sin embargo, el significado y traducción de estas instrucciones en lenguaje de maquina no conciernen durante la macro expansión Esto significa que el diseño de un macro procesador no esta relacionada con la arquitectura de la computadora en la cual corre El uso mas común de macro procesadores es en la programación en lenguaje ensamblador Usamos ejemplos en lenguaje ensamblador SIC para ilustrar los conceptos involucrados Sin embargo, los macro procesadores también pueden ser usados con lenguajes de alto nivel, lenguajes de comandos del sistema operativo, etc Además, hay macro procesadores de propósito general que no estan ligados con algún lenguaje en particular 11 Funciones básicas de un Macro Procesador La tabla 1 muestra un ejemplo de un programa SIC/XE usando macro instrucciones Este programa tiene la misma función y lógica que los programas ejemplos estudiados anteriormente, sin embargo, el esquema de numeración del programa fuente ha sido cambiado Este programa define y usa dos macro instrucciones, RDBUFF y WRBUFF Las funciones y lógica de la macro RDBUFF son similares a aquellas de la subrutina RDREC, también WRBUFF es similar a la subrutina WRREC Las definiciones de estas macro aparecen en el programa fuente enseguida de START Dos nuevas directivas (MACRO y MEND) son usadas La primera proposición MACRO (línea 10) identifica el principio de una macro definición El símbolo en la etiqueta RDBUFF es el nombre de la macro, y sus entradas en el campo operando, identifican los parámetros de la macro 2
3 Table 1: Use of macros in a SIC/XE program 5 COPY START 0 COPY FILE FROM IN TO OUT 10 RDBUFF MACRO &INDEV,&BUFADR,&RECLTH MACRO TO READ RECORD INTO BUFFER CLEAR X CLEAR LOOP COUNTER 35 CLEAR A 40 CLEAR S 45 +LDT #4096 SET MAXIMUM RECORD LENGTH 50 TD =X &INDEV TEST INPUT DEVICE 55 JEQ *-3 LOOP UNTIL READY 60 RD =X &INDEV READ CHAR INTO REGISTER A 65 COMPR A,S TEST FOR END OF RECORD (X 00 ) 70 JEQ *+11 EXIT LOOP IF EOR 75 STCH &BUFFER,X STORE CHAR IN BUFFER 80 TIXR T LOOP UNLESS MAX LENGTH 85 JLT *-19 HAS BEEN REACHED 90 STX &RECLTH SAVE RECORD LENGTH 95 MEND 100 WRBUFF MACRO &OUTDEV,&BUFADR,&RECLTH MACRO TO WRITE RECORD INTO BUFFER CLEAR X CLEAR LOOP COUNTER 125 LDT &RECLTH 130 LDCH &BUFFER,X GET CHAR FROM BUFFER 135 TD =X &OUTDEV TEST OUTPUT DEVICE 140 JEQ *-3 LOOP UNTIL READY 145 WD =X &OUTDEV WRITE CHAR 150 TIXR T LOOP UNTIL ALL CHARACTERS 155 JLT *-14 HAS BEEN WRITE 160 MEND MAIN PROGRAM FIRST STL RETADR SAVE RETURN ADDRESS 190 CLOOP RDBUFF 195 LDA LENGTH TEST FOR END OF FILE 200 COMP #0 205 JEQ ENDFIL EXIT IF EOF FOUND 210 WRBUFF 05,BUFFER,LENGTH WRITE OUTPUT RECORD 215 J CLOOP LOOP 220 ENDFIL WRBUFF 05,EOF,THREE INSERT EOF MARKER EOF BYTE C EOF 235 THREE WORD RETADR RESW LENGTH RESW 1 LENGTH OF RECORD 250 BUFFER RESB BYTE AREA BUFFER 255 END FIRST
4 En nuestro macro lenguaje, cada parámetro empieza con el carácter & el cual facilita la sustitución de parámetros durante la macro expansión El nombre de la macro y los parámetros definen el modelo o prototipo para cada macro instrucción usada por el programador Siguiendo a la directiva MACRO aparecen las proposiciones que forman el cuerpo de la macro definición (línea 15-90) Estas son las instrucciones que serán generadas por la expansión de la macro La directiva MEND (línea 95) marca el fin de la macro La definición de la macro WRBUFF (línea ) sigue un modelo similar El programa principal empieza en la linea 180 La proposicion en la linea 190 es una macro invocación que da el nombre de la macro instrucción y los argumentos a ser usados en la expansión de la macro El programa principal empieza en la línea 180 La proposición en la línea 190 es una macro invocación que da el nombre de la macro instrucción y los argumentos a ser usados en la expansión de la macro El programa de la tabla 1 deberá ser proporcionado como entrada a un macro procesador La tabla 2 muestra la salida que genera este programa Las macro definiciones han sido borradas puesto que ya no se necesitan después de que la macro se expande Cada macro invocación ha sido expandida en las proposiciones que forman el cuerpo de la macro, con los argumentos de la invocación de la macro sustituidos por los parámetros en el prototipo de la macro Los argumentos y parámetros son asociados uno con otro de acuerdo a sus posiciones El primer argumento en la macro invocación corresponde al primer parámetro en el prototipo de la macro y así sucesivamente Por ejemplo en la línea 190 el argumento F1 es sustituido por el parámetro &INDEV dondequiera que este ocurra Similarmente, BUFFER es sustituido por &BUFADR, y LENGTH es sustituida por &RECLTH Las líneas 190a a 190m muestran la expansión completa de la macro invocación en la línea 190 Las líneas de comentarios dentro del cuerpo de la macro han sido borradas, pero comentarios individuales permanecen La proposición de la macro invocación ha sido incluida como una comentario La etiqueta en la macro invocación (CLOOP) permanecen como etiqueta en la primera proposición generada en la macro expansión Esto permite el programador usar la macro instrucción en la misma forma que mnemónicos en lenguaje ensamblador Las macro invocaciones en las líneas 210 a 220 son expandidas en la misma manera Note que las dos invocaciones de WRBUFF especifican diferentes argumentos, tal que producen diferentes expansiones Después del macro procesamiento, el archivo expandido puede ser usado como entrada al ensamblador Las sentencias de la macro invocación serán tratadas exactamente igual que si hubieran sido escritas por el programador Una comparación del programa expandido en relación al programa ejemplo, muestra las diferencias entre llamadas a subrutinas y macro invocación En la tabla las proposiciones del cuerpo 4
5 Table 2: Program with macros expanded 5 COPY START 0 COPY FILE FROM IN TO OUT 180 FIRST STL RETADR SAVE RETURN ADDRESS 190 CLOOP RDBUFF F1,BUFFER, LENGTH READ RECORD INTO BUFFER 190a CLOOP CLEAR X CLEAR LOOP COUNTER 190b CLEAR A 190c CLEAR S 190d +LDT #4096 SET MAXIMUM RECORD LENGTH 190e TD =X F1 TEST INPUT DEVICE 190f JEQ *-3 LOOP UNTIL READY 190g RD =X F1 READ CHAR INTO REGISTER A 190h COMPR A,S TEST FOR END OF RECORD (X 00 ) 190i JEQ *+11 EXIT LOOP IF EOR 190j STCH BUFFER,X STORE CHAR IN BUFFER 190k TIXR T LOOP UNLESS MAX LENGTH 190l JLT *-19 HAS BEEN REACHED 190m STX LENGTH SAVE RECORD LENGTH 195 LDA LENGTH TEST FOR END OF FILE 200 COMP #0 205 JEQ ENDFIL EXIT IF EOF FOUND 210 WRBUFF 05,BUFFER,LENGTH WRITE OUTPUT RECORD 210a CLEAR X CLEAR LOOP COUNTER 210b LDT LENGTH 210c LDCH BUFFER,X GET CHAR FROM BUFFER 210d TD =X 05 TEST OUTPUT DEVICE 210e JEQ *-3 LOOP UNTIL READY 210f WD =X 05 WRITE CHAR 210g TIXR T LOOP UNTIL ALL CHARACTERS 210h JLT *-14 HAS BEEN WRITE 215 J CLOOP LOOP 220 ENDFIL WRBUFF 05,EOF,THREE INSERT EOF MARKER 220a ENDFIL CLEAR X CLEAR LOOP COUNTER 220b LDT THREE 220c LDCH EOF,X GET CHAR FROM BUFFER 220d TD =X 05 TEST INPUT DEVICE 220e JEQ *-3 LOOP UNTIL READY 220f WD =X 05 WRITE CHAR INTO REGISTER A 220g TIXR T LOOP UNLESS MAX LENGTH 220h JLT *-14 HAS BEEN REACHED EOF BYTE C EOF 235 THREE WORD RETADR RESW LENGTH RESW 1 LENGTH OF RECORD 250 BUFFER RESB BYTE AREA BUFFER 255 END FIRST 5
6 de la macro WRBUFF son generadas dos veces: líneas 210a a 210h y líneas 220a a 220h En el programa ejemplo, las correspondientes instrucciones aparecen solo una vez: en la subrutina WRREC (líneas 210 a 240), En general, las proposiciones que forman la expansión de una macro son generadas (y ensambladas) cada vez que la macro es invocada Las proposiciones en una subrutina aparecen una sola vez, no importa cuantas veces sean llamadas Note también que las macro instrucciones han sido escritas sin etiquetas En la tabla 2, línea 140 contiene la proposición JEQ * -13 y la línea 155 contiene JLT *-14 Las proposiciones correspondientes en la subrutina WRREC son JEQ WLOOP y JLT WLOOP, donde WLOOP es una etiqueta en la instrucción TD que prueba el dispositivo de salida Si tal etiqueta apareciera en la línea 135 de la macro, esta generara un error -símbolo duplicado-, cuando el programa es ensamblado Para evitar símbolos duplicados, se han eliminado etiquetas del cuerpo de la macro definición 2 Algoritmo Macro Procesador y Estructura de Datos Es fácil diseñar un macro procesador de dos pasadas en el cual todas las macro definiciones son procesadas durante el primer paso, y todas las macro invocaciones son expandidas durante el segundo paso Sin embargo, tal macro procesador de dos pasadas no permitiría que el cuerpo de una macro instrucción contenga definiciones de otras macros (porque todas las macros deberán ser definidas durante el primer paso antes de expandir cualquier macro invocación) Definiciones de macros por otras macros pueden ser usuales en ciertos casos Considere por ejemplo las dos definiciones de las macro instrucciones de la tabla 3 El cuerpo de la primera macro (MACROS) contiene proposiciones que definen RDBUFF, WRBUFF, y otras macro instrucciones para un sistema SIC El cuerpo de la segunda macro instrucción (MACROX) define estas mismas macros para un sistema SIC/XE Un programa que va a correr un sistema SIC podría invocar MACROS para definir las otras macro instrucciones de utilería Un programa que va a correr un sistema SIC/XE podría invocar MACROX para definir estas mismas macro instrucciones en su versión XE De esta manera, el mismo programa podría correr ya sea una versión estándar o una versión extendida El único cambio requerido será la invocación de MACROS o MACROX Es importante entender que definir MACROS o MACROX no define RDBUFF y las otras macro instrucciones Estas definiciones son procesadas solo cuando una invocación de MACROS o MACROX es expandida Un macro procesador que puede alternar entre macro definición y macro expansión es capaz de manejar macros como los de la tabla 3 Se presenta un algoritmo y un conjunto de estructuras de datos para tal macroprocesador Debido a la estructura de una pasada la definición de una macro debe aparecer antes de la proposición que la invoca Hay tres estructuras de datos involucradas en el macro procesador DEFTAB, las macro definiciones mismas son almacenadas en una tabla, la cual contiene los macro prototipos y las proposiciones que forman el cuerpo de la macro (con algunas modificaciones) 6
7 Table 3: Example of the definition of macros within a macro body a) 1 MACROS MACRO {Defines sic standar version macros} 2 RDBUFF MACRO &INDEV, &BUFADR, &RECLTH {SIC standar version} 3 MEND {End of RDBUFF} 4 WRBUFF MACRO &OUTDEV, &BUFADR, &RECLTH {SIC standar version} 5 MEND {End of WRBUFF} 6 MEND {End of MACROS} Table 4: Example of the definition of macros within a macro body b) 1 MACROX MACRO {Defines SIC/XE macros} 2 RDBUFF MACRO &INDEV, &BUFADR, &RECLTH {SIC/XE version} 3 MEND {End of RDBUFF} 4 WRBUFF MACRO &OUTDEV, &BUFADR, &RECLTH {SIC/XE version} 5 MEND {End of WRBUFF} 6 MEND {End of MACROX} 7
8 Figure 1: Contents of macro processor tables for the program in table 1:(a) entries in NAMTAB and DEFTAB defining macro RDBUFF, (b) entries in ARGTAB for invocation of RDBUFF on line 190 NAMTAB, tabla que almacena los macro nombres, la cual sirve como un índice a DEFTAB Cada macro instrucción definida, tiene un apuntador al inicio y fin de la definición en DEFTAB ARGTAB la cual es usada durante la expansión en la invocación de la macro Cuando una invocación a una macro es reconocida, los argumentos almacenados en ARGTAB de acuerdo a su posición en la lista de argumentos Cuando la macro es expandida, los argumentos de ARGTAB son sustituidos por los correspondientes parámetros en el cuerpo de la macro La figura 1 muestra porciones de los contenidos de estas tablas durante el procesamiento del programa en la tabla 1 La figura 1a) muestra la definición de RDBUFF almacenada en DEFTAB, con una entrada en NAMTAB identificando el principio y fin de la definición Note que la notación posicional ha sido usada para los parámetros: el parámetro &INDEV ha sido convertido a?1 (indicando el primer parámetro en el prototipo), &BUFADR ha sido convertido a?2, y así sucesivamente Cuando la notación?n aparece en una línea en DEFTAB, un operación simple de indexamiento proporciona el argumento adecuado desde ARGTAB El algoritmo completo del macro procesador se presenta en los algoritmos 1 a 5 El procedure DEFINE, el cual es llamado cuando el principio de una macro definición es reconocido, hace las apropiadas entradas en DEFTAB y NAMTAB EXPAND es llamado para poner los argumentos en ARGTAB y expandir una proposición de macro invocación El procedure GETLINE el cual es llamado en algunos puntos en el algoritmo, obtiene la siguiente línea a ser procesada Esta línea puede venir de DEFTAB (la siguiente línea de una macro siendo expandida), o desde el archivo de entrada, dependiendo si la bandera EXPANDING es puesta a TRUE o FALSE 8
9 Un aspecto de este algoritmo que requiere comentar es el manejo de macro definiciones dentro de macros (como se ilustró en la tabla 3 y 4 Cuando una macro definición es colocada en DEFTAB, el acercamiento normal será continuar hasta encontrar una directiva MEND Esto podría no trabajar para el ejemplo de la tabla 3 y 4, sin embargo, la línea 3 MEND (marca el fin de la definición de RDBUFF) podría ser tomada como el fin de la definición de MACROS Para resolver este problema el procedure DEFINE mantiene un contador LEVEL, cada vez que una MACRO directiva se lee, el valor de LEVEL es incrementado por 1, cada vez que una MEND directiva se lee, el valor de LEVEL es decrementado por 1 Cuando LEVEL alcanza 0, MEND que corresponde a la directiva original MACRO ha sido encontrada Este proceso es muy parecido al chequeo de paréntesis izquierdos y derechos cuando se revisa una expresión aritmética Algorithm 1 Algorithm for a one-pass macro processor EXPANDING FALSE while OPCODE END do GETLINE PROCESSLINE end while Procedure 2 PROCESSLINE search NAMTAB for OPCODE if found then EXPAND else if OPCODE = MACRO then DEFINE else write source line to expanded file end if Procedure 3 DEFINE enter macro name into NAMTAB enter macro prototype into DEFTAB LEVEL 1 while LEVEL >0 do GETLINE if this is not a comment line then substitute positional notation for parameters enter line into DEFTAB if OPCODE = MACRO then LEVEL LEVEL + 1 else if OPCODE = MEND then LEVEL LEVEL - 1 end if end if end while store in NAMTAB pointers to beginning and end of definition 9
10 Procedure 4 EXPAND EXPANDING TRUE get first line of macro definition {prototype} from DEFTAB set up arguments from macro invocation in ARGTAB write macro invocation to expanded file as a comment while not end of macro definition do GETLINE PROCESSLINE end while EXPANDING FALSE Procedure 5 GETLINE if EXPANDING then get next line of macro definition from DEFTAB substitute arguments from ARGTAB for positional notation else read next line from input file end if 10
Estructura de Datos: Archivos
Estructura de Datos: Archivos Registros (record) Un registro es una estructura que consiste de un número fijo de componentes llamados campos. Los campos pueden ser de diferentes tipos y deben tener un
Estructuras de Control
Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas
Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo
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étodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo
TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para
Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática
Programación de Computadores 4 Iteraciones y Decisiones Prof. Javier Cañas Universidad Técnica Federico Santa María Departamento de Informática Contenido 1 Introducción 2 Operadores Relacionales y Lógicos
CICLOS DEL PROCESADOR
UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del
Estructuras de control
Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando
Fundamentos de Programación Visual Basic
Pág. N. 1 Fundamentos de Programación Visual Basic Familia: Editorial: Tecnología de información y computación Macro Autor: Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-236-3 N. de páginas: 280
Conceptos de Arquitectura de Computadoras Curso 2015
PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.
INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA
APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto
Fundamentos de Programación. Flujo de Control I: Estructuras selectivas
Fundamentos de Programación Flujo de Control I: Estructuras selectivas El Flujo de Control de un Programa Un algoritmo puede ser construido utilizando combinaciones de tres estructuras de control de flujo
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
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
Elementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz
Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)
Tema 2 Introducción a la Programación en C.
Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes
TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero
TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando
Se guardan en archivos con extencion c y los cabezales con extension h
Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767
6. Estructuras básicas de control 1. Pseudocódigo
6. Estructuras básicas de control 1 Acciones Estructuras de control Secuencia Selección Pseudocódigo simple (si... entonces... ) doble (si... entonces... si no... ) múltiple (según el caso... ) Iteración
Introducción. Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales
Introducción Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl
1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
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
Planificaciones Algoritmos y Programación I. Docente responsable: AZCURRA DIEGO ANDRES. 1 de 5
Planificaciones 7540 - Algoritmos y Programación I Docente responsable: AZCURRA DIEGO ANDRES 1 de 5 OBJETIVOS Objetivos estratégicos: -Desarrollar el concepto algorítmico. -Aplicar técnicas de programación
Funciones como Subprogramas en C++
FUNCIONES Cuando es necesario escribir programas complicados para resolver problemas complejos, una práctica común entre los programadores es descomponer el algoritmo (el diagrama de flujo) en varias partes.
Programación en Pascal
Programación en Pascal Segunda parte de la asignatura. El profesor: Nombre:. Despacho: Edificio de la ETSII 2ª Planta. Correo electrónico: fdoperez@ull.es. Miércoles, Viernes: 3.30 a 5.30. Objetivos: Aprender
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
Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.
Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor
Todos los comandos de DEBUG se invocan usando una sola letra y son los siguientes:
USO DE DEBUG Con el sistema operativo DOS (MS-DOS = Microsoft Disk Operating System) se incluye un programa para observar el comportamiento de los registros del CPU 80386. Recuérdese que los registros
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.
El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */
Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones
Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio
Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Fundamentos de Arquitectura de Computadores Modelo de von Neumann Profesor: Felipe Cabarcas Correo:cabarcas@udea.edu.co Oficina:
Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.
Programación Básica Arturo Vega González a.vega@ugto.mx Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 5 Universidad de Guanajuato, DCI, Campus León 1 / 31 Universidad
Contenido. Conjunto de Instrucciones. Formato de la Instrucción. Instrucciones de 1 byte. Formato de la Instrucción 28/09/2011
1 ontenido 2 UNIDAD 5 EL LENGUAJE DE ENSAMBLADOR DEL Z80 onjunto de instrucciones Tipos de instrucciones Modos de direccionamiento El ensamblador del Z80 El simulador AVOET Implementación de un sistema
Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.
Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria
Estructuras de Datos. La pila es un objeto dinámico en constante cambio.
21 Capítulo 2. LA PILA (STACK). 2.1 Definición y ejemplos. Una pila es un conjunto ordenado de elementos en el cual se pueden agregar y eliminar elementos de un extremo, el cual es llamado el tope de la
//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui
PL/SQL - Oracle PL/SQL (Procedural Language/SQL) es una extensión de SQL, que agrega ciertas construcciones propias de lenguajes procedimentales, obteniendose como resultado un lenguaje estructural mas
FUNCIONAMIENTO DEL ORDENADOR
FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores
EXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS ROMA PLANEACIÓN DIDÁCTICA LICENCIATURA EJECUTIVA CICLO 201425 Nombre de la asignatura: Lenguajes Operativos Horas por semana: 6 Nombre del docente: Olvera Jiménez
El nivel ISA (II)! Conjunto de Instrucciones
El nivel ISA (II) Conjunto de Instrucciones EC-2721 Arquitectura del Computador I Que es un Conjunto de Instrucciones? Colección completa de instrucciones comprendida por un procesador Lenguaje de máquina
INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN. Métodos Numéricos Carlos Zotelo
INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN Métodos Numéricos 2008 - Carlos Zotelo Introducción a Fortran 77 / 90 1. El lenguaje Fortran 77 / 90 2. Tipos de datos básicos 3. Constantes y variables 4. Entrada
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
ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla
ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla Índice de contenido 1.- Qué es un ordenador?...3 2.-Hardware básico de un ordenador:...3 3.-Software...4 3.1.-Software
FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)
APRENDERAPROGRAMARCOM FUNCIONES PHP: DECLARACIÓN Y LLAMADAS PARÁMETROS, RETURN EJERCICIOS EJEMPLOS RESUELTOS (CU00827B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero Fecha
Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik
Objetivos Objetivos Arquitecturas von Neumann Otras Unidad Central de Procesamiento (CPU) Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrónica y buses 2 Índice Capítulo
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
Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Algoritmos y programas. Algoritmos y Estructuras de Datos I
Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de
Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1
Pág. N. 1 Índice general Capítulo 1 Conceptos básicos Qué es Visual Basic? La programación basada en objetos Propiedades Métodos Eventos Funcionamiento de las propiedades, métodos y eventos Ingreso al
Funciones & Estructuras de control
Funciones & Estructuras de control Universidad de Concepción, Chile Departamento de Geofísica Programación Científica con Software libre Primavera, 2011 Universidad de Concepción Contenidos 1 2 3 En la
Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz.
Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz. TIPOS DE ERRORES Sintácticos. Los errores de sintaxis, o sintácticos, ocurren cuando el programador escribe código que no va de acuerdo
PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY
PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY ALGORITMO DEFINICIÓN: CONSISTE EN LA DESCRIPCIÓN CLARA Y DETALLADA DEL PROCEDIMIENTO A SEGUIR PARA ALCANZAR LA SOLUCIÓN A UN PROBLEMA EN DONDE SE ESTABLECE
Curso de Java Introducción a la Programación III
Curso de Java Introducción a la Programación III Jaime Fernández Martín Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Operadores relacionales e igualdad 2 Estructuras de control condicional
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
Herramientas de Programación. M.C. Juan Carlos Olivares Rojas
Herramientas de Programación M.C. Juan Carlos Olivares Rojas Febrero 2011 Temario Simbología Reglas para la construcción de Diagramas Pseudocódigo Temario Tipos de Datos y Expresiones Estructuras lógicas
Generador de analizadores léxicos FLEX
Generador de analizadores léxicos FLEX Procesadores de Lenguajes 4 o Informática PL curso 2008-2009 (CCIA) CCIA Octubre 2008 PL 0809 (CCIA) Introducción a FLEX Octubre-2008 1 / 12 Uso de FLEX FLEX: traduce
Seminario de Actualización - Excel Avanzado y Macros. Visual Basic. Conceptos Básicos de Visual Basic para Aplicaciones
Conceptos Básicos de para Aplicaciones 1 Qué es la programación? Es la acción de escribir programas de computación con el fin de resolver un determinado problema. Datos Constantes π = 3.1416 (real) Variables
Fundamentos de programación
Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador
Tema 2 Descripción de VHDL (2/2)
TECNOLOGÍA DE COMPUTADORES Tema 2 Descripción de VHDL (2/2) Agustín Álvarez Marquina Tipos de sentencias en VHDL Sentencias concurrentes PROCESS Asignación de señal BLOCK Llamadas a procedimientos Llamadas
MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6
MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6 NOMBRE DE LA PRÁCTICA. Estructuras secuénciales 6.1 OBJETIVO GENERAL El alumno desarrollará la habilidad para diseñar algoritmos secuenciales,
Normas de estilo para la codificación de programas
Normas de estilo para la codificación de programas v.1.0 11/09/97 12.17 Departamento de Informática e Ingeniería de Sistemas Centro Politécnico Superior Universidad de Zaragoza María de Luna 3 50015, Zaragoza
PROGRAMACIÓN UNIDADES
PROGRAMACIÓN Semestre: Segundo Horas: 90 horas Hrs/sem: 4.5 Créditos: 9 Clave: AI-02 DESCRIPCIÓN DE LA ASIGNATURA Al finalizar el curso el alumno tendrá el conocimiento y la capacidad de implementar programas
CONCEPTOS BASICOS DEL LENGUAJE JAVA
CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten
Ejercicios Input/Output 11 de Mayo, 2013
503208: Programación I 1 er Semestre 2013 Ejercicios Input/Output 11 de Mayo, 2013 Prof. Leo Ferres Autor: Javier González N. 1. Archivos de texto Cuando se usa redireccion (./a.out < archivo.txt, por
Universidad Metropolitana Castro Carazo Prof. Ing. Patricia Vargas. Material de apoyo Semana #2 PROGRAMACIÓN II
Prof. Ing. Patricia Vargas 1 Universidad Metropolitana Castro Carazo Prof. Ing. Patricia Vargas Material de apoyo Semana #2 PROGRAMACIÓN II Agenda 1. Definición de variables locales y públicas. 2. Declaraciones
Introducción a la arquitectura de computadores
Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina
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
Ejercicio: Creación de Bosquejos *
Universidad Interamericana de Puerto Rico Recinto de Fajardo GEIC 1000: Literaria de la Información y la Computación Prof. Madeline Ortiz Rodríguez Ejercicio: Creación de Bosquejos * Nombre: Fecha: Objetivos:
Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Algoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison
Algoritmos Intro Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison La Computadora Las computadoras trabajan con una base de 0 y 1 llamado sistema binario. En principio todo lo que sucede en un dispositivo
Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal
Algoritmos y solución de problemas Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal Introducción Departamento de Electrónica, Sistemas e Informática En las ciencias de la computación
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
Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Estructura de Datos y de la Información. Pilas y expresiones aritméticas
Estructura de Datos y de la Información Pilas y expresiones aritméticas LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España
ESTRUCTURAS ALGORITMICAS
ESTRUCTURAS ALGORITMICAS El proceso de resolución de problemas en un ordenador conduce a la escritura de un programa y su ejecución. Las fases en el desarrollo de un programa pueden resumirse de la siguiente
la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.
ALGORITMOS SECUENCIALES: La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente
Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones
Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina
Lenguaje C. Tipos de Datos Simples y Estructuras de Control
Lenguaje C Tipos de Datos Simples y Estructuras de Control Lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje
Preliminares. Tipos de variables y Expresiones
Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un
UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.
UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1.- Resumen de Prog1 Comentarios es C++ Declaraciones de variables.
Comencemos a programar con. Entrega 10. Estructuras de Control II
Comencemos a programar con VBA - Access Entrega 10 Estructuras de Control II Eduardo Olaz 10-2 Estructuras de Control, segunda parte Las Instrucciones While - - - Wend La estructura de bucle For Contador
ESTRUCTURA BÁSICA DE UN ORDENADOR
ESTRUCTURA BÁSICA DE UN ORDENADOR QUÉ ES UN ORDENADOR? Un ordenador es una máquina... QUÉ ES UN ORDENADOR? Un ordenador es una máquina... QUÉ ES UN ORDENADOR? Un ordenador es una máquina... Qué son los
Sentencias o instrucciones en Visual BASIC
Tecnología a de la Informació Sentencias o instrucciones en Visual BASIC REM Tecnología a de la Informació REM es una sentencia no ejecutable y permite introducir comentarios en los programas. A esta práctica
Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL
Ciclos Fundamentos de Programación Recordando Estructuras de Control Básicas: Una secuencia es una serie de estatutos que se ejecutan uno después de otro. Selección (condición) ejecuta diferentes estatutos
A partir de la información anterior haremos varios programas que utilicen los diferentes elementos del diccionario.
A partir de la información anterior haremos varios programas que utilicen los diferentes elementos del diccionario. Retomando el programa propuesto en la lección 1. Al ver el programa en detalle podemos
Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)
Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma
ESCUELA DE INFORMÁTICA
TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA 1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar
UNIDAD 1. COMPONENTES DEL COMPUTADOR
UNIDAD 1. COMPONENTES DEL COMPUTADOR OBJETIVO Nº 1.1: DEFINICIÓN DE COMPUTADOR: Es un dispositivo electrónico compuesto básicamente de un procesador, una memoria y los dispositivos de entrada/salida (E/S).
Ejemplos de conversión de reales a enteros
Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print
PRÁCTICA Nº3. 1. TEMA : Conocimiento del software de desarrollo ATMEL Studio
ESCUELA POLITÉCNICA NACIONAL Campus Politécnico "J. Rubén Orellana R." FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA Carrera de Ingeniería Electrónica y Control Carrera de Ingeniería Electrónica y Telecomunicaciones
Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.
Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos. Qué es PHP? PHP (Hypertext Preprocessor). Es un lenguaje de programación: De código
LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE
LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE 1 OBJETIVOS Al finalizar esta actividad, serás capaz de: Entender el funcionamiento de las estructuras iterativas en general; la(s) condición(es)
Los bloques DLL (Figura A.1) externos permiten al usuario escribir su propio código y
Apéndice A Bloques DLL Los bloques DLL (Figura A.1) externos permiten al usuario escribir su propio código y programarlo en lenguaje C, compilarlo dentro de un archivo DLL usando el Microsoft C/C++ o el
Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:
Unidades principales en la implementación Data El procesador: camino de datos y control IEC UTM Moisés E. Ramírez G. 1 Register # PC Address Instruction Instruction Registers Register # ALU memory Register
Lenguaje C Entrada y Salida de Datos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Lenguaje C Entrada y Salida de Datos Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia E/S por consola Se refiere a las operaciones que ocurren
TEMA 4. ESTRUCTURAS DE CONTROL
M.P. Sesmero, P. de Toledo, F.J. Ordoñez, J. Gómez-Romero, J.A. Iglesias, J.L. Mira Programación TEMA 4. ESTRUCTURAS DE CONTROL Grado en Ingeniería en Tecnologías Industriales Programación CONTENIDOS 4.1.
Tema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
Curso de Excel Avanzado
Curso de Excel Avanzado J. David Moreno TRABAJANDO CON RANGOS J. David Moreno 1 3 Para programar correctamente en VBA y trabajar con Excel es obligatorio aprender a trabajar con rangos (seleccionar, copiar,
Manual de Arduino Wifly Shield
Manual de Arduino Wifly Shield Material necesario: Arduino UNO. Wifly shield Software requerido en la PC: Arduino IDE v.1.0.1 Librería Wifly Alpha2 Preparando el hardware: Como se puede ver 4 LEDs parpadean
Índice de contenido. Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv
Índice de contenido Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv Capítulo 1: La computadora y los niveles de datos Computadora...3 Tipos de dispositivos...4