George Pólya presentó en su libro Cómo plantear y resolver problemas (en inglés, How to solve it) un método de 4 pasos para resolver problemas matemáticos. Dicho método fue adaptado para resolver problemas de programación, por Simon Thompson en How to program it.
Para empezar: Qué es un problema?
Un problema es un hecho, situación o cuestión que precisa de una solución. Es un conflicto que se presenta como inconveniente para alcanzar objetivos o estabilidad en distintos ámbitos.
Un problema aparece cuando las personas o sujetos involucrados no conocen los caminos a seguir para encontrar una salida, por lo que su esquema previo o la planificación que tenían se ve sometida a cuestionamientos que los llevan a reordenar o rehacer sus ideas. Es lo que se entiende también como incongruencia entre el pensamiento y los hechos.
Además, los problemas pueden ser enunciados que son propuestos como cuestionamientos, con el propósito de buscar y encontrar solución, demostración o comprobación, como sucede con los matemáticos.
Puede servirte: Toma de Decisiones.
Tipos de problemas
Encontramos entonces dos tipos:
Divergentes: Las soluciones pueden ser muy contradictorias y variadas, llegando a tener una cantidad infinita de posibles decisiones a tomar al respecto. Ejemplo: problemas sociales y filosóficos.
Convergentes: Ejemplo de estos son las fórmulas matemáticas, químicas o de las ciencias exactas donde la resolución llega a ser una, o muy pocas pero conocidas. Se caracterizan por ser lógicos estructurados.
Según la matemática un problema es cualquier planteo matemático que debe resolverse siguiendo un procedimiento, mientras que en una ciencia tan diferente como la sociologí, un problema es un conflicto capaz de ser resuelto y que se abre lugar en la sociedad y que surge por diversos factores.
Método de Pólya para resolver problemas matemáticos
Para resolver un problema se necesita:
Paso 1: Entender el problema
¿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? ¿Redundante? ¿Contradictoria?
Paso 2: Configurar un plan
¿Te has encontrado con un problema semejante? ¿O has visto el mismo problema planteado en forma ligeramente diferente?
¿Conoces algún problema relacionado con éste? ¿Conoces algún teorema que te pueda ser útil? Mira atentamente la incógnita y trata de recordar un problema que sea familiar y que tenga la misma incógnita o una incógnita similar.
He aquí un problema relacionado al tuyo y que ya has resuelto ya. ¿Puedes utilizarlo? ¿Puedes pensar en algunos otros datos apropiados para determinar la incógnita? ¿Puedes cambiar la incógnita? ¿Puedes cambiar la incógnita o los datos, o ambos si es necesario, de tal forma que estén más cercanos entre sí?
¿Has empleado todos los datos? ¿Has empleado toda la condición? ¿Has considerado todas las nociones esenciales concernientes al problema?
Paso 3: Ejecutar el plan
Al ejercutar tu plan de la solución, comprueba cada uno de los pasos
¿Puedes ver claramente que el paso es correcto? ¿Puedes demostrarlo?
Paso 4: Examinar la solución obtenida
¿Puedes verificar el resultado? ¿Puedes el razonamiento?
¿Puedes obtener el resultado en forma diferente? ¿Puedes verlo de golpe? ¿Puedes emplear el resultado o el método en algún otro problema?
Método de Pólya para resolver problemas de programación
Para resolver un problema se necesita:
Paso 1: Entender el problema
¿Cuáles son las argumentos? ¿Cuál es el resultado? ¿Cuál es nombre de la función? ¿Cuál es su tipo?
¿Cuál es la especificación del problema? ¿Puede satisfacerse la especificación? ¿Es insuficiente? ¿Redundante? ¿Contradictoria? ¿Qué restricciones se suponen sobre los argumentos y el resultado?
¿Puedes descomponer el problema en partes? Puede ser útil dibujar diagramas con ejemplos de argumentos y resultados.
Paso 2: Diseñar el programa
¿Te has encontrado con un problema semejante? ¿O has visto el mismo problema planteado en forma ligeramente diferente?
¿Conoces algún problema relacionado con éste? ¿Conoces alguna función que te pueda ser útil? Mira atentamente el tipo y trata de recordar un problema que sea familiar y que tenga el mismo tipo o un tipo similar.
¿Conoces algún problema familiar con una especificación similar?
He aquí un problema relacionado al tuyo y que ya has resuelto. ¿Puedes utilizarlo? ¿Puedes utilizar su resultado? ¿Puedes emplear su método? ¿Te hace falta introducir alguna función auxiliar a fin de poder utilizarlo?
Si no puedes resolver el problema propuesto, trata de resolver primero algún problema similar. ¿Puedes imaginarte un problema análogo un tanto más accesible? ¿Un problema más general? ¿Un problema más particular? ¿Un problema análogo?
Paso 3: Escribir el programa
Al escribir el programa, comprueba cada uno de los pasos y funciones auxiliares.
¿Puedes ver claramente que cada paso o función auxiliar es correcta?
Puedes escribir el programa en etapas. Piensas en los diferentes casos en los que se divide el problema; en particular, piensas en los diferentes casos para los datos. Puedes pensar en el cálculo de los casos independientemente y unirlos para obtener el resultado final
¿Puedes apoyarte en otros problemas que has resuelto? ¿Pueden usarse? ¿Pueden modificarse? ¿Pueden guiar la solución del problema original?
Paso 4: Examinar la solución obtenida
¿Puedes comprobar el funcionamiento del programa sobre una colección de argumentos?
¿Puedes comprobar propiedades del programa?
¿Puedes escribir el programa en una forma diferente?
¿Puedes emplear el programa o el método en algún otro programa?
QUE ES UN ALGORITMO
En matemáticas, lógica, ciencias de la computacióny disciplinas relacionadas, un algoritmo (del latín, dixit algorithmus y este del griego arithmos, que significa «número», quizá también con influencia del nombre del matemático persa es un conjunto de instrucciones o reglas definidas y no-ambiguas, ordenadas y finitas que permite, típicamente, solucionar un problema, realizar un cómputo, procesar datos y llevar a cabo otras tareas o actividades. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador de su patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisot de dos enteros positivos, o el método de Gauss para resolver un sistema de ecuaciones lineale
En términos de programación, un algoritmo es una secuencia de pasos lógicos que permiten solucionar un problema. Los derechos de autor otorgan al propietario el derecho exclusivo sobre el uso de la obra, con algunas excepciones. Cuando alguien crea una obra original fija en un medio tangible.
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).
SIMBOLOGIA DEL DIAGRAMA DE FLUJO
FUENTE:https://www.lucidchart.com/pages/es/que-es-un-diagrama-de-flujo |
No hay comentarios.:
Publicar un comentario