Diseño Estructurado de Algoritmos DISEÑO ESTRUCTURADO DE ALGORITMO Sesión No. 7 Nombre: Técnicas para la formulación de algoritmos Objetivo de la sesión: Al concluir la sesión el estudiante aplicará técnicas para la formulación de algoritmos para resolver problemas prácticos a través de pseudocódigos y diagramas de flujo. Contextualización Para el desarrollo de una aplicación, los algoritmos son un apoyo que permiten encontrar la solución de algún problema. Para todo desarrollo se necesita la utilización de técnicas establecidas para el análisis, diseño e implementación. Estas técnicas nos brindan herramientas que permiten medir la eficacia y qué tan funcional resultará. Pueden ser utilizadas como una base para el diseño de cualquier programa. A través del tiempo los programadores han encontrado distintas técnicas que permiten el adecuado desarrollo de algoritmos. Lo importante de estas técnicas es que no sólo pueden ser utilizadas para el desarrollo de programas, sino que nos muestran la estructura que nos ayuda con la identificación de los mismos y la mejor manera de resolverlos, dándonos la base para resolver las problemáticas cotidianas; pues como lo vimos en una de las sesiones, los algoritmos son aplicados en todo momento y sería más acertado si nos basáramos en las distintas técnicas. 1 DISEÑO ESTRUCTURADO DE ALGORITMO Introducción al Tema ¿Qué técnicas nos permiten la formulación de algoritmos? Las técnicas tienen como objetivo alcanzar el resultado deseado, ya que está basado en el uso de diversas herramientas estructuradas que buscan, de una forma práctica, que el desarrollador exponga su problema de una forma organizada. En el tema del desarrollo de algoritmos existen dos técnicas principales; la primera se denomina Diagrama de Flujo. Como recordarás, esta técnica la viste en una de las sesiones de esta asignatura, y no es más que la representación de tu algoritmo, pero con elementos gráficos que lo hacen más entendible. Esta herramienta es tan potente que no puede ser tratada de forma completa y por eso se le dedicará tiempo en esta sesión. La segunda herramienta es el pseudocódigo, esta técnica es importante debido a que es una combinación entre nuestra forma de comunicarnos y el lenguaje que utiliza la computadora. El pseudocódigo es un paso antes de llegar al código, esto quiere decir que nos permitirá realizar un lenguaje entendible para el ser humano, antes programar con los distintos caracteres que son entendibles para la computadora o el diseño de un lenguaje formal de programación. 2 DISEÑO ESTRUCTURADO DE ALGORITMO Explicación Pseudocódigo ¿Sabes cómo generar un pseudocódigo? El pseudocódigo es un código diseñado para que el programador se familiarice más con el programa, no tiene elementos complicados, sólo una estructura definida que permite un mayor acercamiento al resultado antes de programar. Es un proceso posterior al diseño de un diagrama de flujo, pues nos acerca a la estructura general de un programa, esto resulta ideal si no se sabe el lenguaje especializado. El pseudocódigo tiene como objetivo detallar la estructura de un algoritmo. A diferencia del diagrama de flujo que se basa en la representación gráfica de elementos, el pseudocódigo sólo utiliza texto, permite la representación ordenada de un código basado en el lenguaje humano. ¿Sabes cuáles son las ventajas de utilizar un pseudocódigo? • Una de las ventajas de utilizar el pseudocódigo es que se utiliza menos espacio, ya que busca la simplificación. • La representación del pseudocódigo es otra de las grandes ventajas, porque permite emplear operaciones complejas representándolas fácilmente. • El ahorro de tiempo es una ventaja al momento de programar, porque si se realiza de manera adecuada el pseudocódigo, cuando se desee pasar a la codificación no existirá ningún problema y por lo tanto habrá un ahorro de tiempo. • Lo que permite el acercamiento al diseño del código es la utilización de los operadores, que como recordaremos son aquellos que generan 3 DISEÑO ESTRUCTURADO DE ALGORITMO relaciones y nos permiten manejar valores. Existen los operadores matemáticos con los que se realizan sistematizaciones con variables y constantes, así como los operadores relacionales, que establecen una relación entre dos valores. Ejemplo: Los pasos que podríamos aplicar para la creación de un pseudocódigo que permita obtener el promedio de 3 calificaciones son: 1.-Indicar el inicio 2.-Declarar variables. Inicio Variables calif 1, calif 2, calif 3 3.-Se pide que introduzcan los datos. Imprimir “introduce calif 1, calif 2, calif 3” 4.-Leer variables y realizar operaciones guardándolas en una variable denominada promedio. Leer calif 1, calif 2, calif 3. Promedio= calif1+calif 2+ calif 3 /3 4 DISEÑO ESTRUCTURADO DE ALGORITMO 5. Mostrar resultado e indicar el fin. Imprimir “El promedio es:” Fin Diagrama de flujo ¿Qué elementos necesitas para un diagrama de flujo? El diagrama de flujo permite realizar la representación de un algoritmo. Se basa en una secuencia de instrucciones que permiten llegar al resultado de un problema, pero con la diferencia de que se utilizan elementos gráficos que tienen un significado. Los pasos para su elaboración son los siguientes: 1. Se comienza con la utilización de símbolos estandarizados por el Instituto Norteamericano de Normalización (ANSI). Estas son algunas: Indica Inicio y Fin Entrada de datos Realización de una actividad Análisis de situación Imprime resultados 2. Lleva un orden. Puede ser de arriba hacia abajo o de izquierda a derecha. 3. Se utilizan conectores. Éstos son sólo flechas que indican la dirección del flujo de la información. Como nota, no deben existir líneas de flujo sin una conexión. 4. El texto dentro de los símbolos debe de ser preciso y corto, utilizando los tipos de datos. 5 DISEÑO ESTRUCTURADO DE ALGORITMO Conclusión Los dos temas de esta sesión son básicos para la realización de un programa, porque te permiten tener una idea clara y una estructura definida de lo que quieres que realice tu código. Son pasos sencillos antes de codificar, realizados en un lenguaje entendible para los humanos que genera una mayor comprensión, después de estos pasos es necesario saber un lenguaje de programación especial que se basa en símbolos que son fáciles de interpretar por la computadora. Tanto el diagrama de flujo como el pseudocódigo tienen características que los definen al momento de realizarlos. Por ejemplo, el primero se basa en símbolos que ya tienen un significado estandarizado, sólo se necesita saber qué es lo que significan y colocar los elementos de nuestro algoritmo. Para el segundo, ya que se realizó el diagrama se transcriben los datos, pero en esta parte se colocan los distintos tipos de información que permiten la realización de operaciones matemáticas representaciones gráficas, es decir sólo el texto. pero sin la utilización de 6 DISEÑO ESTRUCTURADO DE ALGORITMO Para aprender más ¿Sabes diferenciar entre un Algoritmo y un pseudocódigo? • Espinoza, E. D. (2008). Algoritmos y Pseudocódigo Parte 1. Consultado el 19 de marzo de 2013: http://brd.unid.edu.mx/algoritmos-y-pseudocodigo-parte-1/ ¿Te falta reforzar estos temas? Por eso no te preocupes, en las siguientes ligas encontrarás estos temas y podrás reforzar lo aprendido en la sesión. • Navea, Y. (2011). Algoritmos y diagramación clase1. Consultado el 19 de Marzo de http://www.slideshare.net/YamidNavea/algoritmos-y- 2013: diagramacion-clase-1 • Sandoval, C. (2011). Unidad 4 Técnicas para la formulación de algoritmos. Consultado el 19 de Marzo de 2014: http://www.slideshare.net/csandovalrivera/unidad-4-tcnicas-para-laformulacin-de-algoritmos • Trujillo, H. (2011). Pseudocódigo y programación. Consultado el 19 de Marzo de 2014: http://www.slideshare.net/haydeetrujillo/pseudocodigo-y-programacion 7 DISEÑO ESTRUCTURADO DE ALGORITMO Actividad de Aprendizaje Instrucciones: Con el propósito de consolidar los conocimientos adquiridos a lo largo de esta sesión, ahora realizarás el pseudocódigo y si es necesario refina tu diagrama de flujo de los problemas planteados en las sesiones 2 y 3. Puedes realizarlo en cualquier programa, al final tendrás que guardarlo como PDF, con la finalidad de subirlo a la plataforma de la asignatura. Recuerda que ésta actividad te ayudará a fortalecer lo aprendido en la sesión. Se tomará en cuenta lo siguiente: • Tus datos generales • Referencias bibliográficas • Ortografía y redacción • Propósito de su Reporte • Procedimiento. • Resultados • Juicio personal 8 DISEÑO ESTRUCTURADO DE ALGORITMO Cibergrafía Balderrama, C. (s/f). Algoritmos. Metodología de la Programación I. Consultado el 16 de marzo del 2013: http://www.sistemas.edu.bo/cbalderrama/sis%201100/LIBROS/Libro%20Base/T EMA%202.pdf Espinoza, E. (2008). Algoritmos y Pseudocódigo. Parte 1. Consultado el 19 de Marzo de 2014: http://www.youtube.com/watch?v=6oWJ4eBKEU0 Navea, Y. (2011). Algoritmos y diagramación clase1. Consultado el 19 de Marzo de 2014: http://www.slideshare.net/YamidNavea/algoritmos-y-diagramacion-clase-1 Sandoval, C. (2011). Unidad 4: Técnicas para la formulación de algoritmos. Consultado el 19 de Marzo de 2014: http://www.slideshare.net/csandovalrivera/unidad-4-tcnicas-para-la-formulacinde-algoritmos Trujillo, H. (2011). Pseudocódigo y programación. Consultado el 19 de Marzo de 2014: http://www.slideshare.net/haydeetrujillo/pseudocodigo-y-programacion Valenzuela, M. (s/f). Algoritmos, pseudocódigos y diagramas de flujo. Consultado el 19 de marzo del 2014: 9 DISEÑO ESTRUCTURADO DE ALGORITMO http://www.sistemas.edu.bo/cbalderrama/sis%201100/LIBROS/Libro%20Base/T EMA%202.pdf Vivanco, P., Carrasco, N., Ambicho, L. (s/f).Técnicas y Diseños de algoritmos. Iniciando la programación. Consultado el 11 de marzo de 2014: http://www.academia.edu/420406/Iniciando_la_Programacion_Tecnicas_y_Disen os_de_Algoritmos 10