Solución de problemas

1. 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.
2. DISEÑO DEL ALGORITMO
Es hora de diseñar el algoritmo y que irá de acuerdo a todas las especificaciones anteriores y posteriormente será implementado en un lenguaje de programación para ser ejecutado por la computadora.
3. COMPILACIÓN Y PRUEBAS
La fase de compilación permitirá detectar errores en tiempo de compilación, ejecución y lógicos, y en el caso de Java se generará uno o varios archivos bytecode que serán ejecutados por la computadora.
En esta fase también es necesario realizar pruebas con una gran cantidad de datos para encontrar posibles errores y corregirlos.
En esta fase también es necesario realizar pruebas con una gran cantidad de datos para encontrar posibles errores y corregirlos.
Se debe tener una documentación de todos los pasos hasta llegar a la solución del problema, ya que cuando un programa es pobre en documentación este proceso de modificación es totalmente complejo.
Planteamiento de solución de problemas según POLYA

Este primer paso trata de imaginarse el lugar, las personas, los datos, el problema. Para eso, hay que leer bien, replantear el problema con sus propias palabras, reconocer la información que
proporciona, hacer gráficos, tablas. A veces se tiene que leer más de una vez.
- Diseñar un plan
En esta etapa se plantean las estrategias posibles para resolver el problema y seleccionar la más adecuada.
- Ejecutar el plan
Ya se tiene el plan seleccionado, así que se aplica. Se Resuelve el problema, monitorear todo el proceso de solución.
-Examinar la solución
Luego de resolver el problema, revisar el proceso seguido. Cerciorarse si la solución es
correcta, si es lógica y si es necesario, analizar otros caminos de solución.
Definición de algoritmo de solución
Un algoritmo se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema.
los algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje diferente de programación.
¿Qué es un diagrama de flujo?
Un diagrama de flujo u organigrama es una representación donde se ilustra la secuencia de
las operaciones que se realizarán para conseguir la solución de un problema. Los diagramas de flujo
se dibujan generalmente antes de comenzar a programar el código frente a la computadora. Los
diagramas de flujo facilitan la comunicación entre los programadores y la gente del negocio. Estos
diagramas de flujo desempeñan un papel vital en la programación de un problema y facilitan la
comprensión de problemas complicados y sobre todo muy largos. Una vez que se dibuja el
diagrama de flujo, llega a ser fácil escribir el programa en cualquier idioma de alto nivel. Vemos a
menudo cómo los diagramas de flujo nos dan ventaja al momento de explicar el programa a otros.
Por lo tanto, está correcto decir que un diagrama de flujo es una necesidad para la documentación
mejor de un programa complejo.

Fuentes consultadas:
www.ecodeup.com/como-resolver-problemas-programacion/
http://recursosbiblio.url.edu.gt/tesisjcem/2015/05/86/Escalante-Silvia.pdf
http://ing.unne.edu.ar/pub/informatica/Alg_diag.pdf
http://depa.fquim.unam.mx/amyd/archivero/Diagramasdeflujo_16857.pdf