Desarrollo de Aplicaciones

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

Download "Desarrollo de Aplicaciones"

Transcripción

1 Desarrollo de Aplicaciones En este apartado se tratarán los siguientes temas: Etapas de desarrollo de un programa Proceso de Compilación Compilación de Programas formados por varios Módulos Gestión de librerías La herramienta make Introducción a las Herramientas Informáticas Unix para el Desarrollo de la Etapas de desarrollo de un programa En este apartado, se expone de forma genérica cuáles son las partes que constituyen el desarrollo de un programa, esto es, las etapas de desarrollo de software. Aunque las etapas se presentan de forma secuencial, es habitual cometer errores que provoquen el tener que regresar a fases anteriores. El esquema que se muestra en la figura es válido para programas no demasiado complejos. Para los grandes proyectos informáticos exite un conjunto de técnicas de desarrollo que pueden estudiarse en cualquier libro de Ingeniería del Software, por ejemplo, R.S. Pressman, Ingeniería del Software: Un enfoque Prático, McGraw-Hill, 4 edición, ISBN En la figura se presenta un esquema de los pasos lógico que han de seguirse en el desarrollo de una aplicación informática. Tales pasos o etapas se pueden resumir en: 1. Analizar del Problema que se ha de resolver. 2. Diseñar una solución, proponiendo un algoritmo. 3. Traduccir la solución a pseudocódigo. 4. Implementar un programa en un lenguaje de programación (en el caso que estudiaremos C/C++). 5. Compilar el programa. 6. Realizar pruebas de ejecución.

2 Proceso de Compilación Un traductor es un programa informático que traduce de un lenguaje fuente a un lenguaje objeto. Un compilador es un traductor en el que el lenguaje fuente es un Lenguaje de Programación de Alto Nivel, y el lenguaje objeto es Lenguaje Ensamblador o Lenguaje Máquina. El proceso de traducción que tiene que realizar un compilador, se puede dividir en los siguientes pasos: Preprocesamiento Compilación (propiamente dicho) y Optimización Generación de Código Objeto Enlace ( linker ) No es uno de los objetivos de este curso el estudiar en profundidad el proceso de compilación sino utilizar las herramientas disponibles para llevarlo a cabo. Para un estudio en detalle de los compiladores recomendamos el libro: A. Aho, R. Sethi, J. Ullman, Compiladores. Principios, Técnicas y Herramientas Adisson-Wesley Iberoamericana, ISBN El compilador que proporciona Linux para los lenguajes C y C++ es el paquete GCC de GNU. La siguiente figura muestra el conjunto de herramientas que proporciona el paquete GCC: El prepocesador ( cpp ) se invoca con el comando: g++ programa.c -E -o programa.i El compilador propiamente dicho ( comp ) se llama con la orden: g++ programa.c -S -o programa.s La llamada al ensamblador ( as ) utiliza la opción -c: g++ programa.c -c -o programa.o El editor de carga y enlace (ld) se invoca automáticamente sin especificar ninguna opción: g++ programa.c Se obtiene el fichero a.out que ya es ejecutable. Los ficheros intermedios generados se almacenan en /tmp y se borran cuando termina todo el proceso de compilación. a. Descarge el fichero programa.c que contiene una implementación en C++ del conocido programa "Hola Mundo". b. Ejecute el proprocesador de C++ proporcionándole como entrada el fichero programa.c. Cuántas líneas tiene el fichero de salida? Qué ha ocurrido con la sentencia de inclusión: #include? Qué sucede con la definición de macro: #define? c. Ejecute el ensamblador de C++ proporcionándole como entrada el fichero programa.c. Qué tipo de código contiene el fichero de salida?

3 Compilación de Programas formados por varios Módulos Consideremos la división de la implementación de un problema en dos ficheros: programa1.cc y programa2.cc. Según se muestra en la figura, el primer paso consiste en editar dichos ficheros (con el editor vi, por ejemplo). A continuación, la orden que se debería emitir para generar la aplicación es: g++ programa1.c programa2.c Se ha de tener en cuenta, que la llamada al enlazador (linker) se realiza de forma automática. Por lo tanto, los dos ficheros intermedio, programa1.o y programa2.o se borraran al finalizar la operación. Si se quieren conservar ambos es necesario compilar con los comandos: g++ -c programa1.c g++ -c programa2.c g++ programa1.o programa2.o La procedencia de los ficheros que aporta el sistema operativo al proceso de compilación es la siguiente: Ficheros de Cabecera - directorio /usr/include Librerías - directorios /lib, /usr/lib a. Descarge los ficheros main.cc y suma.cc. El fichero main.cc contiene una implementación en C++ de un programa que imprime por pantalla la frase "Hola Mundo" y realiza una llamada al método suma(int,int) que está implementado en el fichero suma.cc b. Compile los fichero main.cc y suma.cc de forma que se obtengan dos ficheros objeto separados: main.o y suma.o. c. Ejecute el enlazador de C++ proporcionándole como entrada los ficheros main.o y suma.o de forma que obtenga un fichero ejecutable a.out.

