UNIVERSIDAD POLITECNICA SALESIANA FORMAS DE DESCRIBIR UN ALGORITMO ¿Que es un Algoritmo? Un algoritmo es un conjunto limitado de reglas establecidas establecidas de forma secuencial que permiten realizar mecánicamente un proceso determinado. Un algoritmo, entonces, no es más que una especie de guía que nos indica una serie de tareas elementales que hemos de realizar a la hora de llevar a cabo un proceso, proceso, así como el orden en que estas deben ser realizadas. Cualquier tarea para la que se pueda realizar un algoritmo de este tipo, sea esta mas o menos compleja, es de ser mecanizada, esto es, de ser realizada mediante un ordenador ordenador y por tanto, a la hora de emprender dicha tarea, el primer paso será diseñar su algoritmo correspondiente.
Análisis de algoritmos El análisis de algoritmos se ha desarrollado para obtener valores que de alguna forma indiquen (o especifiquen) la evolución del gasto de tiempo y memoria en función del tamaño de los valores de entrada. El análisis de los algoritmos se centra en los principios básicos del algoritmo, no en los de la implementación. Para representar los algoritmos tenemos tenemos tres maneras maneras que son: Narrativa Diagrama de flujo Pseudocódigo • • •
Narrativa Se usa el lenguaje común para describir el algoritmo. Por ejemplo a la hora de prepara la facturación de una empresa 1. Consultar Consultar un archivo archivo en el que aparezc aparezcan an los distintos distintos clientes clientes y las compras que han realizado durante el periodo que se desea facturar. 2. Consultar Consultar un segund segundo o fichero fichero en el que aparezcan aparezcan los los códigos códigos de los productos adquiridos y los precios unitarios de cada producto. 3. Par cada cliente, cliente, multiplic multiplicar ar las unidades unidades comprad compradas as de un cierto producto por el precio unitario del mismo. 4. Sumar Sumar los importes importes parciales parciales corresp correspondie ondientes ntes a cada uno uno de los productos. 5. Suma r o restar restar a la cantidad cantidad obtenida obtenida en el apartad apartado o anterior anterior las bonificaciones o penalizaciones que pueda tener cada cliente.
Restar de la cantidad anterior las tazas e impuestos 6. Restar correspondientes. 7. Confec Confeccio cionar nar la fact factura ura.. 8. Enviar Enviar la fact factura ura al al client cliente. e. Este conjunto de tareas elementales que ha de realizarse en una secuencia preestablecida. Construyendo el algoritmo de la facturación de la empresa.
Diagrama de Flujo El diagrama de flujo es la representación representación grafica del algoritmo confeccionado por el programador a la hora de llevar a cabo una tarea. Un algoritmo generalmente es complejo, largo y difícil dif ícil de mantener en la memoria, razón por la cual a de escribirse, pero en vez de escribirlo en un idioma normal castellano, ingles, francés, se escribe por medio de un idioma grafico que da lugar a un organigrama. Este proceso de confección del organigrama es lo que constituye el autentico trabajo de programación, en el vendrán representadas las entradas y salidas del programa, los cálculos, las comparaciones, la operaciones lógicas y las bifurcaciones lógicas y las bifurcaciones que determinan las secuencias de las operaciones que habrá de realizar el ordenador. Tipos de diagramas de flujos Formato Formato Vertical: En él el flujo o la l a secuencia de las operaciones, va de arriba hacia abajo. Es una l ista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito. Formato Formato Horizontal: En él el flujo o la secuencia de las operaciones, va de izquierda a derecha. Formato Panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun para personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra. Formato Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujogramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos. •
•
•
•
•
Símbolos empleados en un diagrama de flujo Nombre Terminal
Símbolo
Función Representa Representa el inicio y fin de un programa. También puede
representar representar una parada o interrupción programada que sea necesaria realizar en un programa.
Entrada / salida
Proceso
Decisión
Conector Misma Página
Cualquier tipo de introducción de datos en la memoria desde los periféricos o registro de información procesada en un periférico. Cualquier tipo de operación que pueda originar cambio de valor, formato o posición de la información almacenada en memoria, operaciones aritméticas, de transformaciones, etc. Indica operaciones lógicas o de comparación entre datos (normalmente dos) y en función del resultado de la misma determina (normalmente si y no) cual de los distintos caminos alternativos del programa se debe seguir Sirve para enlazar dos partes cualesquiera de un diagrama a través de un conector en la salida y otro conector en la entrada. Se refiere a la conexión en la misma pagina del diagrama
Indicador de dirección o línea de flujo
Indica el sentido de la ejecución de las operaciones
Salida
Se utiliza en ocasiones en lugar del símbolo de salida. El dibujo representa representa un pedazo de hoja. Es usado para mostrar datos o resultados.
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.
Ejemplo:
Pseudocódigo Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el Pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. En esencial, el Pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado, el pseudocódigo utiliza palabras que indican el proceso a realizar. realizar.
Ventajas de utilizar un Pseudocódigo 1. Ocupan Ocupan mucho menos menos espacio espacio en el desarr desarrollo ollo del problema problema.. 2. Permit Permite e representar representar de forma forma fácil operaciones operaciones repetitiva repetitivas s complejas. 3. Es más sencilla sencilla la tarea tarea de pasar pasar de pseudocó pseudocódigo digo a un lenguaje de programación formal.
4. Si se siguen siguen las reglas reglas de identación identación se se puede observa observarr claramente los niveles en la estructura del programa. 5. Mejora la claridad claridad de la solución solución de de un problem problema. a.
Ejemplo: algoritmo rectángulo inicio leer (base) leer (altura) área = base * altura perímetro = 2 * base + 2 * altura escribir (área) escribir (perímetro) fin