Estructuras de Control - Diagrama de Flujo



Documentos relacionados
Estructuras de Control - Diagrama de Flujo

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

Algoritmos y Diagramas de Flujo 2

1 La Resolución de Problemas utilizando la Computadora

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

Introducción a la Computación TFA

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

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

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

Diseño de algoritmos

Tarea 4.2 Memoria Virtual

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.

TEMA 2: DESARROLLO DEL SOFTWARE

2 EL DOCUMENTO DE ESPECIFICACIONES

SISTEMAS DE ECUACIONES LINEALES

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

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

INTRODUCCION A LA PROGRAMACION DE PLC

COMO CREAR UN DIAGRAMA DE FLUJO

CLASE # 5 TÉCNICAS DE CAJA BLANCA

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

18. Camino de datos y unidad de control

Capítulo 4 Procesos con estructuras de repetición

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE

by Tim Tran:

Sistemas de numeración

Capítulo 5. Álgebra booleana. Continuar

Q-flow Patrones básicos de Workflow

Proceso de desarrollo del software modelo en cascada

Tema 7: Programación con Matlab

Este documento proporciona la secuencia de pasos necesarios para la construcción de un Diagrama de Flujo.

INGENIERÍA DEL SOFTWARE

Programación en lenguaje C++

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

Informática I. While & do While

Soporte lógico de computadoras

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

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

Su éxito se mide por la pertinencia y la oportunidad de la solución, su eficacia y eficiencia.

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3.

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

PLAN DE MEJORAS. Herramienta de trabajo. Agencia Nacional de Evaluación de la Calidad y Acreditación

ESTRUCTURA DE DATOS: ARREGLOS

Fundamentos del diseño de software

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx

Al tal efecto consideramos las siguientes definiciones:

INGENIERIA EN MICROCONTROLADORES. Maquinas de Estado. Introducción

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

1. Descripción y objetivos

Metodologías de diseño de hardware

Herramientas para la programación del juego pedagógico. Nicole Daniela Cano Castañeda Deisy Carina Sánchez Rodríguez. Docente Francisco Pinzón

EL PROCESO DE DISEÑO DEL SOFTWARE

Diseño orientado al flujo de datos

DIAGRAMAS DE GANTT, DIAGRAMAS DE FLUJO Y PSEUDOCODIGO COMO HERRAMIENTAS PARA EL JUEGO PEDAGOGICO.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Elementos requeridos para crearlos (ejemplo: el compilador)

PROCESO ADMINISTRACIÓN DE RECURSOS TECNOLÓGICOS SUBPROCESO ADMINISTRACIÓN DE CONTINGENCIAS

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING.

Oprime click para iniciar

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

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE)

DIAGRAMAS DE GANTT DIAGRAMAS DE FLUJO Y PSEUDOCODIGOS COMO HERRAMIENTAS PARA LA PROGRAMACION DE JUEGOS PEDAGOGICOS ERIKA VANNESSA MARTINEZ SUAZA

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones.

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: = =8245,97

Guía Metodológica para el diseño de procesos de negocio

Centro de Capacitación en Informática

REGISTRO DE EMPRESAS Y PERSONAS BASE DE INFORMACIÓN DE CLIENTES & CONTACTOS

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

Creación de Funciones de Conducción

Manual de Microsoft Power Point 2007 Parte 2 Universidad Politécnica de San Luis Potosí

PRESENTACIONES CON POWERPOINT

Integración de AuraPortal con SAP

Partes, módulos y aplicaciones de un Controlador de Procesos

Entorno de Ejecución del Procesador Intel Pentium

Base de datos en Excel

Problemas indecidibles

BASE DE DATOS RELACIONALES

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

GUÍA METODOLÓGICA PARA LA REALIZACIÓN DE PROCEDIMIENTOS DOCUMENTADOS DE SISTEMAS DE GESTIÓN

El rincón de los problemas. Oportunidades para estimular el pensamiento matemático. Triángulos de área máxima o de área mínima Problema

Introducción a la Computación

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

ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES

8 millares + 2 centenas + 4 decenas + 5 unidades + 9 décimos + 7 céntimos

Universidad de Buenos Aires Facultad De Ingeniería. Operaciones Lógicas. [75.40] Algoritmos y Programación I. 2do Cuatrimestre 2010

Introducción a la Firma Electrónica en MIDAS

DIAGRAMA DE GANTT, DIAGRAMA DE FLUJO Y PSEUDOCÓDIGO DEL JUEGO JESSIKA NATALIA CHIBUQUE MOLANO DANIELA MARÍA QUINTERO VALERO FRANCISCO PINZÓN

Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto

4.Diseño de Bases de Datos (I)

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

Business Process Management(BPM)

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

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

Plan de estudios ISTQB: Nivel Fundamentos

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS

Transcripción:

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. Estructuras de control básicas... 2 2. Lenguajes Algorítmicos 3 3. Diagrama de Flujo 4 2015 - Departamento de Informática - Universidad Nacional de San Luis 1

1. Programación estructurada Unaestructurasedefine como un esquema con cierta distribución y orden que permite representar una idea de forma simplificada. La programación estructurada promueve diseñar y codificar de acuerdo a las siguientes reglas: Se codifica utilizando tres estructuras básicas de control básicas: secuencial, condicional y repetitiva. Diseño modular. Los módulos son diseñados de modo descendente (Top-Down). Eltérmino programación estructurada hace referencia a un conjunto de técnicas que aumentan considerablemente la productividad del programa reduciendo significativamente el tiempo necesario para escribir, verificar, depurar y mantener los programas. Al utilizar un número limitado de estructuras de control se minimiza la complejidad de los programas y por consiguiente se reducen los errores. La visión clásica de la programación estructurada se refiere al control de ejecución, aspecto fundamental a tener en cuenta al diseñar y codificar un programa en un lenguaje de alto nivel. La regla general establece que las instrucciones se ejecuten sucesivamente una tras otra, algunas de ellas se ejecutan o no dependiendo de que se cumpla alguna condición y otras instrucciones (los bucles) deben ejecutarse varias veces, ya sea en número fijo o hasta que se cumpla una condición determinada. Algunos lenguajes de programación más antiguos se apoyaban en una sola instrucción para modificar la secuencia de ejecución de las instrucciones: la instrucción goto, del inglés go to que significa ir a, la cual provocaba una transferencia incondicional del control a alguna sentencia en particular. Estas transferencias arbitrarias del flujo de la ejecución hacen los programas muy poco legibles y difíciles de comprender. A finales de los años sesenta, surgió una nueva forma de programar que reduce a la mínima expresión o elimina el uso de la instrucción goto y la sustituye por otras más comprensibles. Esta metodología de programar se basa en un famoso teorema, desarrollado por Edsger Dijkstra, que demuestra que todo programa puede escribirse utilizando únicamente tres estructuras básicas de control: la secuencia, el condicional y la repetición o iteración. 1.1. Estructuras de control básicas Una estructura de control tiene un único punto de entrada y un único punto de salida y se compone de sentencias o de otras estructuras de control. Las estructuras básicas son: 2015 - Departamento de Informática - Universidad Nacional de San Luis 2

Secuencial: Es aquella que ejecuta las acciones sucesivamente, una a continuación de otra sin posibilidad de omitir ninguna, y naturalmente, sin bifurcaciones. Es la más sencilla de todas las estructuras, simplemente le indica al procesador que debe ejecutar de forma consecutiva una lista de acciones (que pueden ser, a su vez, otras estructuras de control). Para construir una secuencia de acciones basta con escribir una acción a continuación de la otra o, en algunos casos, se utiliza un operador al final de cada sentencia. Condicional o Alternativa: La estructura alternativa permite bifurcar el flujo del algoritmo en función de una expresión lógica. Se utilizan cuando en el desarrollo de la solución de un problema se debe tomar una decisión para establecer un proceso o un camino alternativo a seguir. Esta toma de decisión se basa en la evaluación de una o más condiciones que señalan alternativas o consecuencias, es decir, el camino (rama) a seguir. Repetición o Iteración: La estructura repetitiva o iterativa permite, como su nombre lo indica, repetir una acción (o grupo de acciones) un número prefijado de veces o depender de la evaluación de una expresión lógica. 2. Lenguajes Algorítmicos En esta instancia el objeto de estudio se basa en los métodos de resolución de problemas, es decir, los algoritmos y no los programas, o sea, sus implementaciones concretas usando diferentes lenguajes de programación. El desarrollo de algoritmos es un tema fundamental e importante en el diseño de programas, aplicaciones de cómputo y soluciones informáticas. Los algoritmos pueden describirse, en mayor o menor detalle, utilizando diversos lenguajes: Lenguajes Algorítmicos. Los Lenguajes Algorítmicos consisten de una serie de símbolos y reglas que se utilizan para especificar un proceso en forma precisa. Considerando la forma en que describen un proceso, se pueden categorizar en: Lenguaje Gráfico: Es la representación gráfica de las operaciones que realiza un algoritmo (ejemplo: diagrama de flujo). Lenguaje No Gráfico: Representa en forma descriptiva las operaciones que debe realizar un algoritmo. Son lenguajes algorítmicos: Lenguaje Natural o Pseudo-código, Diagrama de Flujo, Lenguaje de Programación de Algoritmos. 2015 - Departamento de Informática - Universidad Nacional de San Luis 3

3. Diagrama de Flujo Toda representación gráfica, de cualquier tipo que sea, se caracteriza por: Sencillez. Un método gráfico de diseño de algoritmo debe permitir la construcción de éstos de manera fácil y sencilla. Claridad. Cuando un algoritmo es representado por un método gráfico debe estar lo suficientemente claro para un fácil reconocimiento de todos los elementos por parte de otra persona distinta de la que lo diseñó. Normalización. Tanto los diseñadores de programas como los usuarios que necesitan la documentación de éstos deben reconocer y utilizar las mismas normas de documentación. Flexibilidad. Todo método gráfico de representación debe permitir, sin grandes dificultades, posteriores modificaciones de algunas partes de un algoritmo y la inserción de alguna nueva. Un diagrama de flujo es la representación gráfica de un algoritmo. Es la representación detallada en forma gráfica de cómo debe realizar los pasos, por ejemplo una computadora, para producir resultados. Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos), se relacionan entre sí mediante líneas que indican el orden en que se deben ejecutar los procesos. Los símbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalización (ANSI): Figura 1: Simbología de Diagramas de Flujo. El diagrama de flujo goza de ventajas como el ser altamente intuitivo, fácil de leer, claro y preciso. Representa una herramienta muy potente de cara a comenzar a programar ya que su contenido gráfico lo hace menos 2015 - Departamento de Informática - Universidad Nacional de San Luis 4

árido que el algoritmo expresado en lenguaje natural (pseudo-código). Las limitaciones principales de los diagramas de flujo derivan precisamente de su carácter de dibujo. No resultan tan fáciles de crear o de mantener como el texto del pseudo-código. Un diagrama de flujo tiene un único punto de entrada y un único punto de salida y la simbología para representar a las diferentes estructuras de control es: Secuencia Figura 2: Representación de la Secuencia. Selección Figura 3: Representación de la Selección. Iteración o Repetición Figura 4: Representación de la Iteración. 2015 - Departamento de Informática - Universidad Nacional de San Luis 5