4 Gestión de librerías La creación de librerías (o bibliotecas) aporta modularidad y portabilidad a los programas. Una librería es un fichero que está compuesto por una colección de otros ficheros llamados miembros de la librería. La estructura de una librería posibilita la extracción de sus miembros. Cuando se añade un fichero a una librería, los datos de éste y su información administrativa (permisos, fechas, propietario, grupo, etc.) se introduce en él. Para una descripción detallada de las opciones de esta herrmienta visite la página de manual (man ar). Programas ar y ranlib Las funciones básicas de ar son: crear, modificar y extraer miembros. ar [-] opciones [miembro] librería [ficheros] Entre las opciones se deben distinguir aquellas que son obligatorias y los modificadores. Cuando se emite una orden ar es necesario que haya una obligatoria y sólo una. Opciones Obligatorias d Borrar miembros de la librería. m Mover un miembro de la librería. q Añadido rápido. r Reemplazar ficheros de la librería. t Mostrar una tabla con el contenido de la librería. x Extraer miembros de la librería. Modificadores a Añadir nuevos ficheros detrás de un miembro existente de la librería. b,i Añadir nuevos ficheros delante de un miembro existente de la librería. c Crear la librería. o Preservar las fechas originales de los miembros cuando sean extraídos de la librería. s Crear un índice de la librería o actualizar el existente (ranlib = ar -s ). v Se muestra información adicional al realizar una operación. u La orden ar -r reemplaza todos los ficheros indicados. Usando u se reemplazan sólo aquellos ficheros que han sido modificados con fecha posterior a los que hay en la librería. Programa nm El contenido de una librería o de un módulo objeto se puede inspeccionar con el programa nm La sintaxis del mismo es la siguiente: nm [opciones] ficheros Si no se especifica ningún fichero, se considera por defecto a.out Opciones -g Mostrar sólo los símbolos externos. -p No ordenar la salida alfabéticamente. -n Ordenar los símbolos según la dirección que ocupen y según su nombre. -s Mostrar también el índice, en el caso de que el módulo sea un librería. -o Preceder cada símbolo con el nombre del fichero al que pertenece. -r Invertir el sentido de la ordenación. -u Mostrar sólo los símbolos externos referenciados en cada módulo. Considere la creación de una librería que proporcione funciones que permitan calcular el máximo y el mínimo entre tres valores de tipo entero, real y caracter. Puede descargar el código para dichas funciones de los ficheros max.cc y min.cc. El fichero max.cc contiene funciones para calcular el máximo y el fichero min.cc contiene funciones para calcular el mínimo. El fichero maxmin.h contine la definición de los prototipos de dichas funciones. Siguiendo los pasos que se enumeran a continuación se construirá la libería maxmin.a: a. Compile ambos ficheros con la orden: $ g++ -c max.cc min.cc Si no se producen errores obtendrá los ficheros max.o y min.o. b. Para crear la librería ejecute la siguiente línea de comando: $ ar -r libmaxmin.a max.o min.o Si no se producen errores obtendrá el fichero libmaxmin.a c. Para ver el contenido de la librería ejecute la siguiente línea de comando: $ nm libmaxmin.a Se mostrará por pantalla que libmaxmin.a contiene en min.o una función min sobrecargada para trabajar con parámetros enteros, reales y caracteres. Una información similar se mostrará para la función max. d. Ya se tiene la librería, el último paso consiste en utilizarla. Para ello complete el fichero uselib.cc de manera que se calculen el máximo entre tres valores enteros, tres valores

5 reales y tres valores det ipo caracter. La línea de comando a utilizar será: $ g++ -L. uselib.cc -lmaxmin.a -ouselib.out Introducción a las Herramientas Informáticas Unix para el Desarrollo de la La herramienta make Cuando se trabaja con programas grandes, es común dividirlos en partes más pequeñas para hacerlos más manejables. También puede ocurrir que se tengan módulos escritos en lenguajes diferentes, o que necesiten compilarse con opciones especiales y enlazarse con librerías específicas. Cuando una aplicación cuenta con más de dos o tres módulos resulta complicado mantener en mente todas las dependencias. El programa make es una utilidad Unix que facilita la descripción de dependencias entre un grupo de ficheros relacionados, que generalmente forman parte del mismo proyecto. Los programadores utilizan make para describir cómo hacer un programa: qué ficheros fuente es necesario compilar, qué librerías se deben incluir y cuáles de los ficheros objeto necesitan ser enlazados. La sintaxis del comando es: make [-f filename] [opciones] [objetivo] Si no se especifica la opción -f filename, se consideraran por defecto makefile o Makefile como ficheros de especificación. Puede encontrar una descripción más detallada de make en: Utilización básica de make Supónga que ha de compilar un programa "ejemplo" cuyo código fuente se caracteriza por estar dividido en seis ficheros como los siguientes:

6 Además, para obtener el fichero ejecutable es necesario enlazar los tres ficheros ejecutables con la librería milibreria. El comando make puede construir el ejecutable de una aplicación pero para ello necesita que le digan cómo hacerlo y para eso es necesario escribir un fichero makefile como el de la figura. Una dependencia se especifica escribiendo el nombre del fichero que se quiere obtener, dos puntos, espacios o tabuladores y una lista de ficheros separados por espacios o tabuladores. Las dependencias que se especifican en las líneas 21, 24, 27 y 30 en el fichero makefile de la figura son resueltas por make creando la siguiente jerarquía:

7 Por lo general, los ficheros makefile se dejan en el mismo directorio en el que estén el resto de los ficheros fuente y se pueden tener tantos como hagan falta. Si el fichero se almacena en el directorio de trabajo, con el nombre de makefile o Makefile, sólo hay que escribir en la línea de comandos: $ make A veces, es útil incluir reglas con nombres mnemotécnicos que realicen ciertas tareas. Por ejemplo, la entrada clean, que aparece en la línea 35 podría utilizarse para eliminar ficheros intermedios. Para que se ejecute dicha sentencia en la línea de comandos hay que escribir: $ make clean La línea de especificación de los comandos que se han de ejecutar siempre deben empezar con un caracter de tabulador, nunca con espacios en blanco. Ejemplos de este tipo de sentencias son las líneas 22, 25, 28, 31 y 36. make tiene un mecanismo de macros sencillo que se utiliza para sustituir elementos en las líneas de dependencia y en las de comando. La líneas 4, 7, 10, 13 y 19 muestran definiciones de macros. Una macro se define indicando el nombre de la macro, seguida del signo igual y opcionalmente el valor que toma (porque puede ser el vacío). Una macro se invoca precediendo su nombre con un signo $ y los nombres con más de una letra deben ir entre paréntesis. Ejemplos de uso son las que aparecen en las líneas 22, 25, Existen un par de macros especiales que se definen por defecto antes de empezar. Estas macros son: $@ Almacena el nombre del archivo a construir Almacena la cadena de nombres de fichero que son más jóvenes que el fichero a Almacena la cadena de nombres de fichero que son más jóvenes que el fichero a $? construir. Normalmente, cada línea de comandos se muestra por pantalla y una vez sustituidas las macros que aparezcan en ellas se invoca al intérprete de comandos para que se ejecute. El suprime el eco del comando que está siendo ejecutado por make. make utiliza una tabla de terminaciones por defecto para suplir la falta de información sobre cómo tratar determinados ficheros. La siguiente muestra un resumen de las mismas:.o Fichero objeto.c Fichero fuente en C.f Fichero fuente en FORTRAN.s Fichero fuente en Ensamblador.y Gramática fuente en YACC.l Fichero de especificación de LEX Por ejemplo, si aparece el fichero toto.c y se debe construir el pepe.o, supone que toto.c es un fichero fuente en C. Pero si no aparece toto.c pero aparece toto.y, make primero llama a YACC para obtener toto.c y luego invoca al compilador de C con el fichero resultante. Para cambiar los compiladores por defecto existen las macros: AS, CC, YACC y LEX También se pueden usar las macros CFLAGS, YFLAGS y LFLAG para pasarle argumentos a los compiladores de C, LEX y YACC. 1. Descarge los ficheros main.cc, dos.cc, tres.cc, cabecera1.h, cabecera2.h, cabecera3.h y Makefile que se utilizaron en el apartado anterior. 2. Qué orden tiene que ejecutar desde la línea de comandos para crear los ejecutables y la librería? 3. Qué comando ha de ejecutar si quiere que la aplicación que se genera se instale en el directorio /tmp? 4. Qué etiqueta debe especificar en la línea de comandos junto al comando make para que elimine todos los ficheros objetos creados y empiece el proceso de creación desde cero?

04 Como se crea un programa ejecutable de un lenguaje compilado Compiladores - Profr. Edgardo Adrián Franco Martínez

04 Como se crea un programa ejecutable de un lenguaje compilado Compiladores - Profr. Edgardo Adrián Franco Martínez 2 Contenido Compilador Compilación Generación de código ejecutable Generación de un código ejecutable de C/C++ Preprocesado Compilador Ensamblador Enlazador Opciones útiles del compilador gcc 3 Definición

Más detalles

SEMINARIO-TALLER DE SOFTWARE (STI-S) Herramienta Make

SEMINARIO-TALLER DE SOFTWARE (STI-S) Herramienta Make SEMINARIO-TALLER DE SOFTWARE (STI-S) Herramienta Make Índice 1. Introducción. 2. Modularidad. 3. Archivos de Cabecera. 4. Programa ejemplo 5. Reglas 6. Uso de variables 7. Reglas predefinidas 8. Opciones

Más detalles

USO DE MAKE CON CLIP

USO DE MAKE CON CLIP USO DE MAKE CON CLIP SACL a882sacl@yahoo.com.ar Grupo Clip clip-castellano@gruposyahoo.com.ar Versión 0.1-12/06/2005 Revisiones: INTRODUCCION Como ya sabemos, compilar un prg no presenta ningún problema

Más detalles

El Compilador GNU para C: GCC PROGRAMACIÓN I OTOÑO DE 2018 DR. MARIO ROSSAINZ LÓPEZ

El Compilador GNU para C: GCC PROGRAMACIÓN I OTOÑO DE 2018 DR. MARIO ROSSAINZ LÓPEZ El Compilador GNU para C: GCC PROGRAMACIÓN I OTOÑO DE 2018 DR. MARIO ROSSAINZ LÓPEZ El Compilador GCC GCC es un compilador originario del proyecto GNU que se utiliza para compilar programas escritos en

Más detalles

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 3 CICLO DE VIDA DE UN PROGRAMA 1 OBJETIVOS Saber qué es la Ingeniería

Más detalles

Algo sobre Makefiles

Algo sobre Makefiles Algo sobre Makefiles Para compilar sin complicarse Algoritmos I DC FCEyN UBA Primer cuatrimestre de 2016 Entregables y Makefiles Cómo entregar el código fuente? Código legible (indentado!) Comentarios

Más detalles

Compilación de Programas C en UNIX y LINUX

Compilación de Programas C en UNIX y LINUX Compilación de Programas C en UNIX y LINUX Apéndice W1 La forma de compilar programas C en el entorno UNIX varía considerablemente entre las diferentes plataformas UNIX. Las versiones de Linux y FreeBSD

Más detalles

Unidad III: Introducción a la Programación

Unidad III: Introducción a la Programación Unidad III: Introducción a la Programación 3.1 Características del lenguaje de programación Un lenguaje de programación es un idioma artificial diseñado para expresar procesos que pueden ser llevadas a

Más detalles

Tema 2 Introducción a la Programación en C.

Tema 2 Introducción a la Programación en C. Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes

Más detalles

Fundamentos de Programación 2017-I

