CREAR DIAGRAMA DE FLUJO Diagramas de flujo Un diagrama de flujo es una representación gráfica de un algoritmo o de una parte del mismo. Los diagramas de flujo ayudan en la comprensión de la operación de las estructuras de control (Si, Mientras). La ventaja de utilizar un algoritmo es que se lo puede construir independiente mente de un lenguaje de programación, pues al momento de llevarlo a código se lo puede hacer en cualquier lenguaje. Dichos diagramas se construyen utilizando ciertos símbolos de uso especial como son rectángulos, diamantes, óvalos, y pequeños círculos, estos símbolos están conectados entre sí por flechas, conocidas como líneas de flujo. A continuación se detallarán estos símbolos. Inicio o fin del programa Pasos, procesos o líneas de instrucción de programa de computo Operaciones de entrada y salida Toma de decisiones y Ramificación Conector para unir el flujo a otra parte del diagrama Cinta magnética Disco magnético Conector de pagina Líneas de flujo Display, para mostrar datos • • • • • • Reglas de los diagramas de flujo Debe de indicar claramente dónde inicia y dónde termina el diagrama. Cualquier camino del diagrama debe de llevarte siempre a la terminal de fin. Organizar los símbolos de tal forma que siga visualmente el flujo de arriba hacia abajo y de izquierda a derecha. No usar lenguaje de programación dentro de los símbolos. Centrar el diagrama en la página. Las líneas deben ser verticales u horizontales, nunca diagonales. • No cruzar las líneas de flujo empleando los conectores adecuados sin hacer uso excesivo de ellos. No fraccionar el diagrama con el uso excesivo de conectores. Solo debe llegar una sola línea de flujo a un símbolo. Pero pueden llegar muchas líneas de flujo a otras líneas. Ejemplos de diagramas de flujo Diagrama de flujo que encuentra la suma de los primeros 50 números naturales ¿ALGORITMO ? • Definición: ALGORITMO • Podemos encontrar muchas definiciones completas o formales de algoritmo en los textos de algorítmica y programación, todas ellas muy similares: • Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968] • Descripción de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomina léxico • Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. Características del Algoritmo • • • • • Ser definido: Sin amtiguedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de interpretación. Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá finalizar al completarlos. Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende. Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como únicamente “verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programación que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo. Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada menos que aquello que se requiera para y en su ejecución. • Tipos de operadores • • • • • • • • • • • • • • • • • • • • • • • • Significado Paréntesis () Aritméticos **, * / div. \ %, mod. + Alfanuméricos + Relaciónales = =, = ¡=, <> < <= > >= Lógico ¡, NOT, no &&, AND, y ||, OR, o Paréntesis Potencia Producto División División entera Modulo Suma Resta Concatenación Concatenación eliminando espacios Igual a Distinto a Menor Menor o igual Mayor Mayor o igual Negación Conjunción Disyunción