1.1 ¿En qué consiste la solución de problemas?
ANÁLISIS PREVIO DEL PROBLEMA
En esta etapa se debe definir y tener claro lo que el
programa tiene que hacer junto con las tareas que debe realizar para llevar a
cabo la solución, qué datos necesito para realizar la tareas, que formato deben
tener los datos de entrada, de donde provienen los datos de entrada, como se
obtienen esos datos, cómo interactúan los datos entre sí para obtener el
resultado, muy importante tener claro cuál será el resultado que se desea
obtener
CONFIGURACIÓN DEL ENTORNO DE DESARROLLO Y CODIFICACIÓN
Esta etapa consiste en transcribir o adaptar el algoritmo a un lenguaje
de programación, se tendrá que adaptar todos los pasos diseñados en el
algoritmo con sentencias y sintaxis propias del lenguaje.
Verificar errores, organizar el código y comentarlo, son buenas
prácticas que hacen programas más legibles y facilitan la depuración.
Visita el siguiente vídeo
1.2 Planteamiento de solución de problemas según POLYA
George Pólya fue un gran matemático que nació en Budapest en 1887 y murió en
Palo Alto California en 1985. A lo largo de su vida generó una larga lista de resultados
matemáticos y, también, trabajos dedicados a la enseñanza de esta disciplina, sobretodo
en el área de la Resolución de Problemas. Estos trabajos básicamente fueron escritos en los años cuarenta del siglo XX pero fueron traducidos hasta los años sesenta y setenta.
Se trata de un personaje clave en la Resolución de Problemas y es considerado el
pionero o gestor de las primeras etapas de esta temática.
La posición de Pólya respecto a la Resolución de Problemas se basa en una
perspectiva global y no restringida a un punto de vista matemático. Es decir, este autor plantea la Resolución de Problemas como una serie de procedimientos que, en realidad, utilizamos y aplicamos en cualquier campo de la vida diaria.
Para ser más precisos, Pólya expresa: “Mi punto de vista es que la parte más
importante de la forma de pensar que se desarrolla en matemática es la correcta actitud
de la manera de cometer y tratar los problemas, tenemos problemas en la vida diaria, en
las ciencias, en la política, tenemos problemas por doquier. La actitud correcta en la
forma de pensar puede ser ligeramente diferente de un dominio a otro pero solo
tenemos una cabeza y por lo tanto es natural que en definitiva allá sólo un método de
acometer toda clase de problemas. Mi opinión personal es que lo central en la enseñanza
de la matemática es desarrollar tácticas en la Resolución de Problemas”.
MÉTODO DE LOS CUATRO PASOS.
Él plantea en su primer libro
el llamado “El Método de los Cuatro Pasos”, para resolver cualquier tipo de
problema se debe:
• comprender el problema
• concebir un plan
• ejecutar el plan y
• examinar la solución.
Para cada una de estas etapas él plantea una serie de
preguntas y sugerencias.
1. Comprender el Problema.
Para esta etapa se siguen las siguientes preguntas:
• ¿Cuál es la incógnita?
• ¿Cuáles son los datos?
• ¿Cuál es la condición?
• ¿Es la condición suficiente para determinar la incógnita?
• ¿Es insuficiente?
• ¿Es redundante?
• ¿Es contradictoria?
2. Concebir un Plan.
Para Pólya en
esta etapa del plan el problema debe relacionarse con problemas semejantes.
También debe relacionarse con resultados útiles, y se debe determinar si se pueden
usar problemas similares o sus resultados (aquí se subraya la importancia de
los problemas análogos). Algunas interrogantes útiles en esta etapa son:
• ¿Se ha encontrado
con un problema semejante?
• ¿Ha visto el
mismo problema planteado en forma ligeramente diferente?
• ¿Conoce un
problema relacionado?
• ¿Conoce algún
teorema que le pueda ser útil?
• ¿Podría
enunciar el problema en otra forma?
• ¿Podría
plantearlo en forma diferente nuevamente? Refiérase a las definiciones.
3. Ejecución del Plan.
Durante
esta etapa es primordial examinar todos los detalles y es parte importante
recalcar la diferencia entre percibir que un paso es correcto y, por otro lado,
demostrar que un paso es correcto. Es decir, es la diferencia que hay entre un
problema por resolver y un problema por demostrar. Por esta razón, se plantean
aquí los siguientes cuestionamientos:
•
¿Puede ver claramente que el paso es correcto?
•
¿Puede demostrarlo?
Él
plantea que se debe hacer un uso intensivo de esta serie de preguntas en cada momento.
Estas preguntas van dirigidas sobre todo a lo que él llama problema por resolver
y no tanto los problemas por demostrar. Cuando se tienen problemas por demostrar,
entonces, cambia un poco el sentido. Esto es así porque ya no se habla de datos
sino, más bien, de hipótesis. En realidad, el trabajo de Pólya es
fundamentalmente orientado hacia los problemas por resolver.
En
síntesis: al ejecutar el plan de solución debe comprobarse cada uno de los
pasos y verificar que estén correctos.
4. Examinar la Solución.
También
denominada la etapa de la visión retrospectiva, en esta fase del proceso es muy
importante detenerse a observar qué fue lo que se hizo; se necesita verificar
el resultado y el razonamiento seguido De preguntarse:
•
¿Puede verificar el resultado?
•
¿Puede verificar el razonamiento?
•
¿Puede obtener el resultado en forma diferente?
•
¿Puede verlo de golpe?
•
¿Puede emplear el resultado o el método en algún otro problema?
Estas
cuestiones dan una retroalimentación muy interesante para resolver otros problemas
futuros: Pólya plantea que cuando se resuelve un problema (que es en sí el objetivo
inmediato), también, se están creando habilidades posteriores para resolver cualquier
tipo de problema. En otras palabras, cuando se hace la visión retrospectiva del
problema que se resuelve, se puede utilizar tanto la solución que se encuentra como
el método de solución; este último podrá convertirse en una nueva herramienta a
la hora de enfrentar otro problema cualquiera.
Visita el siguiente vídeo para complementar tu información.
1.3 Definición de algoritmo
Un algoritmo es una secuencia de pasos lógicos necesarios para llevar a cabo una tarea especifica, como la solución de un problema. Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de la computadora que los ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin embargo el algoritmo será siempre el mismo.
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico. La descripción de un algoritmo usualmente se hace en tres niveles:
Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.
1.4 ¿Qué es un diagrama de flujo?
Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo informático. Se usan ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y fáciles de comprender. Los diagramas de flujo emplean rectángulos, óvalos, diamantes y otras numerosas figuras para definir el tipo de paso, junto con flechas conectoras que establecen el flujo y la secuencia. Pueden variar desde diagramas simples y dibujados a mano hasta diagramas exhaustivos creados por computadora que describen múltiples pasos y rutas. Si tomamos en cuenta todas las diversas figuras de los diagramas de flujo, son uno de los diagramas más comunes del mundo, usados por personas con y sin conocimiento técnico en una variedad de campos. Los diagramas de flujo a veces se denominan con nombres más especializados, como "diagrama de flujo de procesos", "mapa de procesos", "diagrama de flujo funcional", "mapa de procesos de negocios", "notación y modelado de procesos de negocio (BPMN)" o "diagrama de flujo de procesos (PFD)". Están relacionados con otros diagramas populares, como los diagramas de flujo de datos (DFD) y los diagramas de actividad de lenguaje unificado de modelado (UML).
Bibliografías.
- Luis Joyanes Aguilar, Fundamentos de programación. algoritmos y estructuras de datos, Ed. Mc Graw-Hill.
- Armando E. de Giusti, Algoritmos, Datos y Programas, . Ed., Prentice Hall.