Fundamentos de Programación 2017-I Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis

Más detalles

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS 2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y su ejecución en la misma. Aunque el proceso de diseñar

Más detalles

Estructuras de Datos y Algoritmos Tecnólogo en Informática

Estructuras de Datos y Algoritmos Tecnólogo en Informática Estructuras de Datos y Algoritmos Tecnólogo en Informática EL COMPILADOR GCC ESTRUCTURAS DE DATOS Y ALGORITMOS - TECNÓLOGO EN INFORMÁTICA 1 Contenido Sintaxis... 3 Ejemplos... 3 Sufijos en nombres de archivo...

Más detalles

Guía de Usuario de la Utilidad Make (Ver /12/98)

Guía de Usuario de la Utilidad Make (Ver /12/98) Guía de Usuario de la Utilidad Make (Ver 1.0-10/12/98) C. Bravo C. Calero E. Domínguez C. Villarrubia E. Superior de Informática Univ. De Castilla - La Mancha Ciudad Real Índice Índice...2 Utilidad Make...3

Más detalles

PRÁCTICAS DE PROCESADORES DEL LENGUAJE CURSO 2008/2009

PRÁCTICAS DE PROCESADORES DEL LENGUAJE CURSO 2008/2009 PRÁCTICAS DE PROCESADORES DEL LENGUAJE CURSO 2008/2009 PRÁCTICA 2: ANALIZADOR SINTÁCTICO Y TABLA DE SÍMBOLOS. Objetivo de la Práctica Esta práctica tiene como primer objetivo la codificación de un analizador

Más detalles

Programación Avanzada

Programación Avanzada Programación Avanzada Instructivo de Compilación 1 1 Índice 1 ÍNDICE... 2 2 INTRODUCCIÓN... 3 3 HERRAMIENTAS... 3 3.1 SINTAXIS DE LOS COMANDOS GCC Y G++... 3 3.2 OTRAS HERRAMIENTAS:... 4 3.3 EJEMPLOS:...

Más detalles

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 TEMA 3: El proceso de compilación, del código fuente al código máquina 3.1 Fase de compilación y linkado (link, montado o enlace) Un programa escrito en un lenguaje de alto nivel, no puede ser ejecutado

Más detalles

roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. Nociones básicas de programación

roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. Nociones básicas de programación There are no translations available. Introducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C.

Más detalles

TP N 14 Compilando C/C++ bajo GNU/Linux

TP N 14 Compilando C/C++ bajo GNU/Linux Taller de GNU/Linux 2003- TP14 - hoja 1/5 Universidad Nacional de La Matanza Ingeniería en Informática-Taller de GNU/Linux 2003 TP N 14 Compilando C/C++ bajo GNU/Linux Objetivos: Utilizar en forma básica

Más detalles

Tutorial Básico Cmake en Linux

Tutorial Básico Cmake en Linux Tutorial Básico Cmake en Linux Esta guía está pensada para gente que no tiene ningún conocimiento previo del proceso de compilación de C++ y Cmake en Linux. Existen varios manuales en internet y documentación

Más detalles

C1 INTRODUCCIÓN AL LENGUAJE C. Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid

C1 INTRODUCCIÓN AL LENGUAJE C. Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid C1 INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid Índice 1. Lenguajes de Programación 1. Definición. 2. Niveles

Más detalles

Introducción a la programación

Introducción a la programación Introducción a la programación PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Introducción 1 Introducción a la programación Computador: aparato electrónico capaz de interpretar

Más detalles

Tema 5: Diseño modular

Tema 5: Diseño modular : Programación 2 Curso 2015-2016 Índice 1 2 3 (1/2) Cuando el programa crece es necesario dividirlo en módulos Cada módulo agrupa una serie de funciones con algo en común El módulo puede reutilizarse en

Más detalles

TEORÍA DE AUTÓMATAS Y LENGUAJES

TEORÍA DE AUTÓMATAS Y LENGUAJES 2010/2011 INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Enunciado de prácticas Lex y Yacc Enunciado de la práctica El objetivo de la práctica de esta asignatura

Más detalles

Lenguaje de Programación: C++ Directivas al preprocesador

Lenguaje de Programación: C++ Directivas al preprocesador UG Lenguaje de Programación: C++ Directivas al preprocesador Universidad de Guanajuato Septiembre 2010 Un preprocesador es un programa separado que es invocado por el compilador antes de que comience la

Más detalles

Cruz García Karen Ilzette González Mendoza María del Rosario Hernández Castañeda Alan Eliseo Sánchez Quiroz Sheila Mariana Varela García Tania

Cruz García Karen Ilzette González Mendoza María del Rosario Hernández Castañeda Alan Eliseo Sánchez Quiroz Sheila Mariana Varela García Tania Cruz García Karen Ilzette González Mendoza María del Rosario Hernández Castañeda Alan Eliseo Sánchez Quiroz Sheila Mariana Varela García Tania Violeta Un ensamblador es el programa que convierte un listado

Más detalles

Introducción al Diseño de Compiladores. Año

Introducción al Diseño de Compiladores. Año Introducción al Diseño de Compiladores Año 2003 1 BIBLIOGRAFÍA [AHO] Compilers. Principles, Techniques, and Tools Aho, Sethi; Adisson-Wesley 1986 [TEU] Compiladores: Conceptos fundamentales. Teufel ; Addison

Más detalles

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

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

Más detalles

LABORATORIO DE GESTIÓN DE REDES (I)

LABORATORIO DE GESTIÓN DE REDES (I) UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE GESTIÓN DE REDES (I) 1. PRESENTACIÓN El laboratorio de Gestión de Redes constará de un conjunto de prácticas

