GENERACIÓN DE CÓDIGO
|
|
|
- María Josefa Torres Moreno
- hace 10 años
- Vistas:
Transcripción
1 GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información detallada acerca de la arquitectura objetivo, la estructura del ambiente de ejecución y el sistema operativo que esté corriendo en la máquina objetivo. La generación de código por lo regular implica también algún intento por optimizar, o mejorar, la velocidad y/o el tamaño del código objetivo recolectando más información acerca del programa fuente y adecuando el código generado para sacar ventaja de las características especiales de la máquina objetivo, tales como registros, modos de direccionamiento, distribución y memoria caché. En el modelo de análisis y síntesis de un compilador, la etapa inicial traduce un programa fuente a una representación intermedia a partir de la cual la etapa final genera el código objeto. Los detalles del lenguaje objeto se confinan en la etapa final, si esto es posible. Aunque un programa fuente se puede traducir directamente al lenguaje objeto, algunas ventajas de utilizar una forma intermedia independiente de la máquina son: 1. Se facilita la redestinación; se puede crear un compilador para una máquina distinta uniendo una etapa final para la nueva máquina a una etapa inicial ya existente. 2. Se puede aplicar a la representación intermedia un optimizador de código independiente de la máquina. Hay lenguajes que son pseudointerpretados que utilizan un código intermedio llamado código-p que utiliza lo que se denomina bytecodes (sentencias de un µp hipotético). Por ejemplo Java utiliza los ficheros.class, éstos tienen unos bytecodes que se someten a una JavaVirtualMachine, para que interprete esas sentencias. Docente: Ing. Mirko Manrique Ronceros ~ 1 ~
2 En este capítulo se muestra cómo se pueden utilizar los métodos de analizadores dirigidos por la sintaxis para traducir a un código intermedio, construcciones de lenguajes de programación como declaraciones, asignaciones y proposiciones de flujo de control. La generación de código intermedio se puede intercalar en el análisis sintáctico. CÓDIGO DE TERCETOS Para facilitar la comprensión de esta fase, no generaremos código máquina puro, sino un código intermedio cercano a la máquina, que además facilitará la optimización de código. El código intermedio que vamos a usar, posee cuatro apartados: Operando 1º Operando 2º Operador Resultado Y se denomina código de 3 direcciones, de tercetos, o máximo 3 operandos. Las instrucciones de tres direcciones son análogas al código ensamblador, pueden tener etiquetas simbólicas y existen instrucciones para el flujo de control. Hay algunas instrucciones que carecen de algunos de estos apartados; los tercetos que podemos usar son: Asignación binaria: x := y op z, donde op es una operación binaria aritmética lógica. Asignación unaria: x := op, donde op es una operación unaria. Las operaciones unarias principales incluyen el menos unario, la negación lógica, los operadores de desplazamiento y operadores de conversión de tipos. Asignación simple o copia: x := y, donde el valor de y se asigna a x. Salto incondicional: goto etiqueta. Saltos condicionales: if x oprelacional y goto etiqueta Para llamar a un procedimiento se tienen códigos para meter los parámetros en la pila de llamadas, para llamar al procedimiento indicando el número de parámetros que debe recoger de la pila, para tomar un valor de la pila, y para retornar. param x Mete al parámetro real x en la pila. call p, n Llama al procedimiento p, y le dice que tome n parámetros de la cima de la pila pop x Toma un parámetro de la pila return y Retorna el valor y Docente: Ing. Mirko Manrique Ronceros ~ 2 ~
3 Asignación indexada: x := y[i]; x[i] := y, donde x o y es la dirección base, y donde i es el desplazamiento Asignación indirecta: x:=&y; x:=*y; Son asignaciones de direcciones y asignaciones de punteros La elección de operadores permisibles es un aspecto importante en el diseño de código intermedio. El conjunto de operadores debe ser lo bastante rico como para implantar las operaciones del lenguaje fuente. Un conjunto de operadores pequeño es más fácil de implantar en una nueva máquina objeto. Sin embargo un conjunto de instrucciones limitado puede obligar a la etapa inicial a generar largas secuencias de proposiciones para algunas operaciones del lenguaje fuente. En tal caso, el optimizador y el generador de código tendrán que trabajar más si se desea producir un buen código. Ejemplo de código de tercetos c = a label etqbucle if b = 0 goto etqfin b = b-1 c = c+1 goto etqbucle label etqfin Para ilustrar como se utiliza el código de tercetos en una gramática vamos a suponer que nuestra calculadora en vez de ser una calculadora interpretada es una calculadora compilada, es decir, en vez de interpretar las expresiones vamos a generar código intermedio equivalente. Tendremos en cuenta la posibilidad de utilizar variables. Las variables temporales sirven para almacenar resultados intermedios a medida que vamos calculando el resultado final. Cuando se genera código de tercetos, se construyen variables temporales para los nodos interiores del árbol sintáctico. Así, si por ejemplo tuviéramos la entrada: a = 3 + b c Docente: Ing. Mirko Manrique Ronceros ~ 3 ~
4 La pregunta es Y son equivalentes? - Sí, y además es muy parecido a un código máquina. Lo importante es saber hacer las reducciones y tener una gramática adecuada. El no terminal tiene que tener unos atributos asociados que los representen. temp1 representa a 3 + b temp2 representa a temp1 + 5 temp 3 representa a temp2 +c Lo importante es saber qué representa cada atributo y como puedo generar código. Hasta ahora, para generar el código de tercetos no hemos tenido que tener en cuenta los valores de a, b, y c. Por lo tanto no nos ha hecho falta ninguna tabla de símbolos para generar el código de terceto. Según el problema que tengamos planteado hay que ver si hace falta o no una tabla de símbolos. En el ejemplo anterior no hace falta una tabla de símbolos, porque no hay chequeo de tipos. Pero si tenemos un problema en el que exista una zona de declaración y una zona de definición, por ejemplo hacer un chequeo de tipos y un código de terceto, entonces sí nos haría falta tener una tabla de símbolos, o por ejemplo si decimos que el contenido de la dirección de memoria 12h = a, entonces también necesitamos una tabla de símbolos. Más adelante veremos un ejemplo implementado, en el que haremos la generación de código de tercetos para nuestra calculadora. Comentaremos algunos aspectos de dicho programa. Sólo vamos a necesitar hacer una traducción, es decir, entra un texto y sale otro resultado de hacer la traducción del texto que entra. Ejemplo: Entrada: a := 0 Salida: tmp1 = 0 a = tmp1 Lo único que vamos a hacer es sacarlo por pantalla, mediante printf. Código LEX. El 0 de a:=0 no necesitamos pasarlo a entero con atoi, ya que solo lo vamos a imprimir en pantalla. Al no terminal ID y al no terminal NUMERO, le vamos a asignar un atributo del tipo cadena llamado nombre. Código YACC: Docente: Ing. Mirko Manrique Ronceros ~ 4 ~
5 Los atributos asociados van a ser Por este motivo tengo que asignarle el tipo nombre a expr. Mediante la instrucción: %type <nombre> asig expr asig necesita tener asociado un tipo, para poder hacer la propagación en las asignaciones múltiples. Ejemplo: Vemos la regla prog prog : asig \n prog asig \n prog error \n ; Si no me interesa que un prog sea vacío ( ), no me basta con quitar la regla. Veamos qué ocurre si lo hiciésemos así prog : asig \n prog asig \n prog error \n ; Docente: Ing. Mirko Manrique Ronceros ~ 5 ~
6 Esto tiene problemas. Ejemplo: Si el error da en la segunda asignación. Pero, si el error da en la primera asignación. No funcionaría el compilador ya que nunca entraría por prog. Cómo se soluciona esto? - Añadiendo una regla prog : asig \n prog asig \n prog error \n error \n ; otra_etq( ): Genera variables temporales nuevas. En nuestro ejemplos se llaman var1, var2,... Resumiendo, los objetivos fundamentales en el código de tercetos son: Realizar una secuencia de printf (para la traducción) Gestionar adecuadamente los atributos Generación de código de tercetos en Sentencias de Control Utilizando código de tercetos, vamos a generar ahora el código correspondiente no sólo a las expresiones, sino también el correspondiente a las sentencias de control. En el caso de las expresiones, nos basábamos en las variables temporales para generar código. Ahora el problema son los cambios de flujos Docente: Ing. Mirko Manrique Ronceros ~ 6 ~
7 IF - THEN- ELSE CASE WHILE REPEAT Vamos a trabajar con cambios de flujos mediante condiciones: WHILE Mientras se cumple la condición REPEAT Hasta que se cumpla la condición Por ejemplo, si tenemos una instrucción como: Entrada Salida IF A > 0 THEN if A > 0 goto etq1 S1 := 1; goto etq2 ELSE label etq1 S2 := 2; S1 = 1 FIN SI; goto etq3 label etq2 S2 = 2 label etq3 Ahora vamos a ver cómo vamos a generar el código anterior. Primero identificamos los bloques principales de la entrada sent : IF cond THEN sent ELSE sent { Generar código de tercetos} ID ASIG expr {Generar código de tercetos} Antes de reducir el IF, tiene que tener el código generado de las dos sent. De forma que en pantalla vamos a tener. código generado sent 1 S1 = 1 código generado sent 2 S2 = 2 Esto es un problema porque entre las dos sentencias existe código S1 = 1 Código generado por sent1 goto etq3 label etq2 S2 = 2 Código generado por sent2. Docente: Ing. Mirko Manrique Ronceros ~ 7 ~
8 Hay que poner el código que existe entre las dos sentencias, esto podríamos hacerlo mediante la inclusión de reglas intermedias. Otro problema que nos encontramos es que tenemos que generar el código asociado a la condición. cond: expr > expr {genero código de tercetos} printf ( if %s > %s goto etq_verdad, $1,$3); printf( goto etq_falso ); Docente: Ing. Mirko Manrique Ronceros ~ 8 ~
2. Se puede aplicar a la representación intermedia un optimizador de código independiente de la máquina.
Traductores, Compiladores e Intérpretes 1 Tema 7 Generación de Código En el modelo de análisis y síntesis de un compilador, la etapa inicial traduce un programa fuente a una representación intermedia a
ANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos.
ANÁLISIS SEMÁNTICO El análisis semántico dota de un significado coherente a lo que hemos hecho en el análisis sintáctico. El chequeo semántico se encarga de que los tipos que intervienen en las expresiones
TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8.
TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. 1.) (HOLUB). Escribir un traductor que reconozca definiciones de C siguiendo el estilo antiguo, tal como: prueba(uno, dos, tres, cuatro,
Figura 4.1 Clasificación de los lenguajes de bases de datos
1 Colección de Tesis Digitales Universidad de las Américas Puebla Romero Martínez, Modesto Este capítulo describen los distintos lenguajes para bases de datos, la forma en que se puede escribir un lenguaje
Tutorial Básico de vbscript
Tutorial Básico de vbscript Bueno, primero aclarar que este tutorial, pretende explicar de manera básica las distintas instrucciones aplicadas en visual basic script (vbs de aquí en más), para que así
Sesión 8 Sensor de Ultrasonido
Sesión 8 Sensor de Ultrasonido FIG. 16.1 - ANIMALES ULTRASÓNICOS. FUENTE: [1] Qué aprenderemos en esta sesión? Recordemos Para esta sesión, necesitaremos un aporte de la sesión pasada, ya que, así como
4 o Ingeniería Informática
Esquema del tema 1. Introducción 4 o Ingeniería Informática II26 Procesadores de lenguaje Estructura de los compiladores e intérpretes 2. Etapas del proceso de traducción 3. La interpretación 4. La arquitectura
1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1
5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0
Curso de PHP con MySQL Gratis
Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este
TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.
TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.
Modulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Tema 4. Gestión de entrada/salida
Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada
5.1.1 Sumadores con anticipación de Acarreo. g i = a i b i. c i = c i-1 p i + g i s i = p i + c i-1. c 0 = g 0 + c -1 p 0
5.1.1 Sumadores con anticipación de Acarreo. El sumador paralelo de n bits que se ha mostrado hasta ahora, tiene un nivel de retardo de 2*n puertas, pues necesita 2*n etapas de puertas lógicas para que
Módulo 9 Sistema matemático y operaciones binarias
Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional
Sistema de Facturación de Ventas WhitePaper Enero de 2007
Sistema de Facturación de Ventas WhitePaper Enero de 2007 Ronda Guglielmo Marconi, 9 Parque Tecnológico 46980 Paterna Valencia Spain T +34 96 338 99 66 [email protected] Please Recycle PrefSuite Document
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS Clase 1. Introducción Profesor: Diego Sánchez Gómez Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases
Ecuaciones de primer grado con dos incógnitas
Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad
Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Tema 2. Diseño del repertorio de instrucciones
Soluciones a los problemas impares Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 16 Tema 2: Hoja: 3 / 16 Base teórica Al diseñar un computador,
1. Objetivos. 2. Idea Principal. Teoría de Autómatas y Lenguajes Formales. Boletín de Autoevaluación 3: Cómo se minimiza un AFD?.
Teoría de Autómatas y Lenguajes Formales Boletín de Autoevaluación 3: Cómo se minimiza un AFD?.. Objetivos. El objetivo de este boletín es ilustrar uno de los métodos ue permiten obtener el Autómata Finito
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
SOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA
TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido
En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
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
Manual para la utilización de PrestaShop
Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para
La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente.
PLANTILLAS EN PHP El concepto de plantilla, es un criterio del desarrollo web que propone optimizar la cantidad de documentos HTML que se usan en el desarrollo de un sitio web. A lo largo de la navegación
Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.
Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.
Tiempo de Compilación. Programa fuente. Secuencia. de caracteres. Scanner. Secuencia. de símbolos Parser. Compilador.
ORGANIZACIÓN DE LA MEMORIA EN TIEMPO DE EJECUCIÓN Compilador Tiempo de Compilación Programa fuente Secuencia de caracteres Scanner Secuencia de símbolos Parser Árbol sintáctico Analizador semántico Generador
Tema 1: Computadores y Programas
Tema 1: Computadores y Programas Ingeniería Informática Ingeniería Técnica en Informática de Sistemas Ingeniería Técnica en Informática de Gestión Departamento de Ciencia de la Computación e I.A. Universidad
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que
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)
GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)
APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I
INTRODUCCION A LA PROGRAMACION DE PLC
INTRODUCCION A LA PROGRAMACION DE PLC Esta guía se utilizará para estudiar la estructura general de programación de um PLC Instrucciones y Programas Una instrucción u orden de trabajo consta de dos partes
UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3
UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:
Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto
Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto Apellidos, nombre Martí Campoy, Antonio ([email protected]) Departamento Centro Informática de Sistemas
Generación de Código Intermedio
Generación de Código Intermedio Francisco Rodríguez Zamora Universidad de Costa Rica, Escuela de Ciencias de Computación e Informática San José, Costa Rica [email protected] Jonathan Calderón
UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS
UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS Unidad 6: Polinomios con coeficientes enteros. Al final deberás haber aprendido... Expresar algebraicamente enunciados sencillos. Extraer enunciados razonables
Sistemas de Gestión de Calidad. Control documental
4 Sistemas de Gestión de Calidad. Control documental ÍNDICE: 4.1 Requisitos Generales 4.2 Requisitos de la documentación 4.2.1 Generalidades 4.2.2 Manual de la Calidad 4.2.3 Control de los documentos 4.2.4
Entre los más conocidos editores con interfaz de desarrollo tenemos:
Herramientas de programación Para poder programar en ensamblador se precisa de algunas herramientas básicas, como un editor para introducir el código, un ensamblador para traducir el código a lenguaje
Práctica del paso de generación de Leads
Práctica del paso de generación de Leads La parte práctica de este módulo consiste en poner en marcha y tener en funcionamiento los mecanismos mediante los cuales vamos a generar un flujo de interesados
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
Plan de Gestión Medioambiental para obras urbanas
Plan de Gestión Medioambiental para obras urbanas MARÍA JOSÉ JIMÉNEZ FERNÁNDEZ Obrascón Huarte Lain, S. A. C/ Gobelas, 41-43. 28023 El Plantío, MADRID. [email protected] RESUMEN Objeto de la comunicación
Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.
Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden
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
Manual SBR. Pero antes de explicar las actividades que principalmente podemos desarrollar vamos a dar una visión global de la aplicación.
Manual SBR Este proyecto consta de una herramienta denominada SBR mediante la cual el usuario podrá realizar principalmente las siguientes actividades: Crear un nuevo dominio. Modificar el dominio existente.
Lección 24: Lenguaje algebraico y sustituciones
LECCIÓN Lección : Lenguaje algebraico y sustituciones En lecciones anteriores usted ya trabajó con ecuaciones. Las ecuaciones expresan una igualdad entre ciertas relaciones numéricas en las que se desconoce
Cómo consultar una base de datos?
Cómo consultar una base de datos? Cómo consultar una base de datos Las bases de datos y los catálogos son fuentes muy valiosas para almacenar y recuperar la información. Las bases de datos muestran qué
Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS
Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 5. Cómo declaramos una variable en Lenguaje C? En C siempre se deben declarar las variables.
TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS
TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS 1) EL PEQUEÑO EDITOR El Bloc de notas de Windows XP es un básico editor de texto con el que podemos escribir anotaciones, de hasta 1024 caracteres por línea y
Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario
Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),
Creacion de Script. Que es un Script?
Creacion de Script Que es un Script? Los scripts son un conjunto de instrucciones generalmente almacenadas en un archivo de texto que deben ser interpretados línea a línea en tiempo real para su ejecución,
QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D)
APRENDERAPROGRAMAR.COM QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D) Sección: Divulgación Categoría: Lenguajes y entornos
Estructuras de Datos y Algoritmos. Árboles de Expresión
Estructuras de Datos y Algoritmos Árboles de Expresión Año 2014 Introducción Los avances tecnológicos producen día a día una gran cantidad de información que debe ser almacenada y procesada en forma eficiente.
Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.
Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios
TITULO Editorial Autores ISBN AÑO
Calidad en el Desarrollo de Software Bibliografía TITULO Calidad en el desarrollo y mantenimiento del software Editorial Alfaomega Autores Mario G. Piattini y Félix O. García ISBN 970-15-0899-8 AÑO 2003
Estructuras de datos: Proyecto 2
Estructuras de datos: Proyecto 2 28 de mayo de 2013 Instrucciones Enviar las soluciones por email a los ayudantes, con copia a la profesora. Plazo de entrega: 16 de junio (durante todo el día). Se debe
PS.Vending Almacén Pocket PC
Versión 1.0 Enero 2013 Autor: Pedro Naranjo Rodríguez www.psvending.es Contenido Qué es PS.Vending Almacén Pocket PC?... 3 Funciona PS.Vending Almacén Pocket PC independiente de PS.Vending?... 3 Requisitos...
Basic Object Oriented Programming (BOOP) Gramática del Lenguaje. Ever Mitta Flores
Ever Mitta Flores Índice 1. Clase @Principal...3 2. Comentarios...3 3. Definición de Atributos...3 4. Definición de Métodos...4 5. Declaración de Variables...4 6. Asignación de Valores...5 7. Definición
Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL
Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Índice 1 Introducción... 5 1.1 Perfil de la aplicación... 5 1.2 Requisitos técnicos... 5 2 Manual de usuario... 7 2.1 Instalación del certificado...
Covarianza y coeficiente de correlación
Covarianza y coeficiente de correlación Cuando analizábamos las variables unidimensionales considerábamos, entre otras medidas importantes, la media y la varianza. Ahora hemos visto que estas medidas también
ARQUITECTURA DE DISTRIBUCIÓN DE DATOS
4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia
Capítulo 0. Introducción.
Capítulo 0. Introducción. Bueno, por fin está aquí el esperado (espero!!) Capítulo Cero del Tutorial de Assembler. En él estableceremos algunos conceptos que nos serán de utilidad a lo largo del Tutorial.
Sistemas de numeración
Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan
Semana 08 [1/15] Axioma del Supremo. April 18, 2007. Axioma del Supremo
Semana 08 [1/15] April 18, 2007 Acotamiento de conjuntos Semana 08 [2/15] Cota Superior e Inferior Antes de presentarles el axioma del supremo, axioma de los números reales, debemos estudiar una serie
GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS
GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS 1.- PLANTILLA DE PUBLICACIONES En este maestro crearemos la publicación base sobre la cual el programa generará
Ingº CIP Fabian Guerrero Medina Master Web Developer-MWD
1 Java es un lenguaje de programación de Sun Microsystems originalmente llamado "Oak. James Gosling Bill Joy 2 Oak nació para programar pequeños dispositivos electrodomésticos, como los asistentes personales
La ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Tema 7: Programación con Matlab
Tema 7: Programación con Matlab 1. Introducción Matlab puede utilizarse como un lenguaje de programación que incluye todos los elementos necesarios. Añade la gran ventaja de poder incorporar a los programas
6. DESCRIPCIÓN DEL SOFTWARE
Capítulo 2. Equipo 6. DESCRIPCIÓN DEL SOFTWARE 6.1 Introducción El equipo de medida descrito en el capítulo anterior lleva asociado un software que hace de sistema de control del proceso de medición. Este
18. Camino de datos y unidad de control
Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 18. Camino de datos y unidad de control Un La versatilidad una característica deseable los Los
Quitar de un Directorio Activo Un Servidor que es el Maestro de Operaciones En Windows 2000 Server y Windows Server 2003
Quitar de un Directorio Activo Un Servidor que es el Maestro de Operaciones En Windows 2000 Server y Windows Server 2003 Josep Ros Suprimir un Maestro de Operaciones de Directorio Activo Introducción La
Unidad Didáctica. Códigos Binarios
Unidad Didáctica Códigos Binarios Programa de Formación Abierta y Flexible Obra colectiva de FONDO FORMACION Coordinación Diseño y maquetación Servicio de Producción Didáctica de FONDO FORMACION (Dirección
MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD
MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...
GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES
GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. [email protected]
QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros.
QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros. Qué significa esto? Decir que una empresa es eficiente es decir que no
ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ
ELECTRÓNICA DIGITAL DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ IES TRINIDAD ARROYO DPTO. DE ELECTRÓNICA ÍNDICE ÍNDICE... 1 1. LIMITACIONES DE LOS CONTADORES ASÍNCRONOS... 2 2. CONTADORES SÍNCRONOS...
GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE
ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19
2.3 El Mundo de Tarski. http://cursos.clavijero.edu.mx/cursos/007_cp/modulo2/contenidos/documentos/tarski.zip
2.3 El Mundo de Tarski El mundo de Tarski es una herramienta de software desarrollada expresamente para enseñar y mejorar la capacidad del estudiante para describir situaciones en un mundo simple utilizando
SISTEMAS DE NUMERACIÓN. Sistema decimal
SISTEMAS DE NUMERACIÓN Sistema decimal Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros días, tal es el caso de los "números romanos",
PDC Web 2.0. Manuales del usuario Abonos de Lotería
PDC Web 2.0 Manuales del usuario Abonos de Lotería Fecha Creación 20/03/2015 ABONOS DE LOTERIA 1. INTRODUCCION 1.1. QUE ES UN ABONO DE LOTERIA? El Abono de Lotería es un servicio voluntario que ofrece
UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007
UNIVERSIDAD DE SEVILLA E. T. S. INGENIERÍA INFORMÁTICA LENGUAJES Y SISTEMAS INFORMÁTICOS PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 Qué es el análisis
Fórmulas. Objetivos y Definición. Definir fórmulas nos brinda una forma clave de compartir conocimiento y obtener código generado optimizado
97 Objetivos y Definición Definir fórmulas nos brinda una forma clave de compartir conocimiento y obtener código generado optimizado Cuando el valor de un atributo o variable puede calcularse a partir
Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología
Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto
Control, Instrumentación e Instalaciones Ingeniería Ambiental
Control, Instrumentación e Instalaciones Ingeniería Ambiental TEMA 3. LABORATORIO. El Autómata Siemens S7-300. Programación Básica Alfredo Rosado Curso Académico 2010-2011 Control, Instrumentación e Instalaciones.
CAPITULO V. SIMULACION DEL SISTEMA 5.1 DISEÑO DEL MODELO
CAPITULO V. SIMULACION DEL SISTEMA 5.1 DISEÑO DEL MODELO En base a las variables mencionadas anteriormente se describirán las relaciones que existen entre cada una de ellas, y como se afectan. Dichas variables
PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:
PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los
NUEVAS SOLUCIONES y CAMBIOS EN LA GESTION DEL NEGOCIO. JOSE LUIS LENCE Socio Director de Gesfarm Consultoria Farmacias
OPORTUNIDADES CON NUESTROS CONSUMIDORES - COMPRADORES ( GEOMARKETING ) LOS NUEVOS TIEMPOS Y LA SITUACIÓN ACTUAL, REQUIEREN NUEVAS SOLUCIONES y CAMBIOS EN LA GESTION DEL NEGOCIO. JOSE LUIS LENCE Socio Director
Gestión de Retales WhitePaper Noviembre de 2009
Gestión de Retales WhitePaper Noviembre de 2009 Contenidos 1. Introducción 3 2. Almacén de retales 4 3. Propiedades de los materiales 6 4. Alta de retales 8 5. Utilización de retales en un lote de producción
CICLO DE LOS PARTES DE TRABAJO EN EL PROGRAMA PARA LA GESTIÓN DEL MANTENIMIENTO
CICLO DE LOS PARTES DE TRABAJO EN EL PROGRAMA PARA LA GESTIÓN DEL MANTENIMIENTO Objeto: Esta presentación pretende ser una guía indicativa del flujo que sigue la información de los trabajos de MANTENIMIENTO
Guía de uso del Cloud Datacenter de acens
guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar
PHP Perfect SQL v1.0 (SQL perfectas en PHP)
PHP Perfect SQL v1.0 (SQL perfectas en PHP) Muchas veces cuando programamos para web es muy fácil cometer errores en la construcción sintáctica de consultas SQL, por ejemplo cuando tenemos que realizar
Y tú, cómo mides tus campañas? Las claves para aumentar tus conversiones.
Y tú, cómo mides tus campañas? Las claves para aumentar tus conversiones. Hoy en día la analítica web resulta esencial para medir la eficacia de nuestras campañas, pero no siempre tenemos claro cómo interpretar
Ejercicio de estadística para 3º de la ESO
Ejercicio de estadística para 3º de la ESO Unibelia La estadística es una disciplina técnica que se apoya en las matemáticas y que tiene como objetivo la interpretación de la realidad de una población
2.1.- EJEMPLO DE UN PROGRAMA FORTRAN
2.1.- EJEMPLO DE UN PROGRAMA FORTRAN Con el presente apartado comenzaremos a conocer cómo se escribe un programa en lenguaje FORTRAN bajo el entorno de programación FORTRAN. En primer lugar conozcamos
PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.
PHPMYADMIN Y MYSQL Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PhpMyAdmin es una herramienta para la administración del servidor de base de datos MySQL que dispone
QUE ES UN CUPO? Cupos 1
QUE ES UN CUPO? Algunos establecimientos de Hostelería trabajan con Agencias y Centrales de Reservas que establecen contratos para poder disponer de un determinado número de habitaciones, siempre que confirmen
MANUAL DE USUARIO INTRANET
MANUAL DE USUARIO INTRANET Partes de la Intranet. La intranet se divide en varias partes claramente diferenciadas, que facilitan la navegación a través de la misma. A) Cabecera Es la parte estática de
