Algoritmos y Programas OBJETIVOS

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

Download "Algoritmos y Programas OBJETIVOS"

Transcripción

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

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 Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido

Más detalles

construcción de programas Prof. Eliana Guzmán U.

construcción de programas Prof. Eliana Guzmán U. Unidad II. Metodología para la construcción de programas Prof. Eliana Guzmán U. Semestre: A-2015 Introducción Resolver un problema con una computadora conduce a la escritura de un programa y a su ejecución.

Más detalles

Diseño de algoritmos

Diseño de algoritmos Diseño de algoritmos Jose Jesus García Rueda. Adaptado de El algoritmo, una iniciación a la programación (http://www.desarrolloweb.com/manuales/67/ http://www.desarrolloweb.com/manuales/67/) ) y de Diseño

Más detalles

Algoritmos y Diagramas de Flujo 2

Algoritmos y Diagramas de Flujo 2 Algoritmos y Diagramas de Flujo 2 Programación Java NetBeans 7.0 RPC Contenido 2.1 Algoritmo...1 Fase de creación de un algoritmo...1 Herramientas de un algoritmo...2 2.2 Diagrama de Flujo...2 Símbolos

Más detalles

Algoritmos y programas

Algoritmos y programas Algoritmo Algoritmos y programas Secuencia ordenada de pasos que resuelve un problema concreto. Características - Corrección (sin errores). - Precisión (ausencia de ambigüedades). - Repetitividad (solución

Más detalles

Tema 2. Diseño de algoritmos y programas 1. Tema 2. Diseño de algoritmos y programas

Tema 2. Diseño de algoritmos y programas 1. Tema 2. Diseño de algoritmos y programas Tema 2. Diseño de algoritmos y programas 1 Apuntes para la asignatura Informática Departamento de Lenguajes y Ciencias de la Computación UNIVERSIDAD DE MÁLAGA http://www.lcc.uma.es/personal/pepeg/mates

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

Estructuras de Control - Diagrama de Flujo

Estructuras de Control - Diagrama de Flujo RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.

Más detalles

IIC1102 - Introducción a la Programación -

IIC1102 - Introducción a la Programación - IIC1102 - Introducción a la Programación - Sección 4 Introducción Programa y Carla Vairetti cvairetti@gmail.com Pontifícia Universidad Católica 5 de Marzo de 2009 Esquema 1 Programa del curso 2 3 Esquema

Más detalles

Tema 1: Computadores y Programas

Tema 1: Computadores y Programas Tema 1: Computadores y Programas Ingeniería Informática Ingeniería Técnica en Informática de Sistemas Ingeniería Técnica en Informática de Gestión Departamento de Ciencia de la Computación e I.A. Universidad

Más detalles

Soporte lógico de computadoras

Soporte lógico de computadoras Soporte lógico de computadoras Software: Sistemas Operativos Lenguajes de programación Lenguajes de Programación. Clasificación Proximidad del lenguaje al que entiende el ordenador: Bajo nivel: específico

Más detalles

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03.

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03. INFORMÁTICA Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2013-2014 v1.0 (05.03.14) A continuación figuran una serie de ejercicios propuestos, agrupados

Más detalles

Metodología de la programación y desarrollo de software. Marta Zorrilla Universidad de Cantabria

Metodología de la programación y desarrollo de software. Marta Zorrilla Universidad de Cantabria Metodología de la programación y desarrollo de software Marta Zorrilla Universidad de Cantabria Metodología de la programación Objetivos Fases en la solución de un problema de programación. Ciclo de vida

Más detalles

TEMA 2: DESARROLLO DEL SOFTWARE

TEMA 2: DESARROLLO DEL SOFTWARE TEMA 2: DESARROLLO DEL SOFTWARE EDI I Curso 2007/08 Escuela Politécnica Superior Universidad Autónoma de Madrid TEMA 2: DESARROLLO DEL SOFTWARE 2.1. Ciclo de vida del Software 2.2. Corrección de errores

Más detalles

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y 1. Paradigmas de programación Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y automáticamente convertibles

Más detalles

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos.

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos. Introducción a la ciencia de la computación y a la programación 1. La computadora CONTENIDOS 2. Entidades primitivas para el desarrollo de algoritmos. 3. Metodología a seguir para la resolución de problemas

Más detalles

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016! INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por

Más detalles

Estructuras de Control - Diagrama de Flujo

Estructuras de Control - Diagrama de Flujo Introducción a la Programación - Introducción a la Computación - Fundamentos de la Informática Ing. Electrónica - T.U.G. - T.U.E. - T.U.R. - T.U.W.- Prof. Tec. Elect. - T.U.T - T.U.M Área de Servicios

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

2 EL DOCUMENTO DE ESPECIFICACIONES

2 EL DOCUMENTO DE ESPECIFICACIONES Ingeniería Informática Tecnología de la Programación TEMA 1 Documentación de programas. 1 LA DOCUMENTACIÓN DE PROGRAMAS En la ejecución de un proyecto informático o un programa software se deben de seguir

Más detalles

Introducción a la Computación

Introducción a la Computación Introducción a la Computación MCC Marco Antonio Crúz Chávez 2003 Sistema de información Es un sistema incluido en otro sistema mayor que recibe, almacena, procesa y distribuye información. Los principales

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

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Ciclo de vida del Software

Ciclo de vida del Software Tema 2: Ciclo de vida del Software Marcos López Sanz Índice Qué es el ciclo de vida del Software? La norma 12207-2008 Modelos de desarrollo Qué es el Ciclo de Vida del SW? Es una sucesión de etapas por

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

1. Resolución de problemas con computadoras

1. Resolución de problemas con computadoras Fundamentos de Programación I 1. Resolución de problemas con computadoras Luis Rodríguez Baena (luis.rodriguez@upsam.es) Universidad Pontificia de Salamanca Escuela Superior de Ingeniería y Arquitectura

Más detalles

Interacción Persona - Ordenador

Interacción Persona - Ordenador Interacción Persona - Ordenador Diseño de la interfaz en la Ingeniería del Software Dr. Pedro Latorre Dra. Sandra Baldassarri Dra. Eva Cerezo Ingeniería del Software Ingeniería del Software: Definición

Más detalles

Gestión y Desarrollo de Requisitos en Proyectos Software

Gestión y Desarrollo de Requisitos en Proyectos Software Gestión y Desarrollo de Requisitos en Proyectos Software Ponente: María Jesús Anciano Martín Objetivo Objetivo Definir un conjunto articulado y bien balanceado de métodos para el flujo de trabajo de Ingeniería

Más detalles

1 La Resolución de Problemas utilizando la Computadora

1 La Resolución de Problemas utilizando la Computadora La Resolución de Problemas utilizando la Computadora Lissette Alvarez Abril-Julio, 2004 El Computador es una máquina que no puede trabajar por si sola, únicamente realiza aquellas órdenes que el hombre

Más detalles

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos.

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Gestión de proyectos Duración: 45 horas Objetivos: El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Contenidos:

Más detalles

Gestión de proyectos

Gestión de proyectos Gestión de proyectos Horas: 45 El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Gestión de proyectos El

Más detalles

Capítulo 3. Análisis y Diseño

Capítulo 3. Análisis y Diseño Capítulo 3 Análisis y Diseño 1 Análisis y Diseño En esta sección se presentará una explicación detallada del sistema, el proceso de desarrollo, así como sus diferentes fases. Además, se presenta la documentación

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama. Diagrama de Flujo La presentación gráfica de un sistema es una forma ampliamente utilizada como herramienta de análisis, ya que permite identificar aspectos relevantes de una manera rápida y simple. El

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Información del profesor Humberto Cervantes Maceda T 138 www.humbertocervantes.net/cursos Acerca de ustedes Nombre Carrera Qué experiencia

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net 2012 Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net Servinet Sistemas y Comunicación S.L. www.softwaregestionproyectos.com Última Revisión: Febrero

Más detalles

Metodologías de Desarrollo de Sistemas de Información

Metodologías de Desarrollo de Sistemas de Información Metodologías de Desarrollo de Sistemas de Información Metodología para el Desarrollo de SI Las metodologías son sistemas completos de técnicas que incluyen procedimientos paso a paso, productos resultante,

Más detalles

Diseño orientado al flujo de datos

Diseño orientado al flujo de datos Diseño orientado al flujo de datos Recordemos que el diseño es una actividad que consta de una serie de pasos, en los que partiendo de la especificación del sistema (de los propios requerimientos), obtenemos

Más detalles

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Diseño de algoritmos.

Diseño de algoritmos. TEMA 5 Diseño de algoritmos. Elementos de Programación I Contenido del Tema T E M A 5 5.1.- Programación Modular y desarrollo de Programas 5.2.- Diseño de interfaces. 5.3.- Notación algorítmica. Elementos

Más detalles

Proceso de desarrollo del software modelo en cascada

Proceso de desarrollo del software modelo en cascada Proceso de desarrollo del software modelo en cascada Análisis: Necesidades del usuario especificaciones Diseño: Descomposición en elementos que puedan desarrollarse por separado especificaciones de cada

Más detalles

Análisis y Diseño de Aplicaciones

Análisis y Diseño de Aplicaciones Análisis y Diseño de Aplicaciones Ciclo de Vida Docente: T/RT Gonzalo Martínez CETP EMT Informática 3er Año Introducción En el desarrollo de sistemas, el ciclo de vida son las etapas por las que pasa un

Más detalles

Introducción al Proceso de Pruebas.

Introducción al Proceso de Pruebas. Introducción al Proceso de Pruebas. Javier Gutiérrez / javierj@us.es Introducción al proceso de pruebas Objetivo: repasar las ideas principales sobre las pruebas del software y, en concreto, las que usaremos

Más detalles

Capítulo 4 Análisis y diseño del software de los Robots

Capítulo 4 Análisis y diseño del software de los Robots Capítulo 4 Análisis y diseño del software de los Robots En el capítulo del diseño mecánico de los robots se muestran los distintos sensores que se utilizarán como entradas, así como los motores que deberán

Más detalles

GUÍAS. Módulo de Diseño de software SABER PRO 2013-2

GUÍAS. Módulo de Diseño de software SABER PRO 2013-2 GUÍAS Módulo de Diseño de software SABER PRO 2013-2 GUÍAS Módulo de diseño en ingeniería El diseño de productos tecnológicos (artefactos, procesos, sistemas e infraestructura) está en el centro de la naturaleza

Más detalles

Departamento de Lenguajes y Sistemas Informáticos. Ciclo de vida del software

Departamento de Lenguajes y Sistemas Informáticos. Ciclo de vida del software El Ciclo de Vida Software Departamento de Lenguajes escuela técnica superior de ingeniería informática Grupo de Ingeniería a Software Febrero 2006 Versión original: Amador Durán Toro (septiembre 2004)

Más detalles

Entre los más conocidos editores con interfaz de desarrollo tenemos:

Entre los más conocidos editores con interfaz de desarrollo tenemos: Herramientas de programación Para poder programar en ensamblador se precisa de algunas herramientas básicas, como un editor para introducir el código, un ensamblador para traducir el código a lenguaje

Más 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 INSTRUCTIVO DEL COMANDO MAKE ESTRUCTURAS DE DATOS Y ALGORITMOS - TECNÓLOGO EN INFORMÁTICA 1 Contenido Introducción... 3 El archivo makefile...

Más detalles

Capítulo 4 Procesos con estructuras de repetición

Capítulo 4 Procesos con estructuras de repetición Estructura de contador Capítulo 4 Procesos con estructuras de repetición Esta es una operación que incrementa en una unidad el valor almacenado en la variable c, cada vez que el flujo del diagrama pasa

Más detalles

Lenguajes de Programación

Lenguajes de Programación Lenguajes de Programación Mediante los programas se indica a la computadora que tarea debe realizar y cómo efectuarla, pero para ello es preciso introducir estas órdenes en un lenguaje que el sistema pueda

Más detalles

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación.

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación. Unidad II Metodología de Solución de Problemas 2.1 Descripción del problema (enunciado). Este aspecto nos indica describir de manera objetiva la realidad del problema que se esta investigando. En la descripción

Más detalles

Concurrencia. Primitivas IPC con bloqueo

Concurrencia. Primitivas IPC con bloqueo Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región

Más detalles

Tema 2. Ingeniería del Software I feliu.trias@urjc.es

Tema 2. Ingeniería del Software I feliu.trias@urjc.es Tema 2 Ciclo de vida del software Ingeniería del Software I feliu.trias@urjc.es Í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

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

Programación en lenguaje C++

Programación en lenguaje C++ Programación en Lenguaje C++ Objetivos Unidad Tema Subtema Objetivos VI 6.1 Metodología de la programación Metodologías Diseños de algoritmos Creación de algoritmos Entender y aplicar los pasos a seguir

Más detalles

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04 Autorización Este documento entra en vigor a partir del 2 de agosto del 2005, a través de su autorización por parte del Dr. Francisco Javier Rojas Monroy, Coordinador de Operaciones, Calidad y Teclogía

Más detalles

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008) Unidades temáticas de Ingeniería del Software Fases del proceso de desarrollo 4ª edición (2008) Facultad de Informática organización del desarrollo El ciclo de vida del software abarca el proceso de desarrollo,

Más detalles

INGENIERÍA DEL SOFTWARE

INGENIERÍA DEL SOFTWARE INGENIERÍA DEL SOFTWARE Sesión No. 2 Nombre: Procesos de ingeniería del software INGENIERÍA DEL SOFTWARE 1 Contextualización La ingeniería de software actualmente es muy importante, pues con los avances

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

Introducción a la Informática

Introducción a la Informática Introducción a la Informática El Software o Soporte Lógico Definición de SOFTWARE Conjunto de programas necesarios para realizar con el ordenador el tratamiento de la información. SW = Sistema Operativo

Más detalles

Comunicación con la Computadora

Comunicación con la Computadora Comunicación con la Computadora Programación Básica Copyright CARIMOBITS Comunicación con la computadora Se logra a través de lenguajes de computadoras o lenguajes de programación. Tipos de lenguajes de

Más detalles

Presentación y Planificación del Proyecto: Administración de Calzado

Presentación y Planificación del Proyecto: Administración de Calzado 1 Presentación y Planificación del Proyecto: Administración de Calzado Integrantes Manuel Cubillos manuel.cubillosv@usach.cl Juan Díaz juan.diazc@usach.cl Felipe Llancaleo felipe.llancaleo@usach.cl Alberto

Más detalles

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014 Tecnologías en la Educación Matemática jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR 1 Datos Los algoritmos combinan datos con acciones. Los datos de entrada

Más detalles

Ciclo de Vida del Desarrollo de un Sistema de Información. Departamento de Ingeniería Industrial Universidad de Chile

Ciclo de Vida del Desarrollo de un Sistema de Información. Departamento de Ingeniería Industrial Universidad de Chile Ciclo de Vida del Desarrollo de un Sistema de Información Departamento de Ingeniería Industrial Universidad de Chile Temario Noción de un Ciclo de Vida Ventajas y Desventajas Modelos de Ciclos de Vida

Más detalles

Diseño de formularios

Diseño de formularios Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Diseño de formularios Introducción a las bases de datos Tema 5 El aspecto de los formularios Se puede modificar a voluntad el aspecto

Más detalles

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)