Más detalles

Técnicas de Programación

Técnicas de Programación Técnicas de Programación 2.1.- Introducción: unos conceptos previos y primeros conceptos de la API Introducción La resolución de un problema con medios informáticos implica generalmente la siguiente secuencia

Más detalles

Practica 02: Construcción de bibliotecas en C

Practica 02: Construcción de bibliotecas en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Concepto de Librería en Programación

Más detalles

Teoría de Autómatas y Lenguajes Formales, IS17 Ingeniería Técnica en Informática de Sistemas. Práctica 1: Introducción al Analizador Léxico FLEX

Teoría de Autómatas y Lenguajes Formales, IS17 Ingeniería Técnica en Informática de Sistemas. Práctica 1: Introducción al Analizador Léxico FLEX Teoría de Autómatas y Lenguajes Formales, IS17 Ingeniería Técnica en Informática de Sistemas Práctica 1: Introducción al Analizador Léxico FLEX Enunciado: El objetivo de esta práctica consiste en aprender

Más detalles

Lenguajes. Ciclo de desarrollo. Cód. Máquina Lenguajes alto nivel Lenguaje ensamblador 6-2. Introducción a los microprocesadores IIE FI - UDELAR

Lenguajes. Ciclo de desarrollo. Cód. Máquina Lenguajes alto nivel Lenguaje ensamblador 6-2. Introducción a los microprocesadores IIE FI - UDELAR 6-1 Lenguajes Cód. Máquina Lenguajes alto nivel Lenguaje ensamblador Ciclo de desarrollo 6-2 Nivel de abstracción bajo ceros y unos. Es lo único que entiende el procesador. Objetivo: código de máquina

Más detalles

Computadores y Redes de Computadores. Práctica de Laboratorio: Software

Computadores y Redes de Computadores. Práctica de Laboratorio: Software Computadores y Redes de Computadores Práctica de Laboratorio: Software Julián Viejo Cortés Jorge Juan Chico 2008, 2014 Índice de contenidos 1. Introducción...2 2. Ejemplo 1: Suma de números en ensamblador...2

Más detalles

El fichero <X11/X.h> se incluye cuando se utiliza el <X11/Xlib.h>, por tanto, cuando este último sea incluido, el primero no es necesario hacerlo.

El fichero <X11/X.h> se incluye cuando se utiliza el <X11/Xlib.h>, por tanto, cuando este último sea incluido, el primero no es necesario hacerlo. PRÁCTICAS DE ENTORNOS DE USUARIO Parte II: Programación en X-Window Ficheros cabecera Al realizar un programa X-Window, se han de incluir los siguientes ficheros cabecera, además de los ficheros cabecera

Más detalles

Fundamentos de Informática 3. Construcción de Software

Fundamentos de Informática 3. Construcción de Software 2 Contenidos Fundamentos de Informática 3. Construcción de Software - Introducción - - - Diseño -Algoritmos -Diagramas de Flujo -Pseudocódigos - Codificación - Pruebas - Mantenimiento Fundamentos de Informática

Más detalles

El lenguaje de programación C - El primer programa -

El lenguaje de programación C - El primer programa - El lenguaje de programación C - El primer programa - Isidro González Caballero ( gonzalezisidro@uniovi.es ) 2 Introducción a la Física Computacional Curso 2010-2011 2 Editar, compilar, montar, ejecutar

Más detalles

En este apéndice se verá el funcionamiento del compilador de C en ambientes Windows y fundamentalmente GNU-Linux, que es el que se recomienda.

En este apéndice se verá el funcionamiento del compilador de C en ambientes Windows y fundamentalmente GNU-Linux, que es el que se recomienda. Apéndice A El compilador de C En este apéndice se verá el funcionamiento del compilador de C en ambientes Windows y fundamentalmente GNU-Linux, que es el que se recomienda. Introducción Existe una secuencia

Más detalles

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas Unidad I Introducción a la programación de Sistemas M.C. Juan Carlos Olivares Rojas Agenda 1.1 Qué es y que estudia la programación de sistemas? 1.2 Herramientas desarrolladas con la teoría de programación

Más detalles

Tema 5: Herramientas de programación y diseño modular

Tema 5: Herramientas de programación y diseño modular : Herramientas de programación y diseño Programación 2 Curso 2013-2014 Índice 1 2 3 4 El proceso de compilación (1/2) La tarea de traducir un programa fuente en ejecutable se realiza en dos fases: : El

Más detalles

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Ingeniería Técnica en Informática de Sistemas Segundo curso Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba

Más detalles

Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se

Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se Definición de diagrama de flujo Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para computadora, en el que cada paso del algoritmo se visualiza dentro del

Más detalles

Tema 2. Diseño Modular.

Tema 2. Diseño Modular. Tema 2. Diseño Modular. E.U. Politécnica Curso 2004-2005 Departamento Lenguajes y Ciencias de la Computación. Universidad de Málaga José Luis Leiva Olivencia. Despacho: I-326D (Edificio E.U.P)/ 3.2.41

Más detalles

UNIDAD 2 Descripción de un programa

UNIDAD 2 Descripción de un programa Descripción de un programa Estructura general de un programa. Elementos básicos. Tipos de datos simples: enteros, reales y carácter. Representación de datos en memoria. Operaciones sobre tipos de datos

Más detalles

CÓMO DESARROLLAR Y PROBAR PROGRAMAS?, COMPRUÉBALO!

