TEMA 1: INTRODUCCIÓN
|
|
- María Jesús Aguirre Prado
- hace 8 años
- Vistas:
Transcripción
1 1 DISEÑO Y DESARROLLO DE COMPILADORES TEMA 1: INTRODUCCIÓN Qué es un Compilador? Un compilador no es más que un traductor, es decir, un programa que nos permite pasar información de un lenguaje a otro. Por ejemplo, un compilador de C nos permite traducir ficheros escritos en lenguaje C a un lenguaje legible para la máquina (ensamblador). El proceso de compilación no siempre es directo. Esto quiere decir que si partimos de un lenguaje A y queremos traducir a un lenguaje B, no siempre será recomendable traducir directamente de A a B, si no que puede ser conveniente usar un lenguaje intermedio (llamémosle X) y entonces diseñaríamos un traductor de A a X, y otro de X a B. En este caso, el primer traductor recibe el nombre de front-end mientras que el segundo se llama back-end. El lenguaje A es el lenguaje fuente y el lenguaje B es el lenguaje objeto o destino. Un compilador es un programa que lee un programa en un lenguaje y lo traduce a un programa equivalente en otro lenguaje, y además informa al usuario sobre la presencia de errores en el programa de entrada. PROGRAMA FUENTE COMPILADOR PROGRAMA OBJETO MENSAJES DE ERROR Generalmente al lenguaje fuente se le asocia como lenguaje de alto nivel, mientras al lenguaje objeto se le conoce como código objeto (código de maquina) escrito específicamente para una maquina objeto. A lo largo del proceso de traducción el compilador debe informar la presencia de errores en el lenguaje fuente. Diseñar y desarrollar un compilador, no es tarea fácil, y quizás pocos profesionales de la computación se vean involucrados en esta tarea. No obstante, los compiladores se utilizan en casi todas las formas de la computación y cualquiera involucrado en esta área debería conocer la organización y el funcionamiento básico de un compilador.
2 2 DISEÑO Y DESARROLLO DE COMPILADORES Diseño de un compilador A continuación mostramos un diagrama de bloques que representa las fases a seguir en el proceso de diseño de un compilador además de los elementos auxiliares que necesitamos en cada fase. Figura 1: Pasos a seguir para diseñar un Compilador Al final tendremos un único programa que sería el traductor. Este traductor tendría un analizador sintáctico, y a su vez el analizador sintáctico tendría un analizador léxico. Partes de la compilación En la compilación hay dos partes: análisis y síntesis. La parte del análisis divide al programa fuente en sus elementos componentes y crea una representación intermedia del programa fuente. La parte de síntesis construye el programa objeto deseado a partir de la representación intermedia. ANÁLISIS (Etapa Inicial): o Divide al Programa Fuente en sus elementos componentes y crea una representación intermedia. o Se determinan las operaciones y se registran en una estructura de árbol (ej. árbol sintáctico) SÍNTESIS (Etapa Final): o Construye el Programa Objeto deseado a partir de la representación Intermedia (requiere técnicas más especializadas) Contexto de un compilador Además de un compilador, se pueden necesitar otros programas para crear un programa objeto ejecutable. Un programa fuente se puede dividir en módulos almacenados en archivos distintos. La tarea de reunir el programa fuente a menudo se confía a un programa distinto, llamado preprocesador. Clasificación de los Compiladores Los compiladores presentan la siguiente clasificación general: De una pasada o de múltiples pasadas De carga y de ejecución
3 3 DISEÑO Y DESARROLLO DE COMPILADORES De depuración o de optimización Historia de los Compiladores A finales de la década de 1940, comenzaron a construirse las primeras computadoras digitales y fue necesario implementar un lenguaje de capas para realizar los cálculos, es aquí donde aparece el lenguaje de máquina que representaba secuencias de códigos numéricos: C (instrucción que mueve el número dos a la ubicación 0000) Desafortunadamente este lenguaje era tedioso de seguir y complicado de mantener, por lo que esta forma de codificación fue reemplazada por el lenguaje ensamblador, en el cual las instrucciones y las localidades de memoria son formas simbólicas. Un ensamblador traduce de los códigos simbólicos a lenguaje de máquina. Aún con esta mejora, el lenguaje ensamblador sigue siendo demasiado difícil de mantener: MOV X, 2 (instrucción en ensamblador equivalente a la anterior) En este punto se presenta la necesidad de lenguajes que permitan escribir los programas de forma concisa, similar a una notación matemática, y que se pudieran traducir a código ejecutable para una máquina dada: X = 2 En 1950, G. M. Hooper acuña el término compilador y aparecen los pri meros trabajos sobre compiladores relacionados con la traducción de fórmulas aritméticas a código de máquina. John Backus lideró un grupo de trabajo en IBM para realizar de un traductor de código máquina a fórmulas matemáticas. Resultando con gran éxito: la especificación de un lenguaje de alto nivel (FORTRAN, FORmule TRANslation) Trabajaron 18 personas durante más de un año en el proyecto. Fue un compilador hecho ad-hoc (a puro corazón), pues no existía una teoría formal, sino que se iban resolviendo las construcciones una a una, para cada situación particular. Noam Chomsky comienza sus estudios sobre la estructura del lenguaje natural. Sus estudios lo condujeron a la clasificación de los lenguajes de acuerdo a una jerarquía de sus gramáticas, además sus estudios sobre los algoritmos de reconocimiento derivaron en una automatización del proceso de traducción más eficiente. 1960, se diseña el lenguaje LISP. En un principio, el código LISP se traducía manualmente a código máquina. Se escribió en LISP un programa capaz de interpretar programas LISP, que se tradujo manualmente a código de máquina, construyendo de este modo un intérprete ejecutable de LISP. Knuth desarrolla la mayoría de las técnicas de análisis sintáctico. 1970, se presentan los mayores avances en el área de lenguajes de programación. Aparecen los primeros programas que automatizan los procesos de análisi s léxico y sintáctico. Surgiendo la llamada Torre de Babel debido a la proliferación de la teoría para la construcción de compiladores.
4 4 DISEÑO Y DESARROLLO DE COMPILADORES Niklaus Wirth, diseña Pascal, pensado para la enseñanza. Wirth propone el concepto de representación intermedia de código, separando el proceso de traducción en dos fases: el front-end encargada de analizar el programa fuente (operaciones dependientes sólo del lenguaje fuente) y el back-end encargada de generar el código para la máquina objeto. 1980, comienzan a proliferar las técnicas de mejoramiento de código (optimización), se consolida y prolifera el concepto de asignación y liberación de memoria dinámica. La programación orientada a objetos es extensamente utilizada y madura. 1990, los lenguajes de programación y compiladores son muy similares a lo que tenemos actualmente, surgen los ambientes de desarrollo, los lenguajes interpretados comienza a ganar terreno en aplicaciones de Internet y el código intermedio se vuelve a poner de moda. A continuación vemos una figura que ilustra la evolución de los compiladores: Computadoras Hombre CÓDIGO MÁQUINA CÓDIGO MÁQUINA LENGUAJE COMPILADOR CÓDIGO MÁQUINA LENGUAJE LENGUAJE DE ALTO NIVEL Figura 2: Evolución de los Compiladores El Diseño de un compilador surge como resultado de: Desarrollo de un nuevo lenguaje de programación Adición de extensiones a los ya existentes Explotación de las características del hardware A futuro se busca: Extensión para el cómputo paralelo y distribuido
5 5 DISEÑO Y DESARROLLO DE COMPILADORES Ambiente General de Compilación La siguiente imagen nos muestra el proceso de Compilación, desde el Programa Fuente, la etapa de Análisis (Léxico, Sintáctico, Semántico), la generación de Código Intermedio, el Enlace y Relocalización en memoria, y finalmente la Generación de Código o Programa Objeto. Fuente Análisis léxico Análisis sintáctico Análisis semántico Intermedio Generador de código Código relocalizable Enlazador Objeto Figura 3: Ambiente General de Compilación
6 6 DISEÑO Y DESARROLLO DE COMPILADORES Tipos de Sistemas de Compilación o Traducen programas escritos en lenguaje ensamblador a código máquina. o Programa que convierte de lenguaje mnemónico a lenguaje máquina, generando un archivo con el código objeto equivalente al código fuente completo, junto con información necesaria para el montaje. COMPILADOR o Traducen programas escritos en lenguaje de alto nivel a código intermedio o a código máquina. o Programa que convierte un archivo de lenguaje de programación a su correspondiente en lenguaje objeto. Siendo en realidad es un tipo específico de traductor. INTERPRETE o No genera código objeto, analiza y ejecuta directamente cada proposición del Programa Fuente (PF). o Los intérpretes ejecutan las instrucciones del programa según se vayan presentando. Necesitan menos memoria, pero son más lentos que los compiladores (LISP, Prolog). Históricamente, se pusieron de moda en los primeros años porque los recursos de memoria eran escasos. o Permiten añadir código dinámicamente durante la ejecución. PREPROCESADOR o Sustituyen macros, incluyen archivos o extensión del lenguaje. FORMADORES DE TEXTO o Toman como entrada una cadena de caracteres que incluye el texto a componer y órdenes (TAG s) para indicar capítulos, secciones, párrafos, enumeraciones, figuras, formulas, tablas, etc. (Latex, Html). LENGUAJES DE PROGRAMACIÓN INTERPRETADOS o Están diseñados para ser ejecutados por medio de intérprete a partir de un código precompilado. o Por ejemplo Java es compilado para posteriormente ser ejecutado por un traductor del lenguaje objeto denominado Java Virtual Machine. o Mientas que los lenguajes de la plataforma.net compilan en una forma intermedia (CIL), que posteriormente puede ser recompilado a código de máquina nativo o interpretado por una máquina virtual. o Lenguajes como Python y Java emplean representaciones intermedias de código para ser ejecutadas, mientras que lenguajes como Ruby emplean un árbol de sintaxis abstracta como representación intermedia. Ventajas del compilador Se compila una vez, se ejecuta n-veces. En bucles, la compilación genera código equivalente al bucle pero un intérprete se traduce tantas veces una línea como veces se repite el bucle. El compilador tiene una visión global del programa, por lo que la información de mensajes de errores es más detallada.
7 7 DISEÑO Y DESARROLLO DE COMPILADORES Ventajas del intérprete Un intérprete necesita menos memoria que un compilador. Permite una mayor interactividad con el código en tiempo de desarrollo. Ventajas del compilador - intérprete Proporcionan algo de flexibilidad extra. Son independientes de la plataforma en la que se ejecuten. Permiten un mecanismo de reflexión. Tipos de datos altamente dinámicos. Gestión de memoria dinámica. Fácilmente depurables y reducidos en tamaño. Fases de un Compilador Un compilador se compone internamente de varias etapas, o fases, que realizan operaciones lógicas. Es útil pensar en estas fases como piezas separadas dentro del compilador, y pueden en realidad escribirse como operaciones codificadas separadamente aunque en la práctica a menudo se integran. A continuación describiremos brevemente cada una de ellas: Análisis Léxico Análisis Sintáctico Análisis Semántico Generación y Optimización de código intermedio Generación de código objeto Figura 4: Fases de la Compilación
8 8 DISEÑO Y DESARROLLO DE COMPILADORES Análisis léxico.- Fase en la cual se leen las cadenas de caracteres del programa fuente y se agrupan en componentes léxicos, que son secuencias de caracteres que tienen un significado colectivo. Los espacios en blanco que separan los caracteres de estos componentes léxicos normalmente se eliminan durante este análisis. Análisis sintáctico.- Fase en la cual los caracteres o componentes léxicos se agrupan jerárquicamente en colecciones anidadas con un significado colectivo. Se agrupan los componentes léxicos del programa fuente en frases gramaticales que el compilador utiliza para sintetizar la salida. Estas frases gramaticales se representan con un árbol de análisis sintáctico. Análisis semántico.- Fase en la cual se realizan ciertas revisiones para asegurar que los componentes de un programa se ajustan de un modo significativo. Esta fase revisa el programa fuente para tratar de encontrar errores semánticos y reúne la información sobre los tipos para la fase posterior de generación de código. Verifica si cada operador tiene operandos permitidos por el lenguaje fuente. Generación de código intermedio.- Algunos compiladores generan una representación intermedia explícita del programa fuente. Esta representación intermedia debe tener dos propiedades: debe ser fácil de producir y fácil de traducir al programa objeto. Optimación de código.- La fase de optimación de código trata de mejorar el código intermedio, de modo que resulte un código de máquina más rápido de ejecutar. Generación de código.- La fase final de un compilador es la generación de código objeto, que por lo general consiste en código de máquina relocalizable o código ensamblador. Administrador de la tabla de símbolos.- Una función esencial de un compilador es registrar los identificadores utilizados en el programa fuente y reunir información sobre los distintos atributos de cada identificador. Una tabla de símbolos es una estructura de datos que contiene un registro por cada identificador, con los campos para los atributos del identificador. Detección e información de errores.- Cada fase puede encontrar errores. Sin embargo, después de detectar un error, cada fase debe tratar de alguna forma ese error, para poder continuar la compilación, permitiendo la detección de más errores en el programa fuente.
Introducción a compiladores. Universidad Autónoma de Aguascalientes Prof. Eduardo Serna-Pérez Correo-e: eduardo.serna@gmail.com
Introducción a compiladores Universidad Autónoma de Aguascalientes Prof. Eduardo Serna-Pérez Correo-e: eduardo.serna@gmail.com Introducción a compiladores Definición de compilador Historia de los compiladores
Más detallesProcesadores de lenguaje Tema 1: Introducción a los compiladores
Procesadores de lenguaje Tema 1 Introducción a los compiladores Salvador Sánchez, Daniel Rodríguez Departamento de Ciencias de la Computación Universidad de Alcalá Resumen del tema Traductores Estructura
Más detallesCompiladores 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)
Más detallesTema 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 detallesArquitectura de Aplicaciones
1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento
Más detallesTEMA 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
Más detallesCiclo 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
Más detallesInstituto Tecnológico de Celaya
LENGUAJES Lenguaje es el empleo de notaciones, señales y vocales (voz, palabras) para expresar ideas, comunicarse, y establecer relaciones entre los seres humanos. Un lenguaje no sólo consta de palabras,
Más detallesGENERACIÓN DE CÓDIGO
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
Más detallesElementos requeridos para crearlos (ejemplo: el compilador)
Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción
Más detallesCAPITULO 3 VRML-JAVA-WWW
CAPITULO 3 VRML-JAVA-WWW 50 3.1 Introducción En éste capítulo se comenta brevemente sobre el origen y esencia de los lenguajes VRML 2 y Java, así como de la forma en que se pueden éstos complementar para
Más detallesInformática I para Bachillerato
CIMAT Introducción a la programación en C/C++ CIMAT Sesión 1 Temario Evaluación Noticias y Material del Curso Sobre la clase: Tareas Objetivo del Curso Inicio de curso Temario: 1 Introducción a la Programación
Más detallesIngº 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
Más detallesPROGRAMACIÓ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
Más detallesARQUITECTURA 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
Más detallesCapitulo III. Diseño del Sistema.
Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje
Más detallesCreación y administración de grupos de dominio
Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer
Más detalles4 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
Más detallesINDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes
INDICE Parte I. Conceptos 1 1. El estudio de los lenguajes de programación 1.1. Por qué estudiar lenguajes de programación? 2 1.2. Breve historia de los lenguajes de programación 1.2.1. Desarrollo de los
Más detallesMACROS. Automatizar tareas a través del uso de las macros.
OBJETIVOS MACROS Definiciones Automatizar tareas a través del uso de las macros. Grabar Ejecutar Manipular macros. Tipos de Macros en Excel Introducción Las operaciones tradicionales que se pueden realizar
Más detallesCAPÍTULO 3 VISUAL BASIC
CAPÍTULO 3 VISUAL BASIC 3.1 Visual Basic Microsoft Visual Basic es la actual y mejor representación del viejo lenguaje BASIC, le proporciona un sistema completo para el desarrollo de aplicaciones para
Más detallesEntre 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
Más detallesMódulo I Unidad Didáctica 2
Módulo I Unidad Didáctica 2 Introducción Tal como un periódico, por ejemplo, no es sólo una colección de artículos, un sitio Web no puede ser simplemente una colección de páginas. Qué se busca al diseñar
Más detallesTema 6. Gestión de la memoria
Tema 6. Índice Introducción Compartición de memoria Memoria virtual Soporte en los procesadores: la MMU en Linux en Windows NT/2000 1 Tema 6. Introducción Necesidad de la gestión de la memoria Requisitos
Más detallesEstas visiones de la información, denominadas vistas, se pueden identificar de varias formas.
El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los
Más detallesPROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS
PROGRAMACIÓN BÁSICA DE LA COMPUTADORA 1 Introducción Un sistema de computadora total incluye tanto circuitería (hardware) como programación (software). El hardware consta de los componentes físicos y todo
Más detallesPropuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA
Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)
Más detallesProcessadors de Llenguatge II. Compiladores
Processadors de Llenguatge II Compiladores Que es un compilador Un traductor es cualquier programa que toma un texto escrito en un lengiaje y da como salida en otro lenguaje(llamado objeto) texto lenguaje
Más detallesESCUELA NORMAL PROFESOR CARLOS A. CARRILLO
ESCUELA NORMAL PROFESOR CARLOS A. CARRILLO Primer Semestre Licenciatura en Educación Primaria Profesor: Cruz Jorge Fernández Alumna: Sandra Carina Villalobos Olivas Unidad II ACTIVIDAD 3 Software Se conoce
Más detallesUnidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)
Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.
Más detallesBloque II. Elementos del lenguaje de programación Java
Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida
Más detallesFigura 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
Más detallesM.T.I. Arturo López Saldiña
M.T.I. Arturo López Saldiña Hoy en día, existen diversas aproximaciones al tema de cómo hacer que las personas trabajen dentro de una organización de manera colaborativa. El problema se vuelve más difícil
Más detallesA continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante
Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,
Más detallesTABLA 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.
Más detallesBase de datos en Excel
Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de
Más detallesDecisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.
Diagrama de Flujo La presentación gráfica de un sistema es una forma ampliamente utilizada como herramienta de análisis, ya que permite identificar aspectos relevantes de una manera rápida y simple. El
Más detallesEjemplos básicos de webmathematica para profesores
Ejemplos básicos de webmathematica para profesores Cualquier cálculo hecho dentro Mathematica puede ser realizado usando webmathematica con dos limitaciones significativas. Primero, al usar webmathematica,
Más detallesTema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática
Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción
Más detalles1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura
1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos
Más detallesTraductores Push Down para Gramáticas LL
Push Down para Gramáticas LL Extensión de Autómatas Universidad de Cantabria Outline El Problema 1 El Problema 2 3 4 El Problema Podemos resolver el problema de la palabra para lenguajes generados por
Más detallesComunicación con la Computadora
Comunicación con la Computadora Programación Básica Copyright CARIMOBITS Comunicación con la computadora Se logra a través de lenguajes de computadoras o lenguajes de programación. Tipos de lenguajes de
Más detallesIntroducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual
Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los
Más detallesOperación Microsoft Access 97
Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe
Más detallesIntroducción a los Tipos Abstractos de Datos
Página 1 de 8 Introducción a los Tipos Abstractos de Datos Introducción: Concepto de abstracción Abstracción funcional y abstracción de datos Construcción de tipos abstractos de datos Especificación de
Más detallesDesarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y
1. Paradigmas de programación Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y automáticamente convertibles
Más detallesEl soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.
El soporte del sistema operativo Objetivos y funciones del sistema operativo Comodidad Hace que un computador sea más fácil de usar. Eficiencia Permite que los recursos del computador se aprovechen mejor.
Más detallesEstructuras de Control - Diagrama de Flujo
RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.
Más detallesTema 1: Introducción
Tema 1: Introducción Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 1: Introducción 1 / 12 Definición de compilador Un compilador
Más detallesEstructuras de Sistemas Operativos
Estructuras de Sistemas Operativos Definicion de Sistema Operativos Un sistema operativo es un programa que actua como inter entre el usuario y el hardware de un computador y su proposito es proporcionar
Más detallesLa utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.
Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el
Más detallesCurso PHP Módulo 1 R-Luis
Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.
Más detallesIntroducción a la Programación 11 O. Humberto Cervantes Maceda
Introducción a la Programación 11 O Humberto Cervantes Maceda Información del profesor Humberto Cervantes Maceda T 138 www.humbertocervantes.net/cursos Acerca de ustedes Nombre Carrera Qué experiencia
Más detallesAlgoritmos y Diagramas de Flujo 2
Algoritmos y Diagramas de Flujo 2 Programación Java NetBeans 7.0 RPC Contenido 2.1 Algoritmo...1 Fase de creación de un algoritmo...1 Herramientas de un algoritmo...2 2.2 Diagrama de Flujo...2 Símbolos
Más detallesHISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS
HISTORIA Y EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS Las primeras computadoras eran enormes máquinas que se ejecutaban desde una consola. El programador, quien además operaba el sistema de computación, debía
Más detallesGuía Notas Parciales. Intermedio
Guía Notas Parciales Intermedio ÍNDICE I. INTRODUCCIÓN 3 II. CREAR LA ESTRUCTURA DE NOTAS PARCIALES (OPCIÓN NOTAS NORMALES) 4 III. CREAR LA ESTRUCTURA DE NOTA FINAL (OPCIÓN NOTAS CALCULAS) 6 IV. INGRESAR
Más detallesColección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl
1 Colección de Tesis Digitales Universidad de las Américas Puebla Morales Salcedo, Raúl En este último capitulo se hace un recuento de los logros alcanzados durante la elaboración de este proyecto de tesis,
Más detallesFunciones, x, y, gráficos
Funciones, x, y, gráficos Vamos a ver los siguientes temas: funciones, definición, dominio, codominio, imágenes, gráficos, y algo más. Recordemos el concepto de función: Una función es una relación entre
Más detallesIV. Implantación del sistema.
IV. Implantación del sistema. Para hablar sobre el proceso de desarrollo del sistema de Recuperación de Información Visual propuesto, empezaremos hablando del hardware utilizado, las herramientas de software
Más detallesCAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP
CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP Características del Explorador de Windows El Explorador de Windows es una de las aplicaciones más importantes con las que cuenta Windows. Es una herramienta indispensable
Más detallesBases de datos en Excel
Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos
Más detallesUna computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.
ARQUITECTURA DE LAS COMPUTADORAS QUE ES UNA COMPUTADORA (UN ORDENADOR)? Existen numerosas definiciones de una computadora, entre ellas las siguientes: 1) Una computadora es un dispositivo capaz de realizar
Más detallesConsejos FASES DEL PROYECTO: CÓMO ELABORAR MATERIAL COMPLEMENTEARIO
FASES DEL PROYECTO: CÓMO ELABORAR MATERIAL COMPLEMENTEARIO El material complementario, paso a paso Todo curso de e-learning, además de los profesores y tutores, se compone de tres elementos: CONTENIDOS
Más detallesEstructuras 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
Más detallesTema 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
Más detallesUNIDADES 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:
Más detallesCapítulo VI. Diagramas de Entidad Relación
Diagramas de Entidad Relación Diagramas de entidad relación Tabla de contenido 1.- Concepto de entidad... 91 1.1.- Entidad del negocio... 91 1.2.- Atributos y datos... 91 2.- Asociación de entidades...
Más detallesMó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
Más detallesESTRUCTURA DE LOS SITIOS DE CATEDRAS
ESTRUCTURA DE LOS SITIOS DE CATEDRAS El de la FCE le enviará el esqueleto vacío del sitio de la cátedra, al cual usted ingresara el contenido de acuerdo a sus necesidades. La tarea principal que tiene
Más detalles3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE
3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE Software Configuration Management (SCM) es una disciplina de la Ingeniería de Software que se preocupa de [Ber92] [Ber84] [Bou98] [Mik97]: Identificar y documentar
Más detallesGuía Práctica para el Uso del Servicio de Software Zoho CRM
Guía Práctica para el Uso del Servicio de Software Zoho CRM Parte 4 Modificación de las Listas Estándar del Sistema Modificación del Menú Principal del Sistema Importación de información al Sistema Adición
Más detalles19. Packages o paquetes
Programación orientada a objetos con Java 201 19. Packages o paquetes Objetivos: a) Definir el concepto de paquete b) Interpretar el código fuente de una aplicación Java donde se utilicen paquetes c) Construir
Más detallesINGENIERÍA DEL SOFTWARE
INGENIERÍA DEL SOFTWARE Sesión No. 2 Nombre: Procesos de ingeniería del software INGENIERÍA DEL SOFTWARE 1 Contextualización La ingeniería de software actualmente es muy importante, pues con los avances
Más detallesCapítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas
Capítulo I Definición del problema y objetivos de la tesis 1.1 Introducción En la actualidad Internet se ha convertido en una herramienta necesaria para todas las personas ya que nos permite realizar diferentes
Más detallesUnidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación.
Unidad II Metodología de Solución de Problemas 2.1 Descripción del problema (enunciado). Este aspecto nos indica describir de manera objetiva la realidad del problema que se esta investigando. En la descripción
Más detallesDirecciones IP y máscaras de red
También en este nivel tenemos una serie de protocolos que se encargan de la resolución de direcciones: ARP (Address Resolution Protocol): cuando una maquina desea ponerse en contacto con otra conoce su
Más detallesIntroducción a la plataforma Moodle Aníbal de la Torre 2006. Plataforma Moodle. Accediendo a los contenidos
Plataforma Moodle Accediendo a los contenidos Formatos ----------------------------------------------------------------------- 2 Glosarios -----------------------------------------------------------------------
Más detallesUNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos
2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven
Más detallesUnidad 1: Conceptos generales de Sistemas Operativos.
Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas
Más detallesGestión de Extensiones en Joomla!
Gestión de Extensiones en Joomla! Aplicaciones web. 2º SMR 1. Tipos de extensiones en Joomla 2. Crear un canal electrónico RSS 3. Inserción de anuncios (Banners) en nuestro sitio 4. Crear un foro con el
Más detallesCREACIÓN Y CONFIGURACIÓN DE WIKIS
Paso 1: Creación CREACIÓN Y CONFIGURACIÓN DE WIKIS Como con el resto de actividades, para crear un wiki lo primero es activar el modo de edición y seleccionar la opción Wiki de la lista desplegable Agregar
Más detallesMANUAL DE USUARIO APLICACIÓN SYSACTIVOS
MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014
Más detallesPRESENTACIÓN DEL PRODUCTO
PRESENTACIÓN DEL PRODUCTO esernet, s.l. Sebastián Elcano, 32 Planta 1 Oficina 22 28012 Madrid Teléfono: 91 433 84 38 -- Fax. 91 141 21 89 www.esernet.com -- esernet@esernet.com 1. Introducción 2. Descripción
Más detallesMANUAL DE USUARIO DE EGROUPWARE MANUAL DE USUARIO EGROUPWARE
MANUAL DE USUARIO EGROUPWARE 1 INDICE Que es egroupware... 3 Inicio de sesión... 4 Aplicaciones de egroupware... 4 Correo electrónico... 5 Calendario... 7 ACL... 9 Administración de proyectos... 10 Libreta
Más detallesVisual Studio 2008 es el conjunto de herramientas de
1. VISUAL STUDIO 2008 Visual Studio 2008 es el conjunto de herramientas de desarrollo y programación creado por Microsoft tanto para aplicaciones Windows como aplicaciones web. La aparición de Visual Studio
Más detalles- Bases de Datos - - Diseño Físico - Luis D. García
- Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo
Más detallesTEMA 1. INTRODUCCIÓN. 1. Diferentes niveles en la arquitectura de un computador
TEMA 1. INTRODUCCIÓN 1. Diferentes niveles en la arquitectura de un computador.» Máquinas virtuales 2. Máquinas multinivel actuales. 3. Evolución histórica de las máquinas multinivel. 1 1. Diferentes niveles
Más detallesMódulo 2. Inicio con Java
Módulo 2. Inicio con Java Objetivos: -Clasificar el lenguaje de programación Java según las formas de clasificar los lenguajes de programación. -Describir el funcionamiento de la plataforma Java. -Explicar
Más detallesMANUAL DE USUARIO Y EJEMPLO DE UTILIZACIÓN HERRAMIENTA DLP-DELPHI LEARNING PACKAGE
MANUAL DE USUARIO Y EJEMPLO DE UTILIZACIÓN HERRAMIENTA DLP-DELPHI LEARNING PACKAGE PROFESOR: Creación y puesta en marcha de un proceso de aprendizaje Delphi: En esta fase el profesor debe realizar las
Más detallesCapitulo V Administración de memoria
Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal
Más detallesLECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS
ESTRUCTURA DE COMPUTADORES Pag. 8.1 LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS 1. Circuitos de multiplicación La operación de multiplicar es mas compleja que la suma y por tanto se
Más detallesPROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04
Autorización Este documento entra en vigor a partir del 2 de agosto del 2005, a través de su autorización por parte del Dr. Francisco Javier Rojas Monroy, Coordinador de Operaciones, Calidad y Teclogía
Más detallesPráctica 0. Emulador XENON de la computadora CESIUS
Práctica 0. Emulador XENON de la computadora CESIUS 1. Introducción El objeto de la presente práctica es permitir al alumno ensayar y familiarizarse con los conceptos de programación de computadoras digitales
Más detallesGUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII
GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII GUIA DISPONIBLE EN: http://preparadorivan.blogspot.com/ - http://preparadormssi.50webs.com/inicio.html La World Wide Web o la Web, es una de las múltiples
Más detallesCapítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente
Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.
Más detallesInstalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS
Instalación y mantenimiento de servicios de Internet U.T.3.- Servicio DNS 1 Qué es el servicio DNS? A los usuarios de Internet les resulta complicado trabajar con direcciones IP, sobre todo porque son
Más detallesMicrosoft Office 2010 Illustrated. Tipos de Software
Microsoft Office 2010 Illustrated Tipos de Software SOFTWARE Conjunto de instrucciones que le indican a la computadora que hacer. Existen tres tipos de software: Sofware de Aplicacion Sofware de Programacion
Más detallesModificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.
UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:
Más detalles1.2 SISTEMAS DE PRODUCCIÓN
19 1.2 SISTEMAS DE PRODUCCIÓN Para operar en forma efectiva, una empresa manufacturera debe tener sistemas que le permitan lograr eficientemente el tipo de producción que realiza. Los sistemas de producción
Más detalles