Más detalles

Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13

Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13 Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13 Rompiendo el Código Enigma Introducción y objetivos Como un pequeño homenaje a Alan Turing en su año conmemorativo, las prácticas de este curso

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

Departamento de Informática Segundo semestre de 2011. Repaso para Certamen 1

Departamento de Informática Segundo semestre de 2011. Repaso para Certamen 1 Universidad Técnica Federico Santa María ILI-236 Fundamentos de Ing. de SW Departamento de Informática Segundo semestre de 2011 Caso: Sistema de control de cajeros Repaso para Certamen 1 Su compania ha

Más detalles

Bloque II. Elementos del lenguaje de programación Java

Bloque II. Elementos del lenguaje de programación Java Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida

Más detalles

SISTEMAS DE INFORMACIÓN I TEORÍA

SISTEMAS DE INFORMACIÓN I TEORÍA CONTENIDO: CICLO DE VIDA DE DESARROLLO DE SI FASES GENÉRICAS DEL CICLO DE VIDA DE DESARROLLO DE SI VISIÓN TRADICIONAL DEL CICLO DE VIDA DE DESARROLLO DE SI DE DESARROLLO DE SI: ANÁLISIS Material diseñado

Más detalles

CICLO DE VIDA DEL SOFTWARE

CICLO DE VIDA DEL SOFTWARE CICLO DE VIDA DEL SOFTWARE 1. Concepto de Ciclo de Vida 2. Procesos del Ciclo de Vida del Software 3. Modelo en cascada 4. Modelo incremental 5. Modelo en espiral 6. Prototipado 7. La reutilización en