CÓMO DESARROLLAR Y PROBAR PROGRAMAS?, COMPRUÉBALO! CÓMO DESARROLLAR Y PROBAR PROGRAMAS?, COMPRUÉBALO! AUTORÍA MARÍA CATALÁ CARBONERO TEMÁTICA PROGRAMACIÓN ETAPA CICLO MEDIO Y SUPERIOR DE INFORMÁTICA Resumen A la hora de realizar un programa en cualquier

Más detalles

Tema: Introducción a la Programación Estructurada

Tema: Introducción a la Programación Estructurada Tema: Introducción a la Programación Estructurada 1 Objetivos Mostrar el contexto en el que se desarrolla la asignatura. Comprender algunos conceptos como el de algoritmo y programa. Entender las tareas

Más detalles

Tema 1: Introducción

Tema 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 / 28 Definición de compilador Un compilador

Más detalles

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual. Manual de Dev-C++ 4.9.9.2 Página 1 de 11 Introducción Dev-C++ es un IDE (entorno de desarrollo integrado) que facilita herramientas para la creación y depuración de programas en C y en C++. Además, la

Más detalles

HISTORIA DE C Creado entre 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX. A mediados de los ochenta se

HISTORIA DE C Creado entre 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX. A mediados de los ochenta se LENGUAJE DE PROGRAMACION C Introducción al Lenguaje HISTORIA DE C Creado entre 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX. A mediados de los ochenta se

Más detalles

7.3. Estructura de un programa

