Diseño Estructurado de Algoritmos
1 Sesión No. 3 Nombre: Metodología de resolución de problemas a través de computadoras. Segunda parte. Objetivo de la sesión: Al concluir la sesión el estudiante aplicará los pasos principales de la metodología de solución de problemas para la codificación, prueba, depuración, documentación y mantenimiento a través de la solución de tres planteamientos reales. Contextualización En la sesión pasada abordamos las primeras 3 etapas o fases de la Metodología de solución de problemas, a grandes rasgos pusimos sobre la mesa el problema a resolver, la manera y los datos requeridos. Ahora veremos si lo que se planteó en la sesión pasada efectivamente lleva a la solución de nuestro problema inicial, este proceso se llevará haciendo uso de lenguaje de alto nivel de programación. Sabes lo que es un lenguaje de alto nivel? Al final de la sesión reconocerás algunos lenguajes de alto nivel, y su relación con las fases que se requieren para concluir con la metodología necesaria y poder dar resolución de problemas por medio de la computadora.
2 Introducción al Tema Qué entiendes por codificar? La codificación se refiere a la modificación de un mensaje o símbolo a través de instrucciones de un lenguaje establecido, para que la información pueda ser entendida por la computadora. En esta sesión conocerás las fases que se necesitan para desarrollar la comunicación entre la computadora y tú, para que ésta solucione una serie de problemas sin ningún error. Si existe un problema al momento de codificar Qué harías? Pues para esto existe también una fase, para identificar un problema y eliminarlo, consiguiendo una prueba o depuración.
3 Explicación Codificación Alguna vez has escuchado el término código? Después de haber identificado el problema, ya que analizamos y lo representamos de una forma gráfica, la codificación viene a ser la fase siguiente. Es un lenguaje especial basado en una serie de indicaciones detalladas, estas indicaciones podrían también llamarse códigos, refiriéndonos a la combinación de símbolos que tengan un significado o valor que la computadora interprete. Ahora que conoces a qué se refiere el término codificación: Qué crees que sea un código fuente? En el área de informática, el código fuente se refiere al proceso de transformar nuestro algoritmo en un lenguaje de programación que le permita a la computadora interpretarlo. En el tiempo que llevas estudiando: Qué tipos de códigos conoces?
Estos son algunos lenguajes de programación: DISEÑO ESTRUCTURADO DE ALGORITMOS 4 Lenguaje BASIC C C++ Fortran Java PHP Área de aplicación principal Programación para fines educativos Programación de sistema Programación de sistema orientado a objetos Cálculo Programación orientada a Internet Desarrollo de sitios web dinámicos Una vez que la codificación se volvió fuerte, la fase que continúa es la que le toca a la computadora, ya que el código que se introdujo debe ser interpretado por ella. A esta fase se le denomina prueba y depuración. Prueba y depuración Qué te imaginas que sea la depuración? Este proceso se realiza con el compilador y el sistema operativo. El primero es un sistema que se encarga de traducir el código en un lenguaje que sólo la computadora reconoce. La fase prueba y depuración consiste en someter a ensayo nuestro código, con el fin de comprobar si el problema que se planteó al principio fue solucionado. Qué pruebas crees que le podrías hacer a tu programa? Las pruebas a las que podemos someter a nuestro código son variadas, principalmente depende del problema que se quiere resolver. Puedes iniciar una prueba sencilla con datos de los cuales sepas la respuesta, datos válidos, una vez arrojado el resultado deseado puedes continuar con datos inválidos
5 observando cómo reacciona. Para este proceso se puede aplicar una técnica sencilla llamada prueba de escritorio. Conforme revisas tu programa, localizas los errores y los corriges desarrollando el proceso de depuración. Si no existe ninguna falla, lo único que te quedaría por hacer es ajustar los detalles que te permitan mejorar el desempeño del programa. Documentación A qué crees que se refiera el término documentar? Ya que pasamos por todo un proceso de prueba y depuración y ya no exista ninguna clase de error, es importante documentar. Con documentar nos referimos al proceso donde el creador diseña un manual o guía de la forma más detallada, indicándoles a los usuarios cómo utilizar el programa. Puede ser diseñada con sencillos enunciados, o si se desea se puede desarrollar de una forma gráfica, con mapas o diagramas. Lo importante es facilitarle todo al usuario.
6 Mantenimiento Crees que sea importante darle mantenimiento al programa? Para finalizar y no por eso menos importante, la fase de mantenimiento se debe aplicar una vez concluido con el programa y sea ejecutado, pues siempre hay cosas nuevas que agregar; de igual forma habrá que darle ajuste en cualquier momento que se requiera. Nuevamente recordamos la importancia de la documentación, pues nos permite mantener a todos informados de cualquier ajuste, aunque no sea el mismo programador.
7 Conclusión A lo largo de la sesión aprendimos la metodología necesaria para crear un programa. Pasamos del diseño en papel con el planteamiento del problema; analizamos de forma detallada, ayudándonos con preguntas que nos permitieran saber cuáles eran nuestros datos de Entrada y Salida, así como comprender el proceso que se debía realizar. Posteriormente nos enfrentamos a la fase de Diseño, esta etapa como recordarás es una de las más importantes, porque si se realiza adecuadamente no habrá ningún error. La codificación viene a ser la fase donde transcribimos lo diseñado en papel, para ésta debemos conocer un lenguaje especial. Una vez que la codificación se volvió fuerte, a la computadora le toca interpretarlo. Por qué crees que sea importante aplicar todas las fases? Después de todo lo que aprendiste en esta sesión, otro tema importante es conocer los diferentes tipos de datos en lenguajes de programación, como los enteros, los caracteres numéricos, alfanuméricos o en su caso, los vectores y registros. Por eso te invito a que no te pierdas los temas de la siguiente sesión.
8 Para aprender más Aún no te quedo claro cómo realizar una metodología para la solución de un problema? Visualiza este video para que veas integradas todas las fases de la metodología de solución: Arroyo, F. (2010). Metodología para la solución de problemas por medio de computadoras, Calcular el área de triángulo rectángulo. Consultado el 29 de Mayo de 2014: http://youtu.be/8gtmmpqfzlc Visualiza este video para que solucione tus dudas Jaramillo, C. (2012). Metodología para solucionar un problema. Consultado el 13 de Marzo del 2013. http://youtu.be/wtxsuex2s6g Deseas darle un repaso a las 2 primeras sesiones? Resolución de problemas. (2010). Consultado el 13 de marzo del 2013: http://brd.unid.edu.mx/resolucion-de-problemas/
9 Actividad de Aprendizaje Instrucciones: Con el objetivo de fortalecer los conocimientos adquiridos a lo largo de esta sesión, con base en los tres problemas planteados en la sesión anterior, aplica las cuatro fases restantes de la metodología de solución de problemas a través de computadora. Puedes realizarlo en cualquier programa, para el diagrama de flujo puedes hacer uso de la herramienta Progranimate: http://www.progranimate.com al final tendrás que guardarlo como PDF, con la finalidad de subirlo a la plataforma. Recuerda que la actividad te ayudará a aplicar la metodología para solución de problemas reales haciendo uso de sistemas computacionales. 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
10 Cibergrafía Jaramillo, C. (2012). Metodología para solucionar un problema. Consultado el 13 de Marzo del 2013: http://www.youtube.com/watch?v=wtxsuex2s6g Quezada, C., Fuentes, V., Vargas, A. (s/f). Práctica diseño de programas. Consultado el 11 de marzo de 2013: http://profesores.fi-b.unam.mx/jareyc/labcomping/p7.pdf Martínez, A. (2012). Tecnologías de la Información y comunicación. Metodología para la solución de problemas por medio de computadoras. Consultado el 13 de Marzo del 2013: http://andresmtzg.wordpress.com/2012/09/27/metodologia-para-la-solucion-deproblemas-por-medio-de-computadoras/ Quintana de la Cruz, E. (2011). Algoritmos computacionales. Consultado el 13 de Marzo del 2013: http://quice85.wordpress.com/asignaturas-impartidas/algoritmoscomputacionales/ Resolución de problemas. (2010). Consultado el 13 de marzo del 2013: http://www2.ing.puc.cl/~iic11021/materia/cap1.htm