miércoles, 22 de junio de 2016

RESOLUCIÓN DE PROBLEMAS EN PROGRAMACIÓN

Generalmente,  la  primera  razón  que  mueve  a  una  persona  hacia  el aprendizaje de la programación es utilizar el ordenador como herramienta para resolver problemas concretos. Como en la vida real, la búsqueda y obtención de una solución a un problema determinado, utilizando medios informáticos, se lleva a cabo siguiendo unos pasos fundamentales. En siguiente artículos podrás ver estas analogías.
Java programa ya

1.1-Resolución de problemas

  • Observación de la situación o problema.
  • Análisis del problema: requiere que el problema sea definido y comprendido claramente para que pueda ser analizado con todo detalle.
  • Pensamos en una o varias posibles soluciones.
  • Diseño o desarrollo de algoritmos: procedimiento paso a paso para solucionar el problema dado.
  • Aplicamos la solución que estimamos más adecuada.
  • Resolución del algoritmo elegido en la computadora: consiste en convertir el algoritmo en programa,   y comprobar que soluciona verdaderamente el problema.

¿Qué virtudes debería tener nuestra solución?

  • Corrección y eficacia: si resuelve el problema adecuadamente. 
  • Eficiencia: si lo hace en un tiempo mínimo y con un uso óptimo de los recursos del sistema. Para conseguirlo, cuando afrontemos la construcción de la solución tendremos que tener en cuenta los siguientes conceptos:

 1. Abstracción: se trata de realizar un análisis del problema para descomponerlo en problemas más pequeños y de menor complejidad, describiendo cada uno de ellos de manera precisa. Divide y vencerás, es una filosofía general para resolver problemas y de aquí que su nombre no sólo forme parte del vocabulario informático, sino que también se utiliza en muchos otros ámbitos.
2. Encapsulación: consiste en ocultar la información para poder implementarla de diferentes maneras sin que esto influya en el resto de elementos.
3. Modularidad: estructuraremos cada parte en módulos independientes, cada uno de ellos tendrá su función correspondiente.


“El  comienzo  de  la  sabiduría  para  un  ingeniero  de  software  es  reconocer  la diferencia  entre  hacer  que  un  programa  funcione  y  conseguir  que  lo  haga correctamente.” Roger Pressman