Algoritmos y Programas OBJETIVOS

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 Módulo 2. Fundamentos de Programación Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 1 CONTENIDO Tema 1. Conceptos generales de algorítmica Tema 2. Sentencias

Más detalles

Generalidades Computacionales

Generalidades Computacionales Capítulo 2 Generalidades Computacionales 2.1. Introducción a los Computadores Definición: Un computador es un dispositivo electrónico que puede transmitir, almacenar, recuperar y procesar información (datos).

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

Introducción a la Computación

Introducción a la Computación UNIVERSIDAD RAFAEL BELLOSO CHACÍN FACULTAD DE INGENIERIA INTRODUCCIÓN A LA COMPUTACION UNIDAD II: DATOS, ALGORITMOS Y PSEUDOCODIGOS http://www.urbe.edu/info-consultas/web-profesor/12697883/ ALGORITMO Un

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

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

I GE IERÍA DEL SOFTWARE. Mª Dolores Carballar Falcón 28935146L

I GE IERÍA DEL SOFTWARE. Mª Dolores Carballar Falcón 28935146L I GE IERÍA DEL SOFTWARE. Mª Dolores Carballar Falcón 28935146L REFERE CIA AL SISTEMA EDUCATIVO ACTUAL. Los contenidos de este tema, están enfocados a introducir al alumno en el concepto de Ingeniería del

Más detalles

Bienvenidos a la presentación: Introducción a conceptos básicos de programación.

Bienvenidos a la presentación: Introducción a conceptos básicos de programación. Bienvenidos a la presentación: Introducción a conceptos básicos de programación. 1 Los programas de computadora son una serie de instrucciones que le dicen a una computadora qué hacer exactamente. Los

Más detalles

Sentencias o instrucciones en Visual BASIC

Sentencias o instrucciones en Visual BASIC Tecnología a de la Informació Sentencias o instrucciones en Visual BASIC REM Tecnología a de la Informació REM es una sentencia no ejecutable y permite introducir comentarios en los programas. A esta práctica

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

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

Conceptos Básicos. Capítulo 1. 1.1 Informática

Conceptos Básicos. Capítulo 1. 1.1 Informática Capítulo 1 Conceptos Básicos 1.1 Informática... 17 1.2 Computador... 18 1.3 Sistema operativo... 19 1.4 Aplicaciones... 20 1.5 Algoritmos y programas... 21 1.6 Ejercicios... 27 1.7 Comentarios bibliográficos...

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

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

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

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

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25. INDICE Programación Introducción 706 Capitulo 21 BASIC 711 Introducción 711 Sintaxis 713 Procedimientos y control de flujo 713 Tipos de datos 714 Disponibilidad y variantes del dialecto 714 Capitulo 22.

Más detalles

CONTENIDO. 1. Introducción. 2. Reseña histórica del computador. 3. Definición de computador.

CONTENIDO. 1. Introducción. 2. Reseña histórica del computador. 3. Definición de computador. CONTENIDO 1. Introducción. 2. Reseña histórica del computador. 3. Definición de computador. 4. Sistemas numéricos. 4.1 Generalidades. 42 Sistema binario. 4.3 Sistema octal,. 4.4 Sistema decimal. 4.5 Sistema

Más detalles

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA Resumen AUTORIA CARLOS CABALLERO GONZÁLEZ TEMATICA INFORMÁTICA ETAPA ESO-BACHILLERATO-CFGM(ESI,ASI,DSI) Se describe la revolución que supuso la incursión

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

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

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

DIAGRAMA DE FLUJO DE DATOS

DIAGRAMA DE FLUJO DE DATOS DIAGRAMA DE FLUJO DE DATOS AUTOR: CORDOVA NERI, TEODORO Lima Perú Córdova Neri, Teodoro 2 Diagrama de Flujo de Datos INTRODUCCIÓN La presente guía denominada DIAGRAMA DE FLUJO DE DATOS, ilustra una de

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

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

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

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Módulo 1. Fundamentos de Computadores Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 1 CONTENIDO Tema 1. Introducción

Más detalles

Introducción a la Informática 2009. Resolución de problemas con computadoras. Algoritmos

Introducción a la Informática 2009. Resolución de problemas con computadoras. Algoritmos Resolución de problemas con computadoras. Algoritmos 1. Resolución de problemas La Informática también puede definirse como la ciencia que estudia el análisis y resolución de problemas utilizando computadoras.

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

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

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

Fundamentos del diseño de software