7.3. Estructura de un programa TEMA 7 ALGORITMOS Y PROGRAMAS. ESTRUCTURA DE UN PROGRAMA 7.1. Algoritmos 7.2. Compilación 7.3. Estructura de un programa 7.1. Algoritmos Objetivo: Resolver problemas mediante computadoras (usando el lenguaje

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Introducción al lenguaje C Juan C. Dueñas Joaquín Seoane T. de Miguel Dpto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid 1

Más detalles

Unidad 2. Introducción Lenguajes y Compiladores

Unidad 2. Introducción Lenguajes y Compiladores Unidad 2 Introducción Lenguajes y Compiladores Principal material bibliográfico utilizado Compiladores Principios, técnicas y herramientas. Aho y Ullman. Addison Wesley. www.jorgesanchez.net www.iqcelaya.itc.mx/~vicente/programacion/tradcomp.pdf

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial El preprocesador de lenguaje C V1.2 Autores El preprocesador de lenguaje C Definición Directivas de preprocesado Constantes simbólicas y macros

Más detalles

Departamento de Electrónica

Departamento de Electrónica Introducción al Departamento de Electrónica Fundación San Valero Introducción al 1 Introducción al Introducción al 2 Introducción al Introducción al 3 Características del Características del Departamento

Más detalles

Programación Básica Estructuras de Datos y Funciones en C

Programación Básica Estructuras de Datos y Funciones en C Arturo Vega González a.vega@ugto.mx Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 8 Universidad de Guanajuato, DCI, Campus León 1 / 33 Contenido 1 Estructuras de Datos

Más detalles

Índice. Definición Objetivos Estructura de una unidad Ejemplo de creación y uso FAQs Opciones de compilación Unidades estándar de TurboPascal

Índice. Definición Objetivos Estructura de una unidad Ejemplo de creación y uso FAQs Opciones de compilación Unidades estándar de TurboPascal Departamento de Informática Universidad de Valladolid Campus de Segovia Unidades en TurboPascal Programación II Prácticas 2006 (E.I.T.G. Segovia) Índice Definición Objetivos Estructura de una unidad Ejemplo

Más detalles

Práctica 2. Desarrollo de programas. Entrada y salida estándar en C.

Práctica 2. Desarrollo de programas. Entrada y salida estándar en C. INFORMÁTICA Práctica 2. Desarrollo de programas. Entrada y salida estándar en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2014-2015 v2.0 (05.09.14) CREACIÓN DE UN PROGRAMA A la

Más detalles

Introducción. El proceso de traducción

Introducción. El proceso de traducción Traductores y compiladores bajo + de abstracción 1945 1950 1968 1970 1990 11100110 0001 0110 10101001 1100 0011 11000011 1101 1100 MOVE AX #2 MOVE BX #3 MUL CX AX BX Fact = 1; For i:=0 to 10 fact := fact

Más detalles

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados

Más detalles

Tema 1. Introducción

Tema 1. Introducción Departamento de Tecnologías de la Información Tema 1 Introducción Ciencias de la Computación e Inteligencia Artificial Índice 1.1 Conceptos 1.2 Un poco de historia 1.3 Estructura de un compilador 1.4 Teoría

Más detalles

Objetivo N 2. Conocer la Estructura General de un Programa en C++ Estructura de Datos Prof. Egilde Márquez

Objetivo N 2. Conocer la Estructura General de un Programa en C++ Estructura de Datos Prof. Egilde Márquez Objetivo N 2 Conocer la Estructura General de un Programa en C++ Estructura de Datos Prof. Egilde Márquez * Un programa en C++ está definido por funciones (grupo de instrucciones que pueden o no hacer

Más detalles

Práctica 4 Análisis LALR para milenguaje y construcción de un traductor de milenguaje

Práctica 4 Análisis LALR para milenguaje y construcción de un traductor de milenguaje Práctica 4 Análisis LALR para milenguaje y construcción de un traductor de milenguaje 1. Objetivos 1. Hacer una introducción práctica a la traducción dirigida por la sintaxis basada en el análisis LALR

Más detalles

Capítulo 3. Introducción a la programación. Continuar

Capítulo 3. Introducción a la programación. Continuar Capítulo 3 Introducción a la programación Continuar Introducción Java es un lenguaje que tiene muchas ventajas frente a otros lenguajes de programación: es open source (código abierto), esto permite ver

Más detalles

Lenguaje de programación. COMPILADORES Unidad I: Introducción al proceso de compilación

Lenguaje de programación. COMPILADORES Unidad I: Introducción al proceso de compilación COMPILADORES Unidad I: Introducción al proceso de compilación Flor Prof. Flor Narciso GIDyC-Departamento de Computación LABSIULA-Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de

Más detalles

GUÍA DOCENTE ABREVIADA DE LA ASIGNATURA

GUÍA DOCENTE ABREVIADA DE LA ASIGNATURA GUÍA DOCENTE ABREVIADA DE LA ASIGNATURA G40 - Programación Grado en Física Curso Académico 2016-2017 1. DATOS IDENTIFICATIVOS Título/s Grado en Física Tipología Obligatoria. Curso 1 y Curso Centro Módulo

Más detalles

Lenguaje de Programación: Compiladores de C y C++

Lenguaje de Programación: Compiladores de C y C++ UG Introducción a C/C++ Lenguaje de Programación: de C y C++ Universidad de Guanajuato Septiembre 2010 C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell de

Más detalles

Lógica: Algoritmo: Archivo: Base de datos: Bit:

Lógica: Algoritmo: Archivo: Base de datos: Bit: Lógica: Algoritmo: Archivo: Base de datos: Bit: 1 LÓGICA: Es una secuencia de operaciones realizadas por el hardware o por el software. Lógica del hardware, Son los circuitos y Chips que realizan las operaciones

Más detalles

Entorno de Programación Visual C++ 6.0

Entorno de Programación Visual C++ 6.0 Entorno de Programación Visual C++ 6.0 Informática II Fundamentos de Programación 18 de Febrero de 2002 1 Visual C++ 6.0 Es un IDE (Entorno de desarrollo integrado). Tiene editor, compilador, enlazador,

Más detalles

Concepto de compilador Intérprete Fases de un Compilador Herramientas de construcción de Compiladores

Concepto de compilador Intérprete Fases de un Compilador Herramientas de construcción de Compiladores 18:55 1 2 Temas Concepto de compilador Intérprete Fases de un Compilador Herramientas de construcción de Compiladores Objetivo Que el estudiante logre conocer, comprender y manejar conceptos y técnicas

Más detalles

Primeros pasos en Linux TLSAX. Presentación N 3 - Glosario

Primeros pasos en Linux TLSAX. Presentación N 3 - Glosario Primeros pasos en Linux TLSAX Presentación N 3 - Glosario Glosario Un compilador acepta programas escritos en un lenguaje de alto nivel y los traduce a otro lenguaje, generando un programa equivalente

Más detalles

FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS

FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS FORMATO DEL FICHERO CON LA TABLA DE SÍMBOLOS Para la corrección de la Práctica de Procesadores de Lenguajes, y como se indica en la especificación de la misma (http://dlsiisv.fi.upm.es/procesadores/practica.html),

Más detalles

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

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

Más detalles

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN

Más detalles

1. Funcionamiento de lex

1. Funcionamiento de lex El generador de analizadores léxicos lex. Teoría de Autómatas y lenguajes formales Federico Simmross Wattenberg (fedesim@infor.uva.es) Universidad de Valladolid Una vez visto cómo las expresiones regulares

Más detalles

Procesadores de lenguaje Tema 1 Introducción a los compiladores

Procesadores 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 detalles

FUNDAMENTOS DE PROGRAMACIÓN Asignatura correspondiente al plan de estudios de la carrera de Ingeniería Informática

FUNDAMENTOS DE PROGRAMACIÓN Asignatura correspondiente al plan de estudios de la carrera de Ingeniería Informática Página 1/14 Universidad Nacional del Litoral Facultad de Ingeniería y Ciencias Hídricas Departamento de Informática FUNDAMENTOS DE PROGRAMACIÓN Asignatura correspondiente al plan de estudios de la carrera

Más detalles

Introducción a la programación: Contenido. Introducción

Introducción a la programación: Contenido. Introducción Introducción a la programación: Contenido Introducción a la programación:... 1 Introducción... 1 1. Procesamiento automatizado de información... 1 2. Concepto de algoritmo.... 2 3. Lenguajes de programación....

Más detalles

Prof. María Alejandra Quintero. Informática Año

Prof. María Alejandra Quintero. Informática Año Prof. María Alejandra Quintero Informática Año 2014-2015 Es la acción de escribir programas de computación con el objetivo de resolver un determinado problema. Implica escribir instrucciones para indicarle

Más detalles

Metodología de Desarrollo de Programas

Metodología de Desarrollo de Programas Metodología de Desarrollo de Programas Prof. Judith Barrios Albornoz Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Semestre A_2013 Este material

Más detalles

Sistema de análisis de vídeo basado en tecnología IP

Sistema de análisis de vídeo basado en tecnología IP Sistema de análisis de vídeo basado en tecnología IP 1 Instalación...2 2 Registro...4 3 Configuración...5 3.1 Perfiles... 6 3.1.1 Regiones... 8 3.1.2 Variables... 9 3.1.3 Testear variables... 11 3.2 Configuración

Más detalles

Unidad 1. Resumen Teórico. Uso de las Computadoras (1) Programación. Uso de las Computadoras (3) Uso de las Computadoras (2)

Unidad 1. Resumen Teórico. Uso de las Computadoras (1) Programación. Uso de las Computadoras (3) Uso de las Computadoras (2) Unidad 1 Resumen Teórico Uso de las Computadoras (1) Desde el punto de vista funcional, podemos decir que Una computadora es una máquina electrónica de propósito general, que recibe como entrada datos,

Más detalles

SEMINARIO C++ Introducción a la Programación Orientada a Objetos. Herramientas de programación y Práctica 0 v

SEMINARIO C++ Introducción a la Programación Orientada a Objetos. Herramientas de programación y Práctica 0 v SEMINARIO C++ Introducción a la Programación Orientada a Objetos Herramientas de programación y Práctica 0 v. 20070918 Cristina Cachero Pedro J. Ponce de León Depto. Lenguajes y Sistemas Informáticos -

Más detalles

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Justificación: Se pretende con éste contribuir a que el alumno se inicie y conozca el entorno del IDE en la creación de pequeños programas en java Objetivos:

Más detalles

Práctica No. 4 Programas en Lex

Práctica No. 4 Programas en Lex Práctica No. 4 Programas en Lex Objetivo El objetivo de esta práctica es conocer el programa flex y utilizarlo para crear y compilar algunos ejemplos de programas Lex autónomos. Introducción Podemos definir

Más detalles

1.4 Ficheros m. Entrada y salida de datos por consola.

1.4 Ficheros m. Entrada y salida de datos por consola. 1.4 Ficheros m. Entrada y salida de datos por consola. Ficheros m Hasta el momento todas las órdenes del lenguaje M las hemos ejecutado desde la ventana de comandos. De esta manera obtenemos una respuesta

Más detalles

Metodología y Tecnología de la Programación. I.T. Informática de Gestión

Metodología y Tecnología de la Programación. I.T. Informática de Gestión ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA PROGRAMAS, MÉTODOS Y CRITERIOS DE EVALUACIÓN A APLICAR DURANTE EL PROCESO DE EXTINCIÓN DEL PLAN 1999 Metodología y Tecnología de la Programación I.T. Informática

Más detalles

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

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

Más detalles

Programación Orientada a Objetos en C++

Programación Orientada a Objetos en C++ Unidad I Programación Orientada a Objetos en C++ Programación Orientada a Objetos en C++ Programación I - 0416202 Contenido Esta lección abarca los siguientes temas: Estructura y declaración de una clase

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO COMPILADORES 1764 7 o 09 Asignatura Clave Semestre Créditos Ingeniería Eléctrica Ingeniería en Computación Ingeniería

Más detalles

Procesadores de lenguajes Ingeniería Informática Especialidad de Computación Tercer curso, segundo cuatrimestre

Procesadores de lenguajes Ingeniería Informática Especialidad de Computación Tercer curso, segundo cuatrimestre Procesadores de lenguajes Ingeniería Informática Especialidad de Computación Tercer curso, segundo cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2016-2017

Más detalles

Una función es un miniprograma dentro de un programa. Las funciones contienen varias

Una función es un miniprograma dentro de un programa. Las funciones contienen varias TEMA 6. FUNCIONES. Una función es un miniprograma dentro de un programa. Las funciones contienen varias sentencias bajo un solo nombre, que un programa puede utilizar una o más veces para ejecutar dichas

Más detalles

Paradigmas de lenguajes de programación. Introducción a la programación imperativa. Lenguaje C. Programación imperativa

Paradigmas de lenguajes de programación. Introducción a la programación imperativa. Lenguaje C. Programación imperativa Paradigmas de lenguajes de programación Introducción a la programación imperativa Algoritmos y Estructuras de Datos I Paradigma: Definición del modo en el que se especifica el cómputo (que luego es implementado

Más detalles

Procesos e hilos: el downloader

Procesos e hilos: el downloader Departamento de Automática 1 / 8 Descarga de archivos con procesos en paralelo Objetivo principal: descarga de un archivo de gran tamaño de forma eficiente desde Internet Otros objetivos: Utilizar la biblioteca

Más detalles

Un. I. Introducción a la programación de sistemas

Un. I. Introducción a la programación de sistemas Un. I. Introducción a la programación de sistemas 1.1 Qué es la programación de sistemas? La programación de sistemas comprende el desarrollo de aquellos programas de computadora que tienen una fuerte

Más detalles

Programación de Ordenadores

Programación de Ordenadores Programación de Ordenadores Ingeniería Química David Pelta Depto de Ciencias de la Computación e I.A. Universidad de Granada Índice Resolución de Problemas con Ordenadores Algoritmo Metodología de la programación

Más detalles

PRÁCTICA. Estructura de Computadores Grado en Ingeniería Informática Estudios de Informática, Multimedia y Telecomunicación

PRÁCTICA. Estructura de Computadores Grado en Ingeniería Informática Estudios de Informática, Multimedia y Telecomunicación PRÁCTICA Estructura de Computadores Grado en Ingeniería Informática 2014-02 Estudios de Informática, Multimedia y Telecomunicación Presentación La práctica que se describe a continuación es una práctica

Más detalles

Algoritmos. Libro en línea 3/8/18. Ing. Roberto Martínez Román - 1 RESOLVIENDO PROBLEMAS. Cuál es el objetivo del libro?

Algoritmos. Libro en línea 3/8/18. Ing. Roberto Martínez Román - 1 RESOLVIENDO PROBLEMAS. Cuál es el objetivo del libro? Algoritmos RESOLVIENDO PROBLEMAS ROBERTO MARTÍNEZ ROMÁN - RMROMAN@ITESM.MX 1 Libro en línea Cuál es el objetivo del libro? Roberto Martínez Román - rmroman@itesm.mx 2 rmroman@itesm.mx 1 Tareas que hace

Más detalles

Análisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas

Análisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas Análisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas Análisis semático c 2001 José Fortes Gálvez p.1 Análisis?... semántico? La semántica corresponde al significado asociado

Más detalles