Source: http://shakrub.com/9901701-Algoritmos-y-programas-objetivos.html
Timestamp: 2018-12-11 09:11:45+00:00

Document:
Algoritmos y Programas OBJETIVOS - PDF
Download "Algoritmos y Programas OBJETIVOS"
Tomás Domínguez Luna
1 Tema 2: Resolución de Problemas. Algoritmos y Programas Estructura y Contenidos 2.1. INTRODUCCIÓN A LA RESOLUCIÓN DE PROBLEMAS Concepto de algoritmo Estructura general de un algoritmo Propiedades exigibles a un algoritmo FASES DE LA CREACIÓN DE UN PROGRAMA Ingeniería del Software. Ciclo de vida del software Metodología de diseño: el diseño descendente REPRESENTACIÓN DE ALGORITMOS: Diagramas de flujo y Pseudolenguaje LENGUAJES DE PROGRAMACIÓN Conceptos básicos Clasificación de los lenguajes de programación El proceso de compilación: traductores de lenguajes. Fundamentos de Informática ETSI Industrial 1 Universidad de Málaga José Antonio Gómez Ruiz Tema 2: Resolución de Problemas. Algoritmos y Programas OBJETIVOS Introducir el concepto de algoritmo, mostrando las propiedades exigibles Mostrar las fases necesarias para el desarrollo completo de un programa (ciclo de vida del software (lineal, prototipos, incremental, en espiral)) Exponer las herramientas existentes para la representación de algoritmos Dar una panorámica general de los distintos paradigmas de programación, mostrando sus lenguajes más representativos Explicar el concepto de traducción de un programa diferenciando los conceptos de compilador e intérprete Fundamentos de Informática ETSI Industrial 2 Universidad de Málaga José Antonio Gómez Ruiz
2 Tema 2: Resolución de Problemas. Algoritmos y Programas Estructura y Contenidos 2.1. INTRODUCCIÓN A LA RESOLUCIÓN DE PROBLEMAS Algoritmos y programas Estructura general de un algoritmo Propiedades exigibles a un algoritmo Fases de la creación de un programa Ingeniería del Software. Ciclo de vida del software Metodología de diseño: el diseño descendente Representación de algoritmos: Diagramas de flujo y Pseudolenguaje Lenguajes de programación Conceptos básicos Clasificación de los lenguajes de programación El proceso de compilación: traductores de lenguajes. Fundamentos de Informática ETSI Industrial 3 Universidad de Málaga José Antonio Gómez Ruiz ALGORITMOS Y PROGRAMAS La principal razón por la que se aprende a programar es para utilizar el ordenador como herramienta para la resolución de problemas Un algoritmo es una secuencia ordenada de acciones que conducen a la resolución de un problema concreto, sin ambigüedad, en un tiempo finito Un programa es resolución de un problema (algoritmo) en términos que pueda entender el ordenador PROBLEMA Análisis Paso directo ALGORITMO PROGRAMA Codificación Muhammad Al-Khwârizmi ( ) Fundamentos de Informática ETSI Industrial 4 Universidad de Málaga José Antonio Gómez Ruiz
3 ALGORITMOS Y PROGRAMAS Definiciones: Procesador: entidad capaz de entender un enunciado y ejecutar el trabajo descrito Entorno: conjunto de condiciones necesarias para la ejecución del trabajo Acción o primitiva: cada etapa del enunciado Secuencialidad: cada primitiva se ejecuta cuando la anterior ha terminado completamente Paralelismo: existen algoritmos en los cuales algunas primitivas se pueden ejecutar a la vez Fundamentos de Informática ETSI Industrial 5 Universidad de Málaga José Antonio Gómez Ruiz ALGORITMOS Y PROGRAMAS Dado un procesador bien definido y un trabajo a ejecutar por este procesador, un algoritmo es el enunciado de una secuencia no ambigua de acciones primitivas que realizan ese trabajo Para diseñar un algoritmo hay que considerar tres aspectos: Primitivas de las que partimos Lenguaje simbólico a utilizar caracteres alfanuméricos, símbolos especiales y palabras en español Representación de los datos determinará la descripción del algoritmo y la forma de las acciones Fundamentos de Informática ETSI Industrial 6 Universidad de Málaga José Antonio Gómez Ruiz
4 ALGORITMOS Y PROGRAMAS Ejemplo: producto de dos número naturales Procesador: ser humano Primitivas: saber leer, escribir, sumar y restar Representación de los datos: cifras escritas en papel Algoritmo: INICIO ALGORITMO Escribir X en la hoja 1 Escribir Y en la hoja 2 Escribir 0 en la hoja 3 REPETIR Sumar valores de las hojas 1 y 3 Escribir el resultado en la hoja 3 Restar 1 al valor de la hoja 2 Escribir el resultado en la hoja 2 HASTA QUE valor hoja 2 sea 0 Leer valor escrito en hoja 3 FIN ALGORITMO hoja 1 Fundamentos de Informática ETSI Industrial 7 Universidad de Málaga José Antonio Gómez Ruiz 2 hoja 2 3 hoja 3 0 ALGORITMOS Y PROGRAMAS Ejemplo: producto de dos número naturales Procesador: ser humano Primitivas: saber desplazar bolas y contar Representación de los datos: bolas en un ábaco X=2, Y=3 Algoritmo: INICIO ALGORITMO Desplazar todas las bolas a la derecha Desplazar X bolas rojas a la izquierda Desplazar Y bolas azules a la izquierda MIENTRAS haya bolas azules a la izquierda Desplazar X bolas verdes a la izquierda Desplazar 1 bola azul a la derecha FINMIENTRAS Contar bolas verdes a la izquierda FIN ALGORITMO Fundamentos de Informática ETSI Industrial 8 Universidad de Málaga José Antonio Gómez Ruiz
5 ESTRUCTURA GENERAL DE UN ALGORITMO Un algoritmo describe una transformación de unos datos de entrada para obtener unos datos de salida mediante un procesamiento de la información: Datos de Entrada ALGORITMO Datos de Salida Son necesarias unas Acciones de entrada: recogen los datos para el proceso Acciones de proceso: ejecutan los cálculos Acciones de salida: ofrecen los resultados Interfaz: acciones de entrada + datos de entrada + acciones de salida + datos de salida Fundamentos de Informática ETSI Industrial 9 Universidad de Málaga José Antonio Gómez Ruiz PROPIEDADES EXIGIBLES Propiedades exigibles a todo algoritmo: Corrección: debe resolver con exactitud el problema para el que es diseñado Eficiencia: debe obtener soluciones en un tiempo razonable ocupando el menor espacio de memoria posible Simplicidad: cuanto más sencillo de expresar, mejor (simplicidad y eficiencia no siempre van unidas) Repetitividad: puede resolver un problema genérico concretándose con distintas entradas, obteniendo iguales resultados a iguales entradas Finitud: debe siempre terminar Por ejemplo, una receta de cocina no sería un algoritmo puesto que, aun siendo una secuencia finita y ordenada de pasos, ante las mismas entradas (ingredientes) no necesariamente se obtienen los mismos resultados (distinto sabor...) Fundamentos de Informática ETSI Industrial 10 Universidad de Málaga José Antonio Gómez Ruiz
6 Tema 2: Resolución de Problemas. Algoritmos y Programas Estructura y Contenidos 2.1. Introducción a la resolución de problemas Algoritmos y programas Estructura general de un algoritmo Propiedades exigibles a un algoritmo FASES DE LA CREACIÓN DE PROGRAMA Ingeniería del Software. Ciclo de vida del software Metodología de diseño: el diseño descendente Representación de algoritmos: Diagramas de flujo y Pseudolenguaje Lenguajes de programación Conceptos básicos Clasificación de los lenguajes de programación El proceso de compilación: traductores de lenguajes. Fundamentos de Informática ETSI Industrial 11 Universidad de Málaga José Antonio Gómez Ruiz CICLO DE VIDA DEL SOFTWARE El desarrollo de programas de calidad requiere de una metodología, herramientas y procedimientos englobados en una disciplina que se conoce como ingeniería del software La resolución de un problema mediante un ordenador tiene un conjunto genérico de fases conocido como ciclo de vida del software, que engloba desde la concepción inicial del problema hasta la puesta en funcionamiento del programa en un ordenador El ciclo de vida del software (lineal o en cascada) tiene tres fases: Definición (análisis, especificación de requisitos) Desarrollo (diseño, implementación, verificación) Mantenimiento (mejoras y correcciones) (ver gráfico siguiente transparencia) Fundamentos de Informática ETSI Industrial 12 Universidad de Málaga José Antonio Gómez Ruiz
7 CICLO DE VIDA DEL SOFTWARE Ciclo de vida lineal o en cascada DEFINICIÓN Análisis Especificación de requisitos DESARROLLO Diseño Implementación Verificación Fallos de definición MANTENIMIENTO Errores Modificaciones y adaptaciones Fundamentos de Informática ETSI Industrial 13 Universidad de Málaga José Antonio Gómez Ruiz CICLO DE VIDA DEL SOFTWARE Definición: descripción detallada de Programa que se va a realizar qué problema resuelve? qué funciones o tareas debe realizar? qué datos maneja? qué restricciones existen?... Recursos necesarios Costes Plan de trabajo Desarrollo: Creación de programas y documentación asociada Diseño: cómo se solución el problema (algoritmo) Implementación del algoritmo en un lenguaje de programación Verificación: comprobar que el programa se corresponde con los requisitos y verificar que funciona correctamente en todos los casos Mantenimiento: realización de correcciones, mejoras y adaptaciones en la versión original ó incluso descatalogarla (se queda obsoleta) Fundamentos de Informática ETSI Industrial 14 Universidad de Málaga José Antonio Gómez Ruiz
8 CICLO DE VIDA DEL SOFTWARE El inconveniente principal del ciclo lineal o en cascada es que el cliente final no ve una versión del programa hasta practicamente el final de las etapas, pudiendo retrocederse varias fases Modelo basado en prototipos: el cliente interactúa desde el principio Pueden hacerse compromisos de implementación en las primeras versiones del prototipo que al final mermen la calidad del producto Escuchar al cliente Construir/ revisar maqueta El cliente prueba la maqueta Fundamentos de Informática ETSI Industrial 15 Universidad de Málaga José Antonio Gómez Ruiz CICLO DE VIDA DEL SOFTWARE Modelo incremental Combina elementos del modelo lineal con el de creación de prototipos El primer incremento a menudo es un producto esencial que el cliente utiliza o evalúa A partir de la evaluación se planea el siguiente incremento y así sucesivamente análisis diseño implementación verificación Prototipo tras 1 er incremento análisis diseño implementación verificación Prototipo tras 2 o incremento análisis diseño implementación verificación... Prototipo tras 3 er incremento análisis diseño implementación verificación Producto final Fundamentos de Informática ETSI Industrial 16 Universidad de Málaga José Antonio Gómez Ruiz
9 CICLO DE VIDA DEL SOFTWARE Modelo en espiral Planificación Análisis de Riesgos Comunicación con el cliente Ingeniería Evaluación del cliente Construcción Fundamentos de Informática ETSI Industrial 17 Universidad de Málaga José Antonio Gómez Ruiz METODOLOGÍA DE DISEÑO Como se ha mostrado, la fase de diseño es la fase de resolución del problema, donde se diseña un algoritmo Se necesita emplear alguna metodología Prescindir de ella pueden acarrear inconvenientes como: Rigidez e inflexibilidad en los programas Pérdida excesiva de tiempo en la corrección de errores Imposibilidad de reutilización de código Documentación deficiente... Fundamentos de Informática ETSI Industrial 18 Universidad de Málaga José Antonio Gómez Ruiz
10 DISEÑO DESCENDENTE Las metodologías más eficaces para el proceso de diseño se basan en el conocida técnica del divide y vencerás La resolución de un problema complejo se realiza dividiendo el problema inicial en subproblemas más simples Esta división se repetirá sucesivamente hasta que los subproblemas resultantes se puedan resolver de una forma sencilla Este método se conoce como diseño descendente Al proceso de dividir cada subproblema en subproblema más simples se denomina refinamiento sucesivo Cada subproblema tendrá asociado un módulo (subprograma) que lo resuelva programación modular Fundamentos de Informática ETSI Industrial 19 Universidad de Málaga José Antonio Gómez Ruiz DISEÑO DESCENDENTE Tendremos un programa principal, que será el módulo de mayor jerarquía, que puede llamar a otros subprogramas, que serán módulos de menor jerarquía Nivel 0 Nivel 1 Nivel 2 Nivel 3 Cada módulo se puede desarrollar de manera independiente (con sus propias fases de definición, desarrollo y mantenimiento) Fundamentos de Informática ETSI Industrial 20 Universidad de Málaga José Antonio Gómez Ruiz
11 DISEÑO DESCENDENTE Ejemplo: cálculo de la nota media de la clase Cálculo de media de la clase Nivel 0 Obtener notas de la clase Cálculo de la media Imprimir resultado Nivel 1 Suma de todas las notas Dividir la suma por el total de calificaciones Nivel 2 Fundamentos de Informática ETSI Industrial 21 Universidad de Málaga José Antonio Gómez Ruiz DISEÑO DESCENDENTE Ejemplo: cambio de una bombilla con un robot doméstico Cambiar bombilla Nivel 0 Quitar la bombilla fundida Colocar la nueva bombilla Nivel 1 Situar la escalera debajo de la bombilla fundida Girar la bombilla en sentido antihorario hasta soltarla Elegir una nueva bombilla de la misma potencia que la fundida Bajar de la escalera Nivel 2 Subir por la escalera hasta alcanzar la bombilla Enroscar la bombilla nueva en sentido horario hasta que quede apretada Comprobar que la bombilla funciona Fundamentos de Informática ETSI Industrial 22 Universidad de Málaga José Antonio Gómez Ruiz
12 Tema 2: Resolución de Problemas. Algoritmos y Programas Estructura y Contenidos 2.1. Introducción a la resolución de problemas Algoritmos y programas Estructura general de un algoritmo Propiedades exigibles a un algoritmo Fases de la creación de programa Ingeniería del Software. Ciclo de vida del software Metodología de diseño: el diseño descendente REPRESENTACIÓN DE ALGORITMOS: Diagramas flujo y Pseudolenguaje Lenguajes de programación Conceptos básicos Clasificación de los lenguajes de programación El proceso de compilación: traductores de lenguajes. Fundamentos de Informática ETSI Industrial 23 Universidad de Málaga José Antonio Gómez Ruiz REPRESENTACIÓN DE ALGORITMOS Durante la fase de diseño, es preciso disponer de alguna notación algorítmica que permita expresar de forma no ambigua la resolución del problema Las notaciones algorítmicas deben ser independientes del lenguaje de programación a utilizar en la fase de implementación, aunque debe permitir una traducción clara al programa La decisión final sobre el lenguaje de programación a utilizar depende de otras consideraciones y cualquier algoritmo debe poder implementarse en cualquier lenguaje de programación Tipos de notaciones algorítmicas: Textual: pseudolenguaje Gráfica: diagramas de flujo, notación UML Ejecutable: lenguajes de programación Fundamentos de Informática ETSI Industrial 24 Universidad de Málaga José Antonio Gómez Ruiz
13 DIAGRAMAS DE FLUJO Un diagrama de flujo es un herramienta gráfica para la representación de algoritmos Consta de una serie de símbolos, conectados mediante líneas, que indican el orden en el que se realizan las acciones Debe reflejar la lógica del algoritmo, indicando los pasos individuales y sus interconexiones. Mostrará por tanto: el comienzo del programa las operaciones que deben realizarse el orden en que se realizan el final del programa Los símbolos utilizados están normalizados por las organizaciones ANSI e ISO (en la siguiente transparencia) Fundamentos de Informática ETSI Industrial 25 Universidad de Málaga José Antonio Gómez Ruiz DIAGRAMAS DE FLUJO flujo de control SI condición NO documento Salida pantalla decisión entrada manual terminador proceso entrada / salida etq conector Fundamentos de Informática ETSI Industrial 26 Universidad de Málaga José Antonio Gómez Ruiz
14 DIAGRAMAS DE FLUJO Fundamentos de Informática ETSI Industrial 27 Universidad de Málaga José Antonio Gómez Ruiz DIAGRAMAS DE FLUJO En la representación con diagramas de flujo es conveniente seguir las siguientes reglas: El comienzo del programa figurará en la parte superior del diagrama Los símbolos de comienzo y fin deberán aparecer una única vez El flujo de las operaciones será de arriba a abajo y de izquierda a derecha Se debe guardar cierta simetría en la representación de bifurcaciones y bucles Se evitarán los cruces de líneas de flujo, utilizando conectores Fundamentos de Informática ETSI Industrial 28 Universidad de Málaga José Antonio Gómez Ruiz
15 DIAGRAMAS DE FLUJO Ejemplo: cálculo del valor absoluto de un número leído por teclado Inicio Leer x SI x > 0 NO abs x abs -x Escribir abs Fin Fundamentos de Informática ETSI Industrial 29 Universidad de Málaga José Antonio Gómez Ruiz DIAGRAMAS DE FLUJO Ejemplo: cálculo de la suma de n números introducidos por teclado Inicio s 0 Leer n n n-1 SI n > 0 NO Escribir s s s + x Leer x Fin Fundamentos de Informática ETSI Industrial 30 Universidad de Málaga José Antonio Gómez Ruiz
16 DIAGRAMAS DE FLUJO Diseña un algoritmo, mediante diagramas de flujo, que lea los coeficientes de una ecuación de segundo grado y calcule e imprima sus soluciones. Deben contemplarse todos los posibles casos que se puedan dar. Diseña un algoritmo que, dado un número natural leído por teclado, indique si es o no número primo. Diseña un algoritmo que, dada una secuencia de ceros y unos terminada en un punto, muestre por pantalla el tamaño de todas las subcadenas de unos e indique cual es la mayor. Fundamentos de Informática ETSI Industrial 31 Universidad de Málaga José Antonio Gómez Ruiz PSEUDOLENGUAJE Los programas deben ser escritos en un lenguaje de programación que pueda interpretar el ordenador, pero no olvidemos que nuestra forma habitual de expresar un concepto es en lenguaje natural De la aproximación entre ambos surge el pseudolenguaje que es una herramienta textual para la representación de algoritmos El pseudolenguaje permitirá, por tanto, representar las construcciones básicas de los lenguajes de programación, pero a la vez se mantendrá próximo al lenguaje natural No obstante, a pesar de la flexibilidad, el pseudolenguaje debe atenerse a una serie de normas para que los algoritmos diseñados resulten legibles, claros y fácilmente codificables Fundamentos de Informática ETSI Industrial 32 Universidad de Málaga José Antonio Gómez Ruiz
17 PSEUDOLENGUAJE El conjunto de sentencias debe ser completo. Deben permitir especificar cualquier tarea a realizar con suficiente detalle: INICIO: indica el comienzo del algoritmo FIN: indica la terminación del algoritmo LEER: se usa para leer un dato del teclado ESCRIBIR: se usa para escribir un dato por pantalla SI <c> ENTONCES <así> EN OTRO CASO <ano> FINSI: si se cumple la condición <c> se realiza la acción <así>, en caso contrario se realiza la acción <ano> MIENTRAS <c> HACER <a> FINMIENTRAS: se repite la acción <a> mientras se cumpla la condición <c>. Antes de repetir la acción <a> se comprueba primero que se cumpla la condición <c>, incluso la primera vez REPETIR <a> HASTA QUE <c>: se repite la acción <a> hasta que se cumple la condición <c>. Primero se ejecuta la acción <a> y luego se verifica la condición <c> antes de volver a repetir el proceso Fundamentos de Informática ETSI Industrial 33 Universidad de Málaga José Antonio Gómez Ruiz PSEUDOLENGUAJE Ejemplo: cálculo del valor absoluto de un número leído por teclado INICIO LEER x SI x > 0 ENTONCES abs x EN OTRO CASO abs - x FINSI ESCRIBIR abs FIN Fundamentos de Informática ETSI Industrial 34 Universidad de Málaga José Antonio Gómez Ruiz
18 PSEUDOLENGUAJE Ejemplo: Cálculo de la suma de n números introducidos por teclado INICIO S 0 LEER n MIENTRAS n > 0 HACER n n - 1 LEER x s s + x FINMIENTRAS ESCRIBIR s FIN Fundamentos de Informática ETSI Industrial 35 Universidad de Málaga José Antonio Gómez Ruiz PSEUDOLENGUAJE Diseña un algoritmo, mediante pseudolenguaje, que lea los coeficientes de una ecuación de segundo grado y calcule e imprima sus soluciones. Deben contemplarse todos los posibles casos que se puedan dar. Diseña un algoritmo que, dado un número natural leído por teclado, indique si es o no número primo. El algoritmo preguntará si se desea repetir de nuevo el proceso. Diseña un algoritmo que, dada una secuencia de ceros y unos terminada en un punto, muestre por pantalla el tamaño de todas las subcadenas de unos e indique cual es la mayor. Fundamentos de Informática ETSI Industrial 36 Universidad de Málaga José Antonio Gómez Ruiz
19 PSEUDOLENGUAJE vs DIAGRAMAS FLUJO Pseudolenguaje Diagramas de Flujo Ventajas Fácil de modificar La sintaxis no es rígida Fácil de traducir a un lenguaje de programación No tiene ambigüedad Fácil de seguir el flujo del algoritmo Independiente del idioma Inconvenientes Imprecisión al usar el lenguaje natural Complicado de actualizar si el algoritmo es complejo La traducción a un lenguaje de programación no es inmediata Fundamentos de Informática ETSI Industrial 37 Universidad de Málaga José Antonio Gómez Ruiz Tema 2: Resolución de Problemas. Algoritmos y Programas Estructura y Contenidos 2.1. Introducción a la resolución de problemas Algoritmos y programas Estructura general de un algoritmo Propiedades exigibles a un algoritmo Fases de la creación de programa Ingeniería del Software. Ciclo de vida del software Metodología de diseño: el diseño descendente Representación de algoritmos: Diagramas de flujo y Pseudolenguaje LENGUAJES DE PROGRAMACIÓN Conceptos básicos Clasificación de los lenguajes de programación El proceso de compilación: traductores de lenguajes. Fundamentos de Informática ETSI Industrial 38 Universidad de Málaga José Antonio Gómez Ruiz
20 LENGUAJES DE PROGRAMACIÓN Conceptos básicos: Lenguaje de programación: conjunto de símbolos y reglas de combinación para construir programas Se clasifican en: Lenguajes de alto nivel: próximos al lenguaje natural, muy productivos, poco eficientes e independientes del ordenador Lenguajes de bajo nivel: próximos a la máquina, muy eficientes, poco productivos y dependientes de la máquina Código fuente: programa escrito en algún lenguaje (generalmente de alto nivel), no ejecutable directamente en ordenador Código máquina: instrucciones (en bits) ejecutables directamente en un ordenador Fundamentos de Informática ETSI Industrial 39 Universidad de Málaga José Antonio Gómez Ruiz LENGUAJES DE PROGRAMACIÓN Clasificación de los lenguajes de programación: Lenguaje de propósito general: Imperativos o procedurales: se basan en la asignación. Se especifica la secuencia de instrucciones. Fotran, Pascal, C,... de guiones (scripts): más simples. Tcl, Perl, sh, Python... Orientados a Objetos: se basan en la asignación y son más próximos al mundo real (objetos). Smalltalk, Java, C++,... Visuales: general código automáticamente. Visual C, Delphi Declarativos: Se especifica el resultado requerido Lógicos: basados en reglas de deducción. Prolog Funcionales: basados en funciones. Lisp, Haskell Lenguajes de propósito específico: internet (html, xml, php, asp), robótica (val II), bases de datos (sql), hardware (step-5),... Fundamentos de Informática ETSI Industrial 40 Universidad de Málaga José Antonio Gómez Ruiz
21 LENGUAJES DE PROGRAMACIÓN Historia de los lenguaje de alto nivel: FORTRAN John Backus 1954 I COBOL Grace Hopper CODASYL 1957 I Algol John Backus C.A.R. Hoare Niklaus Wirth 1960 I Lisp John McCarthy 1959 F Pascal Niklaus Wirth 1970 I Smalltalk C Dennis Ritchie 1971 I Prolog Colmerauer, Roussel 1972 L Modula-2 Niklaus Wirth 1979 I Ada 83 DoD (EEUU) 1983 I C++ Bjarne Stroustrup 1983 O Perl, Python, JavaScript FORTRAN O Delphi 1995 V Ada O Java James Gosling 1995 O Visual-C V Haskell 1992 F Fundamentos de Informática ETSI Industrial 41 Universidad de Málaga José Antonio Gómez Ruiz EL PROCESO DE COMPILACIÓN El proceso de compilación es el proceso mediante el cual se traduce un programa escrito en un lenguaje de alto nivel a lenguaje máquina directamente ejecutable por el ordenador El traductor es el software (programa de ordenador) que realiza justamente ese proceso. Se clasifican en: Compiladores: traducen el programa completo a lenguaje máquina, obteniendo un programa ejecutable, pero no lo ejecutan. Cuando se desee ejecutar el programa ya no es necesaria la compilación Intérpretes: traducen el programa instrucción a instrucción. La ejecución del programa se realiza a la vez que la traducción: se lee una instrucción, se traduce y se ejecuta. Cada vez que se desea ejecutar el programa hay que traducirlo Biblioteca: conjunto de programas ya traducidos a lenguaje máquina y escritos para ser reutilizados Fundamentos de Informática ETSI Industrial 42 Universidad de Málaga José Antonio Gómez Ruiz
22 EL PROCESO DE COMPILACIÓN programador Bibliotecas Editor Compilador E/S fuente objeto matem. gráfica prog.c prog.o Tiempo de compilación Tiempo de ejecución Enlazador entrada prog.exe salida ejecutable usuario prog.exe Fundamentos de Informática ETSI Industrial 43 Universidad de Málaga José Antonio Gómez Ruiz EL PROCESO DE COMPILACIÓN código intermedio biblioteca 3 biblioteca 2 biblioteca 1 Compilador objeto Enlazador Intercambiar(int v[], int k) { int temporal; fuente temporal = v[k]; v[k] = v[k+1]; v[k+1] = temporal; } ejecutable Fundamentos de Informática ETSI Industrial 44 Universidad de Málaga José Antonio Gómez Ruiz
23 Tema 2: Resolución de Problemas. Algoritmos y Programas FIN DEL TEMA Fundamentos de Informática ETSI Industrial 45 Universidad de Málaga José Antonio Gómez Ruiz
Tema 2. Ingeniería del Software I [email protected]
Tema 2 Ciclo de vida del software Ingeniería del Software I [email protected] Índice Qué es el ciclo de vida del Software? El Estándar 12207 Modelos de proceso Qué es el Ciclo de Vida del SW? Definición
Escuela Politécnica Superior. Proyectos de Desarrollo Software. Capítulo 5. [email protected] Dr. Daniel Tapias Curso 2014/ 15 PROYECTOS
Escuela Politécnica Superior Proyectos de Desarrollo Software Capítulo 5 Dr. Daniel Tapias Curso 2014/ 15 [email protected] PROYECTOS PROGRAMA DE LA ASIGNATURA Capítulo 1: Introducción. Capítulo 2:

References: Resolución 
 RESOLUCIÓN 
 Resolución 
 Resolución 
 RESOLUCIÓN 
 resolución 
 resolución 
 resolución 
 Resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 Resolución 
 resolución 
 resolución 
 Resolución 
 resolución 
 Resolución