Diseño Estructurado de Algoritmos DISEÑO ESTRUCTURADO DE ALGORITMOS Sesión No. 2 Nombre: Metodología de resolución de problemas a través de computadoras. Primera parte. Objetivo de la sesión: Al concluir la sesión el estudiante aplicará los tres pasos principales de la metodología de solución de problemas a través de tres planteamientos reales. Contextualización Como se mencionó en la sesión anterior, lo que se busca principalmente en esta materia es la solución de problemas siguiendo una serie de pasos ordenados que permitan avanzar por etapas bien definidas hacia una solución. ¿Te gustaría conocer los primeros pasos para realizar un programa computacional? Este tema es la base para la realización de un programa y su ejecución. Recordando que para la realización de un programa es necesario seguir una serie de pasos que lleven a su entendimiento y solución, es decir, es necesaria la utilización de un algoritmo por medio del cual se resuelva. Al final de esta sesión conseguirás comprender correctamente la metodología necesaria que permitan una transformación del algoritmo en algo entendible por la computadora. 1 DISEÑO ESTRUCTURADO DE ALGORITMOS Introducción al Tema El tema de esta sesión es “Metodología de resolución de problemas a través de computadoras”. El término metodología se refiere a un conjunto o serie de procedimientos utilizados para resolver un problema, entonces se explicará detalladamente las primeras etapas o fases para la resolución de un problema mediante la computadora. Estas fases son: • Definición del problema. • Análisis de los datos. • Diseño de la solución. 2 DISEÑO ESTRUCTURADO DE ALGORITMOS Explicación Definición del problema ¿Alguna vez te imaginaste que todo comienza con un problema? La primera de las fases de la metodología para la resolución de un problema es la definición del mismo. Esta fase necesita de una definición clara, donde se determinará exactamente cuál es la tarea que deseamos que haga el programa. Análisis de los datos Después de definir el problema es importante contestar: • ¿Cuáles son los datos de entrada con los que contamos? • ¿Qué proceso debemos realizar con estos datos? • ¿Cuál es la salida deseada? En esta fase como el nombre lo indica se analizan distintos aspectos. 1. Se debe dedicar tiempo para especificar cuáles son los resultados que se desean alcanzar. 2. Cuáles son los datos de entrada, es decir, qué datos son los que la computadora procesará. 3. Debemos saber cuáles son las herramientas con las que contamos como fórmulas por si necesitamos hacer cálculos, tablas, etcétera. ¿Sabes cómo se te podría facilitar el análisis? Podrías ponerte en el lugar de una computadora, suena chistoso, pero si intentas hacerte una serie de preguntas y piensas en cuáles serían los pasos secuenciales o acciones que necesitas que te ordenen para arrojar un resultado, te facilitará las cosas. 3 DISEÑO ESTRUCTURADO DE ALGORITMOS Diseño de la solución En la fase anterior se definió qué hará nuestro programa. Esta etapa es una de las más importantes, porque si se realiza adecuadamente no habrá ningún error. Aquí lo que comprenderemos es cómo hacer el diseño que determinará cómo nuestro programa hará la tarea. ¿Aún recuerdas el tema de la sesión anterior? Porque en esta fase es donde se aplicará el algoritmo natural para desarrollarlo de una manera más específica y detallada. Suena complicado pero no lo es, existen distintos métodos que dan buenos resultados. Por ejemplo, para que puedas dar solución a un problema complejo, se puede aplicar la técnica divide y vencerás, es decir, segmentar tu problema inicial en sub-problemas y así sucesivamente hasta llegar a su mínima expresión. Por ejemplo: Problema: ¿Cómo calculo el área de un cuadrado? Este problema se puede descomponer en sub-problemas para llegar a solución de una manera rápida. 4 DISEÑO ESTRUCTURADO DE ALGORITMOS 1. Recordamos la fórmula para el cálculo del área de un cuadrado = Lado x Lado o lo que es lo mismo Lado2 2. Posteriormente debo leer los datos de entrada: ¿Cuál es el tamaño de uno de los lados del cuadrado? Lado=4 3. Aplicar la fórmula para el cálculo del área A=Lado x Lado = 4x4 4. Obtener el resultado, es decir, el dato de Salida. A=16 Es importante que comprendas que el diseño de un algoritmo es independiente del lenguaje de programación, porque éste es un lenguaje especializado. ¿Crees que existan herramientas que te permitan realizar tu diseño de una manera más atractiva? Como habíamos visto en la sesión anterior existe una herramienta denominada diagrama de flujo. Al momento de diseñarlo se van mostrando en secuencia los pasos del algoritmo, representados por símbolos o figuras que tienen un significado especial, unidos mediante flechas que conectan el inicio con el final. Si el diagrama de flujo está completo al momento de pasarlo a un lenguaje de programación no habrá ningún problema. Los símbolos de un diagrama de flujo están estandarizados por el Instituto Norteamericano de Normalización (ANSI), y los más utilizados son: 5 DISEÑO ESTRUCTURADO DE ALGORITMOS Conclusión Como revisamos a lo largo de esta sesión, la metodología de resolución de problemas a través de computadoras se refiere a un conjunto de instrucciones utilizadas para resolver un problema. ¿Ya sabias que a partir de la definición de un problema te podrías apoyar para encontrar la solución de una forma más sencilla? Lo mejor de todo es que los métodos no sólo se aplican en el área de la computación, sino también podemos emplearlo en nuestra vida. Así que en el momento que se te presente un problema recuerda que primero debes: • Definir cuál es el problema • Analizar con lo que cuentas para resolverlo • Y aplicarlo Ahora que sabes estos primeros pasos, no puedes perderte la sesión que sigue, pues en ella se concluirá con la metodología, faltan los pasos más importantes como la codificación, la prueba y depuración. 6 DISEÑO ESTRUCTURADO DE ALGORITMOS Para aprender más ¿Cómo realizarías alguna operación matemática por medio de la Metodología de resolución de problemas a través de una computadora? • Metodología para la solución de problemas por medio de computadoras. Calcular el área de un triángulo rectángulo. (2010). Consultado el 12 de Marzo del 2013: https://www.youtube.com/watch?v=8GtmMpqfzlc ¿Cómo resuelves une Problema utilizando la Computadora? • Álvarez, L. (2004). La Resolución de Problemas utilizando la Computadora. Consultado el 12 de Marzo del 2013: http://brd.unid.edu.mx/la-resolucion-de-problemas-utilizando-lacomputadora/ 7 DISEÑO ESTRUCTURADO DE ALGORITMOS Actividad de Aprendizaje Instrucciones: Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta sesión, ahora tendrás que aplicar las primeras 3 etapas de la Metodología de resolución de problemas a través de computadoras, es decir: 1. Definición del problema 2. Análisis de datos 3. Diseño de la solución de los siguientes problemas: Problema 1: Calcular el área de un hexágono. Problema 2: Calcular la media (promedio) de una serie de números positivos. Problema 3: Obtener el mayor de dos números. Puedes realizarlo en cualquier programa especializado, al final tendrás que guardarlo como PDF con la finalidad de que no existan modificaciones y así subirlo a la plataforma. Recuerda que esta actividad te ayudará a extraer los elementos esenciales, para que al momento de que realices algún programa no exista ningún error. Se tomará en cuenta lo siguiente: • Tus datos generales • Referencias bibliográficas • Ortografía y redacción • Introducción • Contenido 8 DISEÑO ESTRUCTURADO DE ALGORITMOS Cibergrafía Álvarez, L. (2004). La Resolución de Problemas utilizando la Computadora. Consultado el 12 de Marzo del 2013: http://prof.usb.ve/mvillasa/compcient/resolucion.pdf Garza, S. (s/f). Fundamentos de Programación. Algoritmos. Consultado el 12 de Marzo del 2013: http://www.infinitumpage.mx/A141227/Fundamentos%20de%20programacion%2 0unidad2.pdf Metodología para la solución de problemas por medio de computadoras. Calcular el área de un triángulo rectángulo. (2010). Consultado el 12 de Marzo del 2013: https://www.youtube.com/watch?v=8GtmMpqfzlc Pérez, L. E. (2008) Fundamentos de Programación Mtro. Bernal. Consultado el 11 de marzo del 2013: http://www.dgb.sep.gob.mx/informacion_academica/secuencias_didacticas/2sem /material-informatica-ii/b1-algoritmosysolucion%20deproblemas.pdf Vivanco, P., Carrasco, N., y Ambicho, L. (s/f).Técnicas y Diseños de algoritmos. Iniciando la programación. Consultado el 11 de marzo de 2013: http://www.academia.edu/420406/Iniciando_la_Programacion_Tecnicas_y_Disen os_de_Algoritmos 9