Más detalles

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Metodología Evolutiva Incremental Mediante Prototipo y Técnicas Orientada a Objeto (MEI/P-OO)

Más detalles

Plan de estudios ISTQB: Nivel Fundamentos

Plan de estudios ISTQB: Nivel Fundamentos Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6. GESTIÓN DE

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya LENGUAJES Lenguaje es el empleo de notaciones, señales y vocales (voz, palabras) para expresar ideas, comunicarse, y establecer relaciones entre los seres humanos. Un lenguaje no sólo consta de palabras,

Más detalles

Tema 2. Software. Informática (1º Ingeniería Civil) jcarmur@unex.es

Tema 2. Software. Informática (1º Ingeniería Civil) jcarmur@unex.es Tema 2. Software Informática (1º Ingeniería Civil) Curso 2011/2012 Javier Carmona Murillo jcarmur@unex.es Índice Introducción. Programas e instrucciones. Tipos y estructuras de datos. Algoritmos. Proceso

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Introducción a la Computación TFA

Introducción a la Computación TFA Introducción a la Computación TFA Departamento de Informática Facultad de Ciencias Físico, Matemáticas y Naturales- UNSL Lenguaje de Diseño de Algoritmos Estructura de Control Condicional Simple y Múltiple

Más detalles

Unidad Didáctica. Códigos Binarios

