martes, 14 de agosto de 2018

FUNDAMENTOS DE PROGRAMACIÓN



¿En qué consiste la resolución de problemas?

El proceso de solucionar problemas implica una serie de capacidades y habilidades del pensamiento que es importante desarrollar y evaluar en la preparación académica. La resolución de problemas es una actividad cognitiva que consiste en proporcionar una respuesta-producto a partir de un objeto o de una situación.
Resultado de imagen para en que consiste la resolucion de problemas

Planteamiento de solución de problemas según POYLA

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

    Resultado de imagen para Pólya
  • ¿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 utilizar su resultado? ¿Puedes emplear su método? ¿Te hace falta introducir algún elemento auxiliar a fin de poder utilizarlo?
  • ¿Puedes enunciar al problema de otra forma? ¿Puedes plantearlo en forma diferente nuevamente? Recurre a las definiciones.
  • 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? ¿Puede resolver una parte del problema? Considera sólo una parte de la condición; descarta la otra parte; ¿en qué medida la incógnita queda ahora determinada? ¿En qué forma puede variar? ¿Puedes deducir algún elemento útil de los datos? ¿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 ejecutar 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?
  • ¿Puede resolver una parte del problema? ¿Puedes deducir algún elemento útil de los datos? ¿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 todas las restricciones sobre los datos? ¿Has considerado todas los requisitos de la especificación?

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 pensar en la solución del problema descomponiéndolo en problemas con datos más simples y uniendo las soluciones parciales para obtener la solución del problema; esto es, por recursión.
  • En su diseño se puede usar problemas más generales o más particulares. Escribe las soluciones de estos problemas; ellas puede servir como guía para la solución del problema original, o se pueden usar en su solución.
  • ¿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?


Definición de algoritmo de solución

Un algoritmo consiste en una lista ordenada de operaciones que tienen el propósito de buscar la solución a un problema en matemática, informática y disciplinas afines.



Para las ciencias de la matemática y de la computación, un algoritmo es una lista que, dado un estado inicial y una entrada, propone pasos sucesivos para arribar a un estado final obteniendo una solución. Sin embargo, el algoritmo no es excluyente de las ciencias duras o matemáticas. También en la vida cotidiana se emplean este tipo de operatorias casi sin notarlo: por ejemplo, en los instructivos o manuales de usuario que incluyen ejemplos de resolución de problemas técnicos.


El empleo de algoritmos no es exclusivamente propio de operaciones complejas o ligadas al ámbito de la investigación científica. Al desarrollar un programa de computación, por citar un ejemplo, a menudo estamos desarrollando o implementando un método para resolver algún problema. En definitiva, se trata de una relación problema-solución que tiene lugar a través de la informática. Un algoritmo típico tiene carácter finito, es preciso, tiene tanto una entrada como una salida y es eficaz en la resolución de un problema.
Resultado de imagen para algoritmo

¿Qué es un diagrama de flujo?

Un diagrama de flujo, también llamado Flujograma de Procesos o Diagrama de Procesos, representa la secuencia o los pasos lógicos (ordenados) para realizar una tarea mediante unos símbolos. Dentro de los símbolos se escriben los pasos a seguir. Un diagrama de flujo debe proporcionar una información clara, ordenada y concisa de todos los pasos a seguir.

Por lo dicho anteriormente, podríamos decir que: "Un diagrama de flujo es una representación gráfica o simbólica de un proceso".



El proceso o pasos que representa el diagrama de flujo puede ser de cualquier tipo, desde los pasos para freir un huevo, como luego veremos, hasta los pasos para realizar un enorme programa informático.

Nota: En esta página encontrarás varios diagramas de flujo explicados y resueltos, pero cuando tengas claro como se hacen los diagramas de flujo, te recomendamos que veas el siguiente enlace donde encontrarás más diagramas resueltos: Ejemplos de Diagramas de Flujo. En ese enlace te presentamos 15 diagramas de flujo resueltos.
Como Hacer un Diagrama de Flujo Normalmente para realizar un diagrama de flujo primero se hace lo que se llama el algoritmo. Un algoritmo es una secuencia de PASOS LÓGICOS a seguir para resolver un problema de forma escrita.

Un ejemplo para cocinar un huevo para otra persona sería:

- Pregunto si quiere el huevo frito.
- Si me dice que si, lo frio, si me dice que no, lo hago hervido.
- Una vez cocinado le pregunto si quiere sal en el huevo.
- Si me dice que no, lo sirvo en el Plato, si me dice que si, le hecho sal y después lo sirvo en el plato.

Si te fijas los pasos no pueden cambiar su posición. Sería imposible preguntarle si lo quiere frito después de haberlo hervido, por ejemplo. Es muy importante que los pasos seán una secuencia lógica y ordenada.

Ahora que ya sabemos todos los pasos, mediante el algoritmo, podemos hacer un esquema con estos pasos a seguir. Este esquema será el Diagrama de Flujo.





Si uno tiene experiencia puede prescindir del algoritmo escrito pero siempre tendremos que tenerlo en mente para hacer el diagrama de flujo sin equivocarnos. Más abajo te dejamos varios ejemplos de diagramas de flujo.

Bibliografía

Recuperado de:
hadoc.azc.uam.mx/evaluacion/solucion.htm
http://www.areatecnologia.com/diagramas-de-flujo.htm

No hay comentarios.:

Publicar un comentario