Asignatura Introduccin a la Programacin Cdigo G8F0201 Tema Estrategias para la solucin de problemas Docente Ing. Julin Giraldo Rodrguez Fecha
1 ESTRATEGIAS PARA LA RESOLUCIN DE PROBLEMAS
Llamaremos Estrategia para la resolucin de problemas al conjunto de pasos o fases lgicas que usamos para hallar la solucin de un determinado problema o situacin. Tanto los problemas a los que nos podemos enfrentar a diario, como las soluciones que podemos dar a estos, son un conjunto de procesos creativos diversos en los cuales tanto nuestros conocimientos como la improvisacin pueden permitirnos una solucin completa, efectiva y adecuada.
La mecanizacin de soluciones puede no ser una adecuada forma de solucin, ya que las personas razonan, intuyen y actan diferente a determinadas situaciones similares.
Lo que si es necesario independientemente de la estrategia que se desarrolle es conocer adecuadamente el problema, hacer o leer su enunciado y comprenderlo totalmente.
Aunque como ya se dijo, no existe una solucin nica y efectiva a la solucin de cualquier problema, si existen algunas estrategias que se pueden aplicar a la hora de dar solucin a una situacin determinada. Es importante saber elegir una estrategia adecuada para cada problema. Algunas son:
Lo que se busca con esta estrategia es encontrar una solucin comn al problema hallando la solucin a problemas puntuales con las mismas caractersticas. Es necesario relacionar los siguientes pasos para llegar a la solucin.
Reflexionar: Es necesario conocer completamente un problema para poder solucionarlo y especficamente QU se debe hacer mas que CMO hacerlo. Ayuda la formulacin de preguntas como Qu informacin hay?, Qu requiero saber?, Qu puedo utilizar? Particularizar: Una forma adecuada de hallar la solucin mediante esta estrategia consiste en analizar diferentes ejemplos especficos y tratar de resolverlos, sobretodo buscando el mecanismo de solucin de ese problema en particular y plantendolo en trminos o pasos generales que se puedan aplicar a otros problemas. Generalizar: Despus de probar la solucin de ejemplos especficos, se trata de definir una solucin general agrupando bajo un mismo esquema las soluciones particulares que se hallaron. Verificar: Al tener una solucin general, se deben realizar pruebas con diferentes casos que nos ayuden a comprobar que la solucin encontrada es satisfactoria para cualquier problema de ese tipo. En caso de que algn ejemplo falle, es necesario reiniciar el proceso de bsqueda de una solucin general.
1.2 Dividir y Conquistar (Ej. Casa y vaca)
A veces, nos enfrentamos a problemas de gran complejidad o que sin serlo, si se pueden descomponer en problemas ms pequeos. Por ejemplo, los sistemas de un automvil se pueden descomponer en el sistema mecnico (motor), el sistema elctrico (luces, sistema de encendido y accesorios), sistema de suspensin (amortiguadores, chasis, llantas, etc) entre otros, as que un solo tcnico no es experto en todos los sistemas, sino que se especializa en un rea especfica.
Para aplicar esta estrategia se debe dividir el problema original en problemas completos mas pequeos, hasta llegar a problemas que se solucionan de manera trivial o simple y despus de solucionar cada sub-problema, se van integrando soluciones hasta llegar a la solucin del gran problema inicial.
El hecho de dividir un problema en sub-problemas no implica que cada problema ms pequeo se debe solucionar por el mismo mtodo, sino que se pueden usar otros mtodos y estrategias para hallar su solucin.
1.3 Ensayo y error (Cuadro Mgico, Sudoku, Alphametic)
Si no es posible aplicar una tcnica sistemtica para solucionar algn problema, una de las maneras de resolverlo es mediante ensayo y error. Esta tcnica se basa en aprovechar las diferentes heursticas, informacin del problema, soluciones similares, los hechos y la lgica con el fin de lanzar una posible solucin y tratar de acomodarla al problema planteado.
2 FASES PARA LA RESOLUCIN DE PROBLEMAS
Independientemente de la estrategia que usemos para resolver algn problema, siempre es necesario seguir una serie de pasos que nos ayudarn a encontrar una solucin adecuada al mismo, es decir, voluntaria o involuntariamente, nuestra mente sigue las siguientes fases para hallar una solucin a cualquier situacin problema con que nos enfrentemos. Conocimiento del problema: Lo primero que hacemos es obtener la mayor informacin posible sobre la situacin y respondernos preguntas como por qu pasa?, cundo pasa?, a quin ms le ha pasado?, entre otras. Definicin y sntesis de informacin relevante del problema: Se obtiene la informacin realmente importante sobre el problema y se desecha la que no tiene relevancia, se hace un anlisis de situaciones y de condiciones que generan o evidencian el problema. Planeacin de la solucin: Inevitablemente, cuando tenemos un problema empezamos a planear soluciones a este, desde las ms descabelladas hasta las ms cuerdas y lgicas, todas tienen algo de vlidas. Se deben mirar las condiciones que se tienen para pensar en la o las soluciones ms adecuadas. Ejecucin de la solucin: Despus de planear, comparar y elegir la mejor solucin, debemos ponerla en prctica. Verificacin de la solucin propuesta y ejecutada: Despus de llevar a cabo la solucin podremos saber si funcion para ese caso especfico, y dependiendo del tipo de problema y del tipo de solucin, podramos probar si funciona en algunos otros o todos los dems casos.
El mtodo de solucin de problemas.
Que llevaremos a cabo para fortalecer y estructurar nuestro pensamiento algortmico (y computacional) para la solucin de problemas est basado en las fases que se acaban de definir. Nuestro mtodo de solucin de problemas tiene los siguientes pasos:
Planteamiento del problema: Se trata de un enunciado completo y conciso que describe de forma concreta y acertada el problema, se describen restricciones, criterios de validez, condiciones, rangos de valores y otros elementos necesarios para conocer y entender por completo el problema.
Anlisis de la solucin: En esta etapa, se realizan tareas importantes con respecto al conocimiento del problema y a hallar la informacin vital para el desarrollo de una posterior solucin. Se abstrae la informacin relevante mediante la bsqueda y descripcin de elementos que representan datos y valores, adems, se buscan las frmulas matemticas y/o los razonamientos lgicos necesarios para encarar la solucin del problema. Para esto se hacen: o Descripcin de constantes y variables: Se definen los datos que tienen importancia en la resolucin del problema, tanto valores fijos (constantes), como valores cambiantes (variables). Por ejemplo: fecha de nacimiento, valor de venta, numero de valores, , e, etc. o Estrategia de solucin: Se refiere a definir el conjunto de frmulas matemticas y/o razonamientos lgicos que ayudarn a la resolucin del problema.
Diseo de la solucin: Se refiere a crear y definir los elementos que sern parte de la solucin para la ejecucin de esta, es un plano que se realiza previamente de la solucin real. Se requiere dar una definicin ms formal de los elementos de datos descubiertos y descritos en la etapa anterior, adems se debe consolidar una solucin mediante un algoritmo. Sus fases son: o Definicin formal de constantes y variables: En esta etapa se da un nombre vlido a las variables y se define su tipo de datos. Para el caso de las constantes, se les asigna un nombre y un valor. o Algoritmo: Para la especificacin del algoritmo, se usarn dos tcnicas, la descripcin de precondicin y post-condicin y el desarrollo de pseudocdigo.
Implementacin de la solucin: Se trata de materializar el algoritmo en un instrumento o herramienta que arroje un resultado tangible, para este caso se har mediante un programa de computador ejecutable en un lenguaje de programacin (C).
Prueba: Es la verificacin que se hace de la solucin, se har mediante la aplicacin de una prueba de escritorio y tambin, la verificacin de los resultados del programa.
Cómo La Atención A La Música y A Los Paisajes Sonoros Contribuyen A Formar Una Escucha Comprensiva Que Mejore El Aprendizaje y Nuestras Relaciones Laborales y Cotidianas