Unidad Didáctica. Códigos Binarios Unidad Didáctica Códigos Binarios Programa de Formación Abierta y Flexible Obra colectiva de FONDO FORMACION Coordinación Diseño y maquetación Servicio de Producción Didáctica de FONDO FORMACION (Dirección

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

CAPÍTULO 3. HERRAMIENTA DE SOFTWARE DE PLANEACIÓN DE

CAPÍTULO 3. HERRAMIENTA DE SOFTWARE DE PLANEACIÓN DE CAPÍTULO 3. HERRAMIENTA DE SOFTWARE DE PLANEACIÓN DE INVENTARIO Y PROCESO Objetivos del capítulo Desarrollar una herramienta de software de planeación de inventario con los datos obtenidos del capítulo

Más detalles

Ciclo de vida del software

Ciclo de vida del software Ciclo de vida del software Definición El proceso que se sigue para construir, entregar y hacer evolucionar el software, desde la concepción de una idea hasta la entrega y el retiro del sistema. Confiable,

Más detalles

Demo. TDD desde Cero. Acceptance Test Driven Development. www.iwt2.org formacion@iwt2.org

Demo. TDD desde Cero. Acceptance Test Driven Development. www.iwt2.org formacion@iwt2.org Demo TDD desde Cero Acceptance Test Driven Development www.iwt2.org formacion@iwt2.org Objetivos Objetivos Conocer cómo desarrollar un sistema software combinando pruebas de aceptación y TDD. Aprender

Más detalles

Informática I para Bachillerato

Informática I para Bachillerato CIMAT Introducción a la programación en C/C++ CIMAT Sesión 1 Temario Evaluación Noticias y Material del Curso Sobre la clase: Tareas Objetivo del Curso Inicio de curso Temario: 1 Introducción a la Programación

Más detalles

http://www.informatizate.net

http://www.informatizate.net http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.

Más detalles

Sistemas de numeración

Sistemas de numeración Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan

Más detalles

Formularios. Formularios Diapositiva 1

Formularios. Formularios Diapositiva 1 Formularios Crear un formulario utilizando el Asistente para formularios Modificación en vista Diseño Adición de Controles a un Formulario Adición de un Subformulario a un formulario Formularios Diapositiva

Más detalles

SCRAE Web: Sistema de Corrección y Revisión Automática de Exámenes a través de la WEB

SCRAE Web: Sistema de Corrección y Revisión Automática de Exámenes a través de la WEB SCRAE Web: Sistema de Corrección y Revisión Automática de Exámenes a través de la WEB Nieves Pavón, José Ramón Cano, Francisco Márquez, Alfredo Sainz Dpto. de Ingeniería Electrónica, Sistemas Informáticos

Más detalles

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor. Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios

Más detalles

Distinguir las diferentes estructuras de repetición utilizadas en problemas con ciclos: mientras, haga-mientras, repita-hasta, para.

Distinguir las diferentes estructuras de repetición utilizadas en problemas con ciclos: mientras, haga-mientras, repita-hasta, para. ESTRUCTURAS DE REPETICIÓN OBJETIVOS Aprender a construir grandes y complejos problemas a través de la ejecución repetida de una secuencia de proposiciones llamados ciclos o estructuras repetitivas. Distinguir

Más detalles

METODOS NUMERICOS CATEDRA 0 2. Ingeniería Civil ING.CRISTIANCASTROP. Facultad de Ingeniería de Minas, Geología y Civil

METODOS NUMERICOS CATEDRA 0 2. Ingeniería Civil ING.CRISTIANCASTROP. Facultad de Ingeniería de Minas, Geología y Civil CATEDRA 0 2 Facultad de Ingeniería de Minas, Geología y Civil Departamento académico de ingeniería de minas y civil METODOS NUMERICOS Ingeniería Civil ING.CRISTIANCASTROP. Capitulo II Herramientas de Cálculo

Más detalles

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 2: EL CICLO DE VIDA DEL SOFTWARE

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 2: EL CICLO DE VIDA DEL SOFTWARE Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 2: EL CICLO DE VIDA DEL SOFTWARE 1 DEFINICIÓN DE CICLO DE VIDA DEL SOFTWARE ISO/IEC 12207-1 Marco de referencia que contiene

Más detalles

5. Gestión de la Configuración del Software (GCS)

5. Gestión de la Configuración del Software (GCS) 5. Gestión de la Configuración del Software (GCS) 5.1. La Configuración del Software El resultado del proceso de ingeniería del software es una información que se puede dividir en tres amplias categorías:

Más detalles

MANUAL DE USUARIO. SISTEMA DE INVENTARIO DE OPERACIONES ESTADÍSTICAS.

MANUAL DE USUARIO. SISTEMA DE INVENTARIO DE OPERACIONES ESTADÍSTICAS. MANUAL DE USUARIO. SISTEMA DE INVENTARIO DE OPERACIONES ESTADÍSTICAS. INDICE Cómo Ingresar al Sistema?... 1 Autenticación de Usuario... 2 Pantalla Principal del Sistema de Operaciones Estadisticas... 3

Más detalles

TEMA 1: INTRODUCCIÓN

TEMA 1: INTRODUCCIÓN 1 DISEÑO Y DESARROLLO DE COMPILADORES TEMA 1: INTRODUCCIÓN Qué es un Compilador? Un compilador no es más que un traductor, es decir, un programa que nos permite pasar información de un lenguaje a otro.

Más detalles