Fundamentos del diseño de software Fundamentos del diseño de software El diseño es el primer paso de la fase de desarrollo de cualquier producto o sistema de ingeniería. Definición de diseño según Taylor Proceso de aplicar distintas técnicas

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

Estructura general de un programa

Estructura general de un programa Estructura general de un programa INTRODUCCION Un programa puede considerarse como una secuencia de acciones (instrucciones) que manipulan un conjunto de objetos (datos). Contendrá por tanto dos bloques

Más detalles

Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8.

Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8. Unidad III 1. Introducción. 2. Breve historia del C. 3. Lenguajes de programación de alto nivel, bajo nivel y nivel medio. 4. Compiladores e intérpretes. 5. Compilación, enlace y generación de un programa

Más 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

Lenguaje C++ Introducción 6. Introducción a la Computación Tc1001 Programación en Lenguaje C++

Lenguaje C++ Introducción 6. Introducción a la Computación Tc1001 Programación en Lenguaje C++ Programación en Lenguaje C++ Lenguaje C++ Introducción 6 Charles Babbage definió a mediados del siglo XIX lo que él llamó la máquina analítica. Se considera a esta máquina el diseño del primer ordenador.

Más detalles

ESTRUCTURA DE DESGLOSE DEL TRABAJO EDT

ESTRUCTURA DE DESGLOSE DEL TRABAJO EDT ESTRUCTURA DE DESGLOSE DEL TRABAJO EDT Una de las primeras tareas en el proceso de creación de un proyecto es la definición de su alcance, delimitando los trabajos a realizar para lograr cumplir los objetivos

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

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

02 Lenguajes de programación y compiladores

02 Lenguajes de programación y compiladores 2 Contenido Introducción Lenguaje de programación Traductor Compilador Interprete Lenguaje compilado Lenguaje interpretado Compiladores (just in time) Lenguaje ensamblador Programa objeto Lenguajes de

Más detalles

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 16 CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC304_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 17 CUALIFICACIÓN PROGRAMACIÓN DE SISTEMAS INFORMÁTICOS PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC303_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba

LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba La computadora, a diferencia de otras herramientas que en general apoyan el esfuerzo físico de los humanos, fue inventada

Más detalles

Un largo etcétera de desventajas respecto a otros lenguajes de programación.

Un largo etcétera de desventajas respecto a otros lenguajes de programación. HISTORIA DE VISUAL BASIC El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instruction Code) nació en el año 1964 como una herramienta destinado a principiantes, buscando una forma sencilla

Más detalles

Algoritmos. Autor: José Ángel Acosta Rodríguez

Algoritmos. Autor: José Ángel Acosta Rodríguez Autor: 2006 ÍNDICE Página Índice 1 Problema 1. Movimiento de figuras geométricas.2 Problema 2. Conversión decimal a binario....3 Problema 3. Secuencias binarias..4 Problema 4. Conversión a binario a octal...

Más detalles

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

TEMA 3: EL LENGUAJE C: PRESENTACIÓN TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de

Más detalles

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes INDICE Parte I. Conceptos 1 1. El estudio de los lenguajes de programación 1.1. Por qué estudiar lenguajes de programación? 2 1.2. Breve historia de los lenguajes de programación 1.2.1. Desarrollo de los

Más detalles

PROGRAMA WINLOGO Guía realizada por: Marisa Carro Rubiera Dpto. de Tecnologías I.E.S. Elisa y Luis Villamil (Vegadeo) CURSO 2008-2009

PROGRAMA WINLOGO Guía realizada por: Marisa Carro Rubiera Dpto. de Tecnologías I.E.S. Elisa y Luis Villamil (Vegadeo) CURSO 2008-2009 PROGRAMA WINLOGO Guía realizada por: Marisa Carro Rubiera Dpto. de Tecnologías I.E.S. Elisa y Luis Villamil (Vegadeo) CURSO 2008-2009 ÍNDICE: 1. LENGUAJES DE PROGRAMACIÓN 2. ENTORNO DE WINLOGO 3. TRABAJAR

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

Introducción a los Tipos Abstractos de Datos

Introducción a los Tipos Abstractos de Datos Página 1 de 8 Introducción a los Tipos Abstractos de Datos Introducción: Concepto de abstracción Abstracción funcional y abstracción de datos Construcción de tipos abstractos de datos Especificación de

Más detalles

Tema 24. Apartados 1 al 2.2 inclusive INFORMÁTICA

Tema 24. Apartados 1 al 2.2 inclusive INFORMÁTICA Tema 24 Apartados 1 al 2.2 inclusive INFORMÁTICA 1 TEMA 1 Introducción a la informática El término informática proviene de la unión de dos palabras: Información y automática. Término acuñado por el francés

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

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

PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS

PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS PROGRAMACIÓN BÁSICA DE LA COMPUTADORA 1 Introducción Un sistema de computadora total incluye tanto circuitería (hardware) como programación (software). El hardware consta de los componentes físicos y todo

Más detalles

Tema 4: Estructuras de Control Estructura y Contenidos

Tema 4: Estructuras de Control Estructura y Contenidos Tema 4: Estructuras de Control Estructura y Contenidos 4.1. ESTRUCTURA SECUENCIAL. 4.2. ESTRUCTURAS DE SELECCIÓN. 4.2.1. Selección simple ( if ). 4.2.2. Selección binaria ( if... ). 4.2.3. Selección múltiple

Más detalles

LENGUAJES DE PROGRAMACIÓN

LENGUAJES DE PROGRAMACIÓN 7 LENGUAJES DE PROGRAMACIÓN 7.1. Lenguajes de programación. Evolución. El soporte lógico, o software, de una computadora es el conjunto de programas asociados a dicha computadora. Hemos visto en el tema

Más detalles

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A.

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A. Cátedra : Sistemas de Información Administrativa S.I.A. Escuela de Contadores Auditores Tema: Ingeniería del Software SLC -ERS Relator: Sr. Eduardo Leyton G Ingeniería de Software (IS) Es una disciplina

Más detalles

Algoritmos. Tema 6. 6.1 Algoritmos y pseudocódigo

Algoritmos. Tema 6. 6.1 Algoritmos y pseudocódigo Tema 6 Algoritmos Una vez que se tiene una idea de cual es la estructura y funcionamiento de la computadora digital es posible preparar el camino para lograr su programación. En primer lugar hay que dejar

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

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

INTRODUCCIÓN A PHP. Javier Enciso

INTRODUCCIÓN A PHP. Javier Enciso INTRODUCCIÓN A PHP Javier Enciso AGENDA Qué es PHP? Cómo funciona PHP? Instalación QUÉ ES PHP? QUÉ ES PHP? (1/7) PHP (acrónimo de "PHP: Hypertext Preprocessor"). Lenguaje interpretado de alto nivel embebido

Más detalles

1.3 Números racionales

1.3 Números racionales 1.3 1.3.1 El concepto de número racional Figura 1.2: Un reparto no equitativo: 12 5 =?. Figura 1.3: Un quinto de la unidad. Con los números naturales y enteros es imposible resolver cuestiones tan simples

Más detalles

Escuela Politécnica Superior. Proyectos de Desarrollo Software. Capítulo 5. daniel.tapias@uam.es. Dr. Daniel Tapias Curso 2014/ 15 PROYECTOS

Escuela Politécnica Superior. Proyectos de Desarrollo Software. Capítulo 5. daniel.tapias@uam.es. Dr. Daniel Tapias Curso 2014/ 15 PROYECTOS Escuela Politécnica Superior Proyectos de Desarrollo Software Capítulo 5 Dr. Daniel Tapias Curso 2014/ 15 daniel.tapias@uam.es PROYECTOS PROGRAMA DE LA ASIGNATURA Capítulo 1: Introducción. Capítulo 2:

Más detalles

CAPÍTULO 2 METODOLOGÍA DE LA PROGRAMACIÓN Y DESARROLLO DE SOFTWARE

CAPÍTULO 2 METODOLOGÍA DE LA PROGRAMACIÓN Y DESARROLLO DE SOFTWARE cap.2 28/6/05 12:17 Página 40 CAPÍTULO 2 METODOLOGÍA DE LA PROGRAMACIÓN Y DESARROLLO DE SOFTWARE C O N T E N I D O 2.1. Fases en la resolución de problemas 2.2. Programación modular 2.3. Programación estructurada

Más detalles

Informática. Algoritmos. Baños García Yesenia, Lic. Comp. Hernández Nájera Aracely, Lic. Comp. Enero 2012.

Informática. Algoritmos. Baños García Yesenia, Lic. Comp. Hernández Nájera Aracely, Lic. Comp. Enero 2012. Informática Algoritmos Baños García Yesenia, Lic. Comp. Hernández Nájera Aracely, Lic. Comp. Enero 2012. El presente trabajo muestra la metodología para dar solución a un problema específico, aplicando

Más detalles

La complejidad de los automatismos y la necesidad de especificar con precisión las tareas => útiles simbólicos de representación

La complejidad de los automatismos y la necesidad de especificar con precisión las tareas => útiles simbólicos de representación PROGRAMACIÓN DEL AUTÓMATA Tiene una serie de pasos: Determinar qué debe hacer el sistema de control y en qué orden Identificar entradas y salidas al autómata Representar mediante un modelo el sistema de

Más detalles

Mando a distancia. Manual en español. Última actualización: 01.10.04

Mando a distancia. Manual en español. Última actualización: 01.10.04 Mando a distancia Manual en español Última actualización: 01.10.04 Contenido El editor del control remoto... 3 Instalación... 3 El menú... 4 Los conjuntos de órdenes... 5 1. Seleccionar una aplicación...

Más detalles

Diseño de Páginas Web 2011

Diseño de Páginas Web 2011 Diseño de Páginas Web 2011 PRESENTACIÓN Proporciona ejemplos de páginas web reales, disponibles en Internet; se presenta el lenguaje HTML y las hojas de estilo en cascada (CSS), enfatizando la utilización

Más detalles

Tema 1 Introducción a la Ingeniería de Software

Tema 1 Introducción a la Ingeniería de Software Tema 1 Introducción a la Ingeniería de Software Curso Ingeniería de Software UMCA Profesor Luis Gmo. Zúñiga Mendoza 1. Software En la actualidad todo país depende de complejos sistemas informáticos. Podemos

Más detalles

Oprime click para iniciar

Oprime click para iniciar MODULO II. DESARROLLO DE SISTEMAS DE INFORMACION Oprime click para iniciar Actividades Administración de Proyectos de desarrollo de Software Estructuras algorítmicas repetitivas Ciclo de vida de un proyecto

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

SISTEMA OPERATIVO WINDOWS

SISTEMA OPERATIVO WINDOWS SISTEMA OPERATIVO WINDOWS QUÉ ES WINDOWS? Es un Sistema Operativo, que cuenta con un Ambiente Gráfico (GUI) que permite ejecutar programas (aplicaciones) de forma más fácil y cómoda para el usuario. Viene

Más detalles

Aplicación de Gestión y Web para un criadero/residencia canino. Índice. 1 Presentación...2. 2 Objetivos y trabajo realizado...2. 3 Conclusiones...

Aplicación de Gestión y Web para un criadero/residencia canino. Índice. 1 Presentación...2. 2 Objetivos y trabajo realizado...2. 3 Conclusiones... Índice 1 Presentación...2 2 Objetivos y trabajo realizado...2 3 Conclusiones...6 1 1 Presentación Actualmente existen muchas y variadas aplicaciones de gestión para cualquier tipo de negocio pero en cambio,

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

Estructura de Bases de datos. Leonardo Víquez Acuña

Estructura de Bases de datos. Leonardo Víquez Acuña Estructura de Bases de datos Leonardo Víquez Acuña Lenguajes de Bases de Datos Un sistema de bases de datos proporciona Un lenguaje de definición de datos para especificar el esquema de la base de datos

Más detalles

Representación de Datos. Una Introducción a los Sistemas Numéricos

Representación de Datos. Una Introducción a los Sistemas Numéricos Representación de Datos Una Introducción a los Sistemas Numéricos Tipos de Datos Datos Texto Número Imagen Audio Video Multimedia: Información que contiene números, texto, imágenes, audio y video. Como

Más detalles

Práctica1. Introducción a Microsoft Access. Qué es Access?

Práctica1. Introducción a Microsoft Access. Qué es Access? Práctica1. Introducción a Microsoft Access Los sistemas de información empresariales tienen como misión el proporcionar información precisa en el momento adecuado, tanto para la gestión y realización de

Más detalles

Al tal efecto consideramos las siguientes definiciones:

Al tal efecto consideramos las siguientes definiciones: PROGRAMACIÓN La programación es una disciplina cuyo objetivo fundamental es la resolución de problemas mediante la formulación de los pasos necesarios para obtener la solución, codificados en un lenguaje

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

Introducción a la Ingeniería del Software

Introducción a la Ingeniería del Software Introducción a la Ingeniería del Software Programación Modular Ingeniería en Telecomunicación Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga Contenido 1) La Crisis del Software

Más detalles