Cómo determinar restricciones y establecer procesos

Determinar las restricciones

Resulta fundamental que los estudiantes determinen aquello que está permitido o prohibido hacer y/o utilizar para llegar a una solución. En este punto se deben exponer las necesidades y restricciones (no una propuesta de solución). El estudiante debe preguntarse:

  • ¿Qué condiciones me plantea el problema?
  • ¿Qué está prohibido hacer y/o utilizar?
  • ¿Qué está permitido hacer y/o utilizar?
  • ¿Cuáles datos puedo considerar fijos (constantes) para simplificar el problema?
  • ¿Cuáles datos son variables?
  • ¿Cuáles datos debo calcular?

Establecer procesos 

Consiste en determinar los procesos que permiten llegar a los resultados esperados a partir de los datos disponibles. Debe preguntarse:

  • ¿Qué procesos necesito?
  • ¿Qué fórmulas debo emplear?
  • ¿Cómo afectan las condiciones a los procesos?
  • ¿Qué debo hacer?
  • ¿Cuál es el orden de lo que debo hacer?

En la medida de lo posible, es aconsejable dividir el problema original en otros más pequeños y fáciles de solucionar (submetas), hasta que los pasos para alcanzarlas se puedan determinar con bastante precisión (módulos). Esto es lo que en programación se denomina diseño descendente o top-down (Joyanes, 2001).

El diseño descendente se utiliza en la programación estructurada de computadores debido a que facilita:

  • La comprensión del problema
  • Las modificaciones en los módulos
  • La verificación de la solución

Al realizar divisiones sucesivas del problema en otros más pequeños y manejables (módulos), hay que tener cuidado para no perder de vista la comprensión de este como un todo. El estudiante, luego de dividir el problema original en submetas (módulos), debe integrar cada parte de tal forma que le permita comprender el problema como un todo (Woolfolk, 1999).

Igualmente hay que tener cuidado cuando se utiliza este enfoque para resolver problemas complejos o extensos, en cuyo caso resulta más aconsejable utilizar una metodología orientada a objetos. Especialmente, cuando profesores universitarios manifiestan su preocupación por el aprendizaje de malas prácticas de programación en el colegio.

Las operaciones para llegar a los resultados esperados se implementan en mediante procedimientos. Por ejemplo, si se desea producir un software para trabajar con figuras geométricas de diferentes tipos, el triángulo rectángulo será uno de los objetos a tener en cuenta y este a su vez, debe prestar los siguientes servicios (Jiménez, 2002):

  • Un procedimiento para leer los datos de entrada.
  • Un procedimiento para calcular el área.
  • Un procedimiento para calcular la hipotenusa.
  • Un procedimiento para calcular el perímetro.
  • Un procedimiento para mostrar los resultados.

Fuente: eduteka.org – Algoritmos y programación guía para docentes