Tiempo de Compilación. Programa fuente. Secuencia. de caracteres. Scanner. Secuencia. de símbolos Parser. Compilador.
|
|
- Óscar García Padilla
- hace 8 años
- Vistas:
Transcripción
1 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 de código Programa objeto Árbol sintáctico con atributos Código Tabla de símbolos entrada entrada entrada Tiempo de Ejecución Programa fuente Máquina abstracta Máquina real Programa objeto salida Descripción abstracta del comportamiento de un programa Programa objeto salida Descripción del comportamiento de un programa independiente de máquina pero fácil de implementar (implementación interpretada) Descripción del comportamiento de un programa dependiente de máquina (implementación) salida Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24)
2 Máquina Abstracta Con una máquina abstracta se define el ámbito de ejecución de los programas Recursos necesarios para ejecutar un programa Organización de la memoria Segmento de código Segmento de datos estático Pila Heap (memoria dinámica) Registros del procesador Contador del programa Apuntador a la pila Acumulador Etc. Instrucción del código máquina Control de flujo Operaciones aritméticas Comparaciones Guardar y recuperar datos de memoria Etc. Máquinas Abstractas y Paradigmas de Programación La arquitectura de la máquina abstracta depende de la forma de ejecución. Lenguajes imperativos Segmento de código Segmento de datos Pila Heap Lenguajes funcionales Segmento de código Pila de argumentos Pila de contexto Heap Lenguajes lógicos Segmento de código Pila de backtracking Trail Pila para la unificación Organización de Memoria de un Programa Imperativo variables locales y resultados intermedios bloques de memoria direccionados por apuntadores variables globales y estáticas código máquina, constantes y literales (solo lectura) Pila Libre Heap Segmento de datos estáticos Segmento de código SP PC Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24)
3 Asignación estática de memoria Las variables cuyo tiempo de vida es todo el programa se guardan en el segmento de datos estático variables globales variables static campos static de clases etc. El acceso se realiza por dirección absoluta de memoria. La asignación de direcciones se puede realizar mediante un apuntador a la base del segmento que se incrementa con el tamaño de cada variable Problema: en la compilación separada no se conoce el tamaño de los var3 Fin segmentos var2 var1 ase Direcciones Simbólicas y Linkado Un fichero objeto es una secuencia de trozos de segmento con una o más direcciones simbólicas un tamaño un tipo de segmento: código, datos, etc. opcionalmente un contenido Una librería es un conjunto de ficheros objeto El linkeador se encarga de juntar todos los trozos de segmento de los ficheros objeto incluyendo los que sean necesarios de las librerías Transformar las direcciones simbólicas en direcciones absolutas de memoria Datos Compuestos Los datos compuestos son struct union array conjunto Para acceder a su contenido se necesita Dirección base de la variable Desplazamiento para acceder a una de sus componentes Ejemplo: struct { int a; double b; char c; } v; &v.c &v.b &v.a &v+12: &v+11: &v+10: &v+9: &v+8: &v+7: &v+6: &v+5: &v+4: &v+3: &v+2: &v+1: &v+0: c b a Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24)
4 Struct y Union Datos compuestos con desplazamiento conocido en tiempo de compilación struct y union de C record de PASCAL struct (sin superposición de campos) struct { tipo 1 c 1 ; tipo 2 c 2 ;... tipo n c n ; } var; &var. c 1 =&var+sizeof(tipo 1 )+ sizeof(tipo 2 )+...+ sizeof(tipo n-1 ) &var. c 2 =&var+sizeof(tipo 1 ) &var. c 1 =&var+0 c n c 2 c 1 sizeof(tipo n ) sizeof(tipo 2 ) sizeof(tipo 1 ) Struct y Union union (superposición de campos) union { tipo 1 c 1 ; tipo 2 c 2 ;... tipo n c n ; } var; &var. c 1 = &var. c 2 =...= &var. c n c 1,c 2,...,c n max {sizeof(tipo 1 ), sizeof(tipo 2 ),..., sizeof(tipo n ) } Alineación Alinear un dato supone que su dirección base ha de ser un múltiplo de una cierta potencia de 2. Los datos se alinean para acelerar su acceso o por limitaciones de direccionamiento del procesador. Ejemplo struct { char a; int b; int c; } v; &v.c &v.b &v.a &v+11: &v+10: &v+9: &v+8: &v+7: &v+6: &v+5: &v+4: &v+3: &v+2: &v+1: &v+0: c b a Espacio ocupado en un array Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24)
5 Arrays a11, a12, a13, a 14, a a a a 21, a31, 22, a32, 23, a33, 24, a34, Guardada por filas (primero varían los índices de la derecha) Memoria: Cálculo del desplazamiento n n 1 2 j= 1 l= j+ 1 Guardada por columnas (primero varían los índices de la izquierda) Memoria: Cálculo del desplazamiento n j j= 1 l= 1 Complejidad para n dimensiones n- 1sumas n multiplicaciones a11,, a12,, a13,, a14,, a21,, a, a23,, a, a31,, a32,, a33,, a 22, 24, 34, desp sizeof elementos min max min = ( i, i,..., in) ( ) ( i ) ( +1) j j l l a11,, a21,, a31,, a12,, a, a32,, a13,, a23,, a33,, a14,, a, a 22, 24, 34, desp( i, i in sizeof ( elementos ( i min max minl = +1),..., ) ) ) ( j j l Conjuntos Conjunto de escalares se utiliza un bit por elemento que puede contener el conjunto. Ejemplo a: conjunto de (rojo, azul, verde) 3 bits (rojo bit 0, azul bit 1, verde bit 2) Las operaciones entre conjuntos son union -> or de bits intersección -> and de bits El bit que representa la presencia o ausencia de un elemento se calcula desp(i)=i / 8 (división entera) bit(i)=i % 8 (i modulo 8) En el análisis semántico hay que tratar como caso especial el conjunto vacío Asignación de la Pila Para la ejecución de un programa imperativo se necesita una pila porque se realiza un "recorrido" por su árbol sintáctico En la pila se guarda Resultados intermedios de la evaluación de expresiones loques de activación de funciones variables locales enlaces estático, dinámico, display posición de retorno valor de retorno loques de activación de excepciones loques de salto no local Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24)
6 Evaluación de Expresiones (I) Una expresión se puede representar como un árbol donde Las operaciones son nodos internos del árbol, y cada una de ellas tiene por hijos sus operandos Los literales son las hojas del árbol Ejemplo: a*b+c*d- e La expresión se evalúa mediante un recorrido en postorden del árbol a b * c d * + e e * * a b c d Evaluación de Expresiones (II) Organización de memoria Una pila que crece hacia las direcciones inferiores de memoria SP es el apuntador a la cabeza de la pila Instrucciones Poner en la pila un literal PushLit número --SP; *SP= número; Poner en la pila una variable global PushGVar dirección --SP; *SP= *dirección; Operaciones binarias Operin operación *(SP+1)=*(SP+1) operación *SP; ++SP; Operaciones unarias OperUna operación *SP= operación (*SP); Evaluación de Expresiones (III) El recorrido del árbol en postorden se transforma en código de la siguiente forma Los operandos se ponen en la pila Las operaciones cogen los operandos de la pila y dejan el resultado en esta Ejemplo: a*b+c*d-e Postorden a b * c d * + e - Código PushGVar &a PushGVar &b Operin * PushGVar &c PushGVar &d Operin * Operin + PushGVar &e Operin - Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24)
7 loque/registro de Activación de una Función (I) Las funciones cumplen que la última que ha empezado ha ejecutarse es la primera en acabar su ejecución. Por lo tanto, la información necesaria para ejecutar las funciones se puede guardar en una pila Cuando se llama a una función se necesita crear el espacio para la siguiente información Posición de retorno, o sea donde ha de continuar la ejecución al salir de la función Argumentos de la función Valor de retorno Variables de la función ase del bloque de activación, o sea dirección a partir de la cual se guardan los datos necesarios para la ejecución de la función. loque/registro de Activación de una Función (II) Valor de retorno Argumentos Enlace dinámico SP El registro de activación de un procedimiento no contiene el valor de retorno. loque de Activación de una Función C Los argumentos van en orden inverso para poder implementar las funciones con número de argumentos variable (printf) Para acelerar las llamadas, el valor de retorno va en un registro del procesador. Argumento n Argumento n-1... Argumento 2 Argumento 1 Enlace dinámico SP Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24)
8 Instrucciones para Llamar a Funciones Llamar a una dirección de memoria Call dirección --SP; *SP=PC+1; PC=dirección; Retornar de función Ret PC=*SP; ++SP; Crear enlace dinámico y reservar espacio para las variables locales Link tamaño --SP; *SP=; =SP; SP=SP - tamaño; Eliminar el espacio de las variables locales y recuperar Unlink SP= + 1; =*; Eliminar los Argumentos Add SP tamaño SP=SP + tamaño; Registro del Valor de Retorno VR Push RV --SP;*SP=RV; Pop RV RV=*SP; ++SP; Código para Llamar una Función C Código que llama a la función Calculo del Argumento n Calculo del Argumento n-1... Calculo del Argumento 2 Calculo del Argumento 1 Call &Fun Add SP tamaño argumentos Push VR Código de la Función Link tamaño variables Código del cuerpo de la función Pop RV Unlink Ret El código que realiza la llamada no necesita saber el espacio ocupado por las variables locales de la función. Al final de la llamada a una función queda en la pila su valor de retorno. loque de Activación de una Función PASCAL El enlace estático o el display se utiliza para poder acceder a las variables locales de otras funciones Valor de retorno Argumento 1 Argumento 2... Argumento n-1 Argumento n Enlace estático o display Enlace dinámico SP Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24)
9 Funciones/Procedimientos Anidados en PASCAL Procedure P1; Var V1:integer; Procedure P2; Var V2:integer; Procedure P3 Var V3:integer; egin egin Procedure P4; Var V4:integer; egin egin Procedure P5 Var V5:integer; egin Nivel 3 Nivel 2 Nivel 2 nivel 1 Nivel 1 nivel 0 Código para Llamar una Función PASCAL Código que llama a la función Código de la Función Add SP -tamaño valor de retorno Calculo del Argumento 1 Calculo del Argumento 2... Calculo del Argumento n-1 Calculo del Argumento n Cálculo del EE/Display Call &Fun Add SP tamaño argumentos+ tamaño EE/Display Link tamaño variables Código del cuerpo de la función Unlink Ret El código que realiza la llamada no necesita saber el espacio ocupado por las variables locales de la función. Al final de la llamada a una función queda en la pila su valor de retorno. Enlace Estático El enlace estático de un bloque de activación de una función apunta al bloque de activación de la función donde se ha definido. El enlace dinámico apunta al bloque de activación de la función que ha llamado Procedure P1; Var V1:integer; Procedure P2; Var V2:integer; egin Procedure P4; Var V4:integer; egin egin P1 P4 P2 P1 Secuencia de llamadas P1->P4->P2->P1 Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24)
10 Instrucciones para el loque de Activación con Enlace Estático Crear enlace estático/display PushEE nivel ee=; for (i= nivel;i>0; --i) ee=ee->ee; --SP; *SP=ee; Acceder a variable local por enlace estático PushEEVar nivel,desp ee=; for (i= nivel;i>0; --i) ee=ee->ee; --SP; *SP=*(ee+ desp); PopEEVar nivel,desp ee=; for (i= nivel;i>0; --i) ee=ee->ee; *(ee+ desp)=*sp; ++SP; Cálculo del Enlace Estático El enlace estático se calcula a partir de diferencias de nivel Enlace estático de un nuevo bloque de activación DifNivel= nivel llamada - nivel función+1 EE= for i=1 to DifNivel do EE=EE- >EE; Enlace estático de una variable DifNivel= nivel variable - nivel código EE= for i=1 to DifNivel do EE=EE- >EE; Display El display es la agrupación de la lista de enlaces estáticos en un array ED PC ED PC ED PC ED PC ED PC Enlaces estáticos Display Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24)
11 Instrucciones para el loque de Activación con Display Crear display Push --SP; *SP=; Acceder a variable local por display PushDispVar nivel,desp --SP; *SP=*([nivel]+ desp); PopDispVar nivel,desp *([nivel]+ desp)=*sp; ++SP; PushVar desp --SP; *SP=*(+ desp); PopVar desp *(+ desp)=*sp; ++SP; Creación del Display El display de un nuevo bloque de activación se crea por copia del anterior modificado DifNivel= nivel llamada - nivel función+1 DifNivel==0 Copiar display Añadir DifNivel>0 Copiar display menos los últimos DifNivel apuntadores DifNivel display anterior Valor de retorno Argumentos display anterior ED Valor de retorno Argumentos display nuevo ED Acceder a una Variable por Display Puntero del display de una variable DifNivel= nivel variable - nivel código DifNivel==0 +desp DifNivel>0 [DifNivel+1]+desp Valor de retorno Argumentos... EE 3 EE 2 EE 1 ED Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24) Compiladores ( 04/11/ :24)
GENERACIÓ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 detallesUna 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
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 detallesANÁ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
Más detallesCapítulo 12: Indexación y asociación
Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación
Más detallesGramática abstracta. Gramática abstracta. Forma de escribirlas: Pizquierda : Pderecha <Predicado> atributos o acc. semánticas}
Gramática abstracta Nos permite enlazar más fácilmente el análisis sintáctico con el semántico se comienza a manejar cuestiones que trabaja el semántico. Denota los aspectos importantes del lenguaje (equivalente
Más detallesPreliminares. 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
Más detallesIntroduccion 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
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 detallesEstructura de Datos. Unidad I Tipos de Datos
Estructura de Datos Unidad I Tipos de Datos Conceptos Básicos Algoritmo: es una secuencia finita de pasos o instrucciones ordenadas crono-lógicamente que describen un método para resolver un problema específico.
Más detallesGeneración de código para funciones. Generación de código para funciones. Generación de código para funciones. Generación de código para funciones
Ejemplo introductorio: escritura de funciones en NASM Ejemplo introductorio: escritura de funciones en NASM En estas transparencias pondremos una subrutina ASPLE y la generación de código equivalente En
Más detallesEntorno de Ejecución del Procesador Intel Pentium
Arquitectura de Ordenadores Arquitectura del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Entorno de Ejecución del Procesador
Más detallesManual del visor GeoEuskadi 2013 MANUAL DEL VISOR GEOEUSKADI
MANUAL DEL VISOR GEOEUSKADI 2013 DOCUMENTO: Manual del visor GeoEuskadi AÑO FECHA DE EDICIÓN: 2013 PROPIETARIO: Gobierno Vasco. 1 Gobierno Vasco Contenido Barra de herramientas... 5 Zoom inicial... 5 Ampliar
Más detallesTema 3 Elementos básicos de programación
Representación de Datos y Aplicaciones Tema 3 Elementos básicos de programación Natividad Martínez Madrid nati@it.uc3m.es Objetivos del tema 3 Conocer la estructura básica de un programa Java Comprender
Más detallesTema 6: Generación de código (parte 2)
Tema 6: Generación de código (parte 2) Procesamiento de Lenguajes Dept de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 6: Generación de código (parte 2) 1 /
Más detallesJava Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción
Más detallesAmpliación de Estructuras de Datos
Ampliación de Estructuras de Datos Amalia Duch Barcelona, marzo de 2007 Índice 1. Diccionarios implementados con árboles binarios de búsqueda 1 2. TAD Cola de Prioridad 4 3. Heapsort 8 1. Diccionarios
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 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 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 detallesTRADUCTORES, 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,
Más detallesModulo 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
Más detallesISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones
ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad
Más detallesSOLUCION 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
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 detallesProcesadores de lenguaje Tema 5 Comprobación de tipos
Procesadores de lenguaje Tema 5 Comprobación de tipos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Sistemas de tipos. Expresiones de tipo. Equivalencia de tipos. Sobrecarga,
Más detallesINFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS)
INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS) Los dos ejercicios de esta parte se contestarán en la misma hoja (o varias hojas si es necesario). Es preciso responder razonadamente
Más detallesIntroducció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
Más detallesFACULTAD DE INGENIERÍA
NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Operadores y Expresiones PRÁCTICA NÚM. [ 3 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje
Más detallesTema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.
Tema 2: Arquitectura del repertorio de instrucciones Visión del computador que tiene el programador en bajo nivel. Lo que el programador en lenguaje ensamblador debe conocer para escribir programas: (1)
Más detallesProgramación Avanzada para Sistemas de Telecomunicación Arrays
Programación Avanzada para Sistemas de Telecomunicación Arrays Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Introducción. Vectores de datos primitivos. Vectores de objetos. Introducción En
Más detallesPROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas
Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.
Más detallesLógica Binaria. Arquitectura de Ordenadores. Codificación de la Información. Abelardo Pardo abel@it.uc3m.es. Universidad Carlos III de Madrid
Arquitectura de Ordenadores Codificación de la Información Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Lógica Binaria COD-1 Internamente el ordenador
Más detallesPESTAÑA DATOS - TABLAS EN EXCEL
PESTAÑA DATOS - TABLAS EN EXCEL Una tabla en Excel es un conjunto de datos organizados en filas o registros, en la que la primera fila contiene las cabeceras de las columnas (los nombres de los campos),
Más detallesEl lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>
El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por
Más detallesACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental]
ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental] Action script es el lenguaje de programación que lleva incorporado el software de creación multimedia Macromedia
Más detallesClases y Objetos. Informática II Ingeniería Electrónica
Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),
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 detallesTema 11 Bases de datos. Fundamentos de Informática
Tema 11 Bases de datos Fundamentos de Informática Índice Evolución Tipos de modelos de datos y SGBD El modelo relacional y el Diseño de una Base de Datos Operaciones básicas: consulta, inserción y borrado.
Más detallesContenido. Capítulo 1. Introducción a lenguaje C 1
Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje
Más detallesContenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.
Contenido Sistema de archivos Operaciones sobre archivos Métodos de acceso a archivos Directorio Sistema de archivos por capas Espacio libre Sistema de archivos Proporciona el mecanismo para el almacenamiento
Más detallesGuía Corta: Alcance y Asociaciones. 1. Preliminares: Nombres y Asociaciones
Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información CI3641 Lenguajes de Programación I Guía Corta: Alcance y Asociaciones Esta guía presenta algunos conceptos básicos y
Más detallesTema 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,
Más detallesINDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.
INDICE Programación Introducción 706 Capitulo 21 BASIC 711 Introducción 711 Sintaxis 713 Procedimientos y control de flujo 713 Tipos de datos 714 Disponibilidad y variantes del dialecto 714 Capitulo 22.
Más detallesElementos léxicos del lenguaje de programación Java
Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores
Más detallesUn puntero no es más que una variable estática cuyo contenido es una dirección de memoria.
Los punteros en C 1 Introducción Cómo se organiza la memoria asociada a un programa? Como una colección de posiciones de memoria consecutivas. En ellas se almacenan los distintos tipos de datos, que ocupan,
Más detallesLABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL
OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos
Más detallesUNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse
Más detallesTIPOS DE DATOS DEFINIDOS POR EL PROGRAMADOR: Estructuras CONTENIDOS
ESTRUCTURAS CONTENIDOS 1. Concepto de estructura 2. Definición del tipo de dato estructura 3. Declaración de variables de tipo estructura 4. Inicialización de variables de tipo estructura 5. Acceso a los
Más detallesEstructura de Computadores
Estructura de Computadores Tema 4. El procesador Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Elementos de un
Más detallesUNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL
UNIVERSIDAD NACIONAL DE INGENIERÍA ALGORITMOS Y ESTRUCTURA CERTIFICA ORGANIZA Mayor Información: informes@uni.edu.pe Visite Nuestra Web http://www.ceps.uni.edu..pe OBJETIVOS GENERALES - Diseñar algoritmos
Más detallesTEMA 2. Agenda. Fundamentos de JAVA
TEMA 2 Fundamentos de JAVA V1.3 Manuel Pereira González Agenda Introducción Historia de Java Características Principales Hello World Tipos Operadores Control de Flujo E/S básica Atributos y Métodos Resumen
Más detallesINTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA
INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Por qué Java? TIOBE Index for March 2015 Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Más detallesLa Unidad Procesadora.
La Unidad Procesadora. En un sistema digital complejo, la capa de hardware de la máquina es el nivel más bajo del modelo de capas de un sistema microcomputarizado. La unidad procesadora es una parte del
Más detallesMANUAL BÁSICO DEL LENGUAJE SQL
MANUAL BÁSICO DEL LENGUAJE SQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO INTRODUCCIÓN... 3 1. COMANDOS... 4 1.1 Comandos DLL... 4
Más detallesARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Introducción al tema a. Formar grupos de 4 personas b. Tomar una hoja en blanco y una lapicera o lápiz c. En la hoja en blanco diseña un
Más detallesEstructuras de datos abstractos (ADTs) Listas
Estructuras de datos abstractos (ADTs) Listas mat-151 1 problema de Josephus 2 problema de Josephus Hay n personas paradas en circulo esperando para ser ejecutadas. Después de ser ejecutado el primer hombre
Más detalles- MANUAL TÉCNICO - Implantación de software de Marketing Online
- MANUAL TÉCNICO - Implantación de software de Marketing Online Rev. 01- MAYO 2013 Implantación de software de Marketing Online Teléfono Adeada: 945 253 388 Email Adeada: adeada@adeada.com REALIZADO POR:
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 detallesÁrbol binario. Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción
Árbol binario Elaborado por Ricardo Cárdenas cruz Jeremías Martínez Guadarrama Que es un árbol Introducción Un Árbol Binario es un conjunto finito de Elementos, de nombre Nodos de forma que: El Árbol Binario
Más detalles- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013
- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD Rev. 01- FEBRERO 2013 Software de diagnóstico de la seguridad de la información y autoimplantación
Más detallesKaldeera Advanced Forms 2009 Guía del usuario
Kaldeera Advanced Forms 2009 Guía del usuario Indice Usando Kaldeera Advanced Forms 2009... 3 Accediendo a la página de configuración... 3 Activando o desactivando la funcionalidad de Kaldeera Advanced
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 detallesTEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION
SEGMENTACION SEGMENTACION SEGMENTACION I I I I I 1 2 3 4 5 IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB SEGMENTACION INTRODUCIR NUEVA INSTRUCCIÓN CADA CICLO 1 CICLO,
Más detalles3.2 Operaciones aritmético-lógicas en Pascal
3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES
Más detallesTema 2: Programación de PLCs
Tema 2: Programación de PLCs 1. STEP 7 2. PROGRAMACIÓN BÁSICA AWL Introducción Operaciones lógicas a nivel de bit Marcas Simbólicos Flancos Temporizadores Diagnosis e información del sistema Contadores
Más detallesApuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:
Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor
Más detalles1. Manejo de memoria estática 2. Manejo de memoria dinámica
1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo
Más detalles2. Entorno de trabajo y funcionalidad en Arquímedes
2. Entorno de trabajo y funcionalidad en Arquímedes 2.9. Presupuestos comparativos. Cómo contrastar ofertas... 1 2.9.1. Análisis de los datos del comparativo de presupuestos... 4 2.9.2. Ejemplo de comparativo
Más detallesCurso de Doctorado: Tecnologías de Objetos
Curso de Doctorado: Tecnologías de Objetos Grupo IMO Área de Lenguajes y Sistemas Informáticos Departamento de Informática J. Baltasar García Perez-Schofield http://webs.uvigo.es/jbgarcia/ Implementación
Más detallesTecnólogo Informático- Estructuras de Datos y Algoritmos- 2009
Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier
Más detallesUnidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8.
Unidad III 1. Introducción. 2. Breve historia del C. 3. Lenguajes de programación de alto nivel, bajo nivel y nivel medio. 4. Compiladores e intérpretes. 5. Compilación, enlace y generación de un programa
Más detallesEn 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
Más detallesPHPMYADMIN 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
Más detallesIntroducción al tipo de dato ARRAY
CONTENIDOS. Introducción al tipo de dato ARRAY. Definición, Características, Declaración, Acceso e Inicialización.. Arrays multidimensionales Definición, Declaración, Acceso e Inicialización. Introducción
Más detallesProgramación de Sistemas
Programación de Sistemas Algoritmos de Ordenación Índice Por qué es importante la ordenación? Un par de ejemplos InsertionSort QuickSort Para cada uno veremos: En qué consisten, Casos extremos Eficiencia
Más detallesDIRECCIÓN GENERAL DE CÓMPUTO Y DE TECNOLOGÍAS DE INFORMACIÓN Y COMUNICACIÓN Dirección de Docencia en TIC FICHA TÉCNICA NOMBRE DEL CURSO
NOMBRE DEL CURSO MÓDULO DE MACROS CON EXCEL MODALIDAD PRESENCIAL A QUIEN VA DIRIGIDO El curso está dirigido a las personas interesadas en el desarrollo de diversos tipos de cálculos y análisis de datos
Más detallesRegistro (record): es la unidad básica de acceso y manipulación de la base de datos.
UNIDAD II 1. Modelos de Bases de Datos. Modelo de Red. Representan las entidades en forma de nodos de un grafo y las asociaciones o interrelaciones entre estas, mediante los arcos que unen a dichos nodos.
Más detallesLenguaje C Bucles, Condicionales, operadores y Algoritmos.
Lenguaje C Bucles, Condicionales, operadores y Algoritmos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Operadores Los operadores son aquellos
Más detallesRepaso de las características más importantes de la programación Java y su adaptación a Android
Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y
Más detallesExamen de Fundamentos de sistemas operativos
Examen de Fundamentos de sistemas operativos Tiempo total: 2 horas. Problema: Implementación de canales con Rendez (monitores) Implemente canales con buffering para enteros mediante variables condición
Más detallesARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Características ARBOLES - CONCEPTOS Cada elemento del árbol se relaciona con cero o más elementos a quienes llama hijos. Si el árbol no
Más detallesListas, Pilas, Colas y Punteros. Semana 3
Listas, Pilas, Colas y Punteros Semana 3 Dictado por Marco González Núñez 14 de Febrero de 2011 Estructuras de datos simples Hoy hablaremos de lo que sin duda me motivó a crear este curso que son los punteros,
Más detallesIntroducción al lenguaje JAVA
Universidad Autónoma de Tlaxcala Introducción al lenguaje JAVA M.C.. José Juan Hernández ndez Mora Segunda Sesión 1. Arreglos 2. Matrices 3. Clases en Java 4. Clases de Usuario en Java 5. Objetos definidos
Más detallesLAS BARRAS. La barra de acceso rápido
LS RRS La barra de título Contiene el nombre del documento sobre el que se está trabajando en ese momento. Cuando creamos un libro nuevo se le asigna el nombre provisional Libro1, hasta que lo guardemos
Más detallesSe 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
Más detallesRESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014
RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 FAMILIA PROFESIONAL: INFORMATICA Y COMUNICACIONES MATERIA: 28. DESARROLLO WEB EN ENTORNO SERVIDOR CURSO: 2º DE CFGS DESARROLLO DE APLICACIONES
Más detallesSOLUCIÓN: a) Signo y magnitud:
1. Resolver las siguientes conversiones razonando los pasos seguidos (total 3 a. Dado el número 18525 expresado en decimal, calcular su representación numérica en signo y magnitud, en complemento a 2 y
Más detallesLaboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO
Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO 1.- Objetivos del laboratorio Diseño de clases en C++ Comprensión y uso del TAD Árbol Binario de Búsqueda
Más detallesExamen de Arquitectura de Computadores 2 22 de febrero del 2011
Examen de Arquitectura de Computadores 2 22 de febrero del 2011 Indique su nombre completo y número de cédula en cada hoja. Numere todas las hojas e indique el total de hojas en la primera. Escriba las
Más detallesSEGURIDAD Y PROTECCION DE FICHEROS
SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD
Más detallesLos Microprocesadores MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Evolución Histórica de los Microprocesadores Intel Evolución de los microprocesadores Intel de la década de los 70 4004
Más detallesMINISTERIO DE EDUCACIÓN DIRECCIÓN DE EDUCACIÓN TÉCNICA Y PROFESIONAL PROGRAMA DE LA ASIGNATURA BASE DE DATOS ESPECIALIDAD INFORMÁTICA.
MINISTERIO DE EDUCACIÓN DIRECCIÓN DE EDUCACIÓN TÉCNICA Y PROFESIONAL PROGRAMA DE LA ASIGNATURA BASE DE DATOS ESPECIALIDAD INFORMÁTICA. AUTORES: MSC. MIREYA LÓPEZ DELGADO LIC. ESPINOSA. CUIDAD HABANA PROGRAMA
Más detallesOperaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta
Operaciones en el Modelo Relacional Bases de Datos Ingeniería a Técnica T en Informática de Sistemas El interés de los usuarios de las bases de datos se suele centrar en realizar consultas (contestar a
Más detallesBASES DE DATOS TEMA 1. INTRODUCCION
Contenidos generales BASES DE DATOS TEMA 1. INTRODUCCION Bases de datos, Sistemas de gestión de bases de datos y Sistemas de bases de datos Bases de datos vs. Sistemas de archivos Objetivos de los Sistemas
Más detallesAnalizar, diseñar, desarrollar e implementar soluciones orientadas a objetos utilizando encapsulamiento, herencia, polimorfismo y archivos.
Nombre de la asignatura: Programación Orientada a Objetos Créditos: 2-3- 5 Aportación al perfil Desarrollar, implementar y administrar software de sistemas o de aplicación que cumpla con los estándares
Más detallesTema: Sobrecarga de Operadores.
Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen
Más detalles18. 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
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 detallesAsignaturas antecedentes y subsecuentes
PROGRAMA DE ESTUDIOS Programación de Sistemas Área a la que pertenece: Área Sustantiva Profesional Horas teóricas: 3 Horas prácticas: 2 Créditos: 8 Clave: F0165 Asignaturas antecedentes y subsecuentes
Más detalles