Fundamentos de Programación
Fundamentos de Programación
¿Que se entiende como solución a un problema?
El concepto de resolución de problemas esta vinculado al procedimiento que permite solucionar una complicación. La noción puede referirse a todo el proceso o su fase final, cuando el problema efectivamente se resuelve.
La resolución de problemas es uno de los pilares fundamentales sobre los cuales se sostiene el desarrollo de programas y dispositivos, ya que cada paso hacia adelante a nivel tecnológico acarrea nuevos obstáculos, así como nuevos interrogantes y la necesidad de hallar soluciones innovadoras para seguir avanzando.
La resolución de problemas es uno de los pilares fundamentales sobre los cuales se sostiene el desarrollo de programas y dispositivos, ya que cada paso hacia adelante a nivel tecnológico acarrea nuevos obstáculos, así como nuevos interrogantes y la necesidad de hallar soluciones innovadoras para seguir avanzando.
Solución de problemas, según Pólya
Propuso, a finales de 1940, una
metodología general para la resolución de problemas matemáticos, que ha sido
adaptada para el caso en que se cuente con una computadora como recurso
para resolver.
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 des componiéndolo en problemas con datos más simples y uniendo las soluciones parciales para obtener la solución del problema.
- 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?
Solución de un problema expresado como logaritmo
Para solucionar, un problema será necesario comprender el manejo de logaritmos, para efectuar una serie de acciones para encontrar una solución y describir dicha solución de la forma más clara posible.Para la representación de un logaritmo, antes de ser convertido en lenguaje de programación, se utilizan métodos de representación escrita, gráfica o matemática.Los métodos mas conocidos son:
- Diagrama de Flujo
- Lenguaje Natural
- Formulas Matematicas
¿Que es un logaritmo?
Se pueden definir como la secuencia lógica y detallada de pasos para solucionar un problema, por lo que su estudio es útil para dar una solución computable a los problemas que se presenta en las organizaciones.
Características:
- No ambiguo, es decir, que no dé lugar a diferentes interpretaciones
- Finito, debe finalizar después de que se haya llevado a cabo una cantidad finita de pasos
- Preciso, el orden de ejecución de los pasos debe estar perfectamente indicado
- Comprensible, debe ser claro lo que hace, de forma que quien ejecute los pasos (ser humano o máquina) sepa qué, cómo y cuándo hacerlo.
Ejemplos:
1. ¿Verifica la solución los criterios específicos siguientes?:
a) ¿Utiliza todos los datos pertinentes?
b) ¿Está acorde con predicciones o estimaciones razonables?
c) ¿Resiste a ensayos de simetría, análisis dimensional o cambio de escala?
2. ¿Verifica la solución los criterios generales siguientes?:
a) ¿Es posible obtener la misma solución por otro método?
b) ¿Puede quedar concretada en caso particulares?
c) ¿Es posible reducirla a resultados conocidos?
d) ¿Es posible utilizarla para generar algo ya conocido?
¿Como se puede comprobar la solución a un problema ?
1. ¿Verifica la solución los criterios específicos siguientes?:
a) ¿Utiliza todos los datos pertinentes?
b) ¿Está acorde con predicciones o estimaciones razonables?
c) ¿Resiste a ensayos de simetría, análisis dimensional o cambio de escala?
2. ¿Verifica la solución los criterios generales siguientes?:
a) ¿Es posible obtener la misma solución por otro método?
b) ¿Puede quedar concretada en caso particulares?
c) ¿Es posible reducirla a resultados conocidos?
d) ¿Es posible utilizarla para generar algo ya conocido?
Bibliografia:
- http://fcasua.contad.unam.mx/apuntes/interiores/docs/2005
- https://definicion.de/resolucion-de-problemas
- http://fractus.uson.mx/Papers/Polya/Polya.pdf
Comentarios
Publicar un comentario