Desarrollo de Aplicaciones
|
|
- Cristián Calderón Padilla
- hace 5 años
- Vistas:
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
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 detallesSEMINARIO-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 detallesUSO 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 detallesEl 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 detallesCapí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 detallesAlgo 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 detallesCompilació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 detallesUnidad 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 detallesTema 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 detallesFundamentos 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 detalles2.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 detallesEstructuras 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 detallesGuí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 detallesPRÁ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 detallesProgramació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 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 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 detallesroducció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 detallesTP 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 detallesTutorial 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 detallesC1 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 detallesIntroducció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 detallesTema 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 detallesTEORÍ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 detallesLenguaje 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 detallesCruz 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 detallesIntroducció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 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 detallesLABORATORIO 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 detallesTé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 detallesPractica 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 detallesTeorí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 detallesLenguajes. 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 detallesComputadores 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 detallesEl 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 detallesFundamentos 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 detallesEl 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 detallesEn 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 detallesUnidad 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 detallesTema 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 detallesTEORÍ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 detallesUn 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 detallesTema 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 detallesUNIDAD 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 detallesCÓ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 detallesTema: 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 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 / 28 Definición de compilador Un compilador
Más detallesLa ú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 detallesHISTORIA 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 detalles7.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 detallesIntroducció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 detallesUnidad 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 detallesInformá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 detallesDepartamento 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 detallesProgramació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
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 detallesPrá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 detallesIntroducció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 detallesLenguaje 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 detallesTema 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 detallesObjetivo 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 detallesPrá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 detallesCapí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 detallesLenguaje 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 detallesGUÍ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 detallesLenguaje 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 detallesLó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 detallesEntorno 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 detallesConcepto 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 detallesPrimeros 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 detallesFORMATO 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 detallesUniversidad 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 detallesTEMA 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 detalles1. 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 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 detallesFUNDAMENTOS 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 detallesIntroducció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 detallesProf. 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 detallesMetodologí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 detallesSistema 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 detallesUnidad 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 detallesSEMINARIO 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 detallesDocente: 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 detallesPrá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 detalles1.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 detallesMetodologí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 detallesInformá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 detallesProgramació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 detallesUNIVERSIDAD 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 detallesProcesadores 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 detallesUna 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 detallesParadigmas 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 detallesProcesos 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 detallesUn. 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 detallesProgramació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 detallesPRÁ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 detallesAlgoritmos. 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 detallesAná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