Aplicaciones SemiAutomáticas:
A medio camino de automatizar tareas
Automatizar una tarea tediosa y que el "programa-ordenador" se encargue de todo es muchas veces un ideal difícil de conseguir. Puede que nos falte tiempo o conocimientos para poderlo programar ese "todo" hasta el último detalle o tener en cuenta todas las variantes que se nos pueden presentar del problema. Pero hay una estrategia que uso frecuentemente: podemos evaluar entre que parte del problema podemos hacer "manual" y que parte que vamos a "programar" (automatizar), para conseguir el coeficiente de mejor rendimiento frente menor costo tiempo en la tarea o el trabajo.
Abordar la resolución de problemas pensando desde primera hora, de que parte de él se iba a resolver "manualmente" y otra parte "automáticamente", me ha sido muy efectivo:
- Centrarme en la parte que podía programar, a partir de un algoritmo, sin tener el miedo de que la aplicación se podía quedar a medias o incompleta, con lo que no me sirviera lo que había hecho y quedarme con la sensación de haber perdido el tiempo.
- Y en la parte que iba a hacer "manual" me iba a encargar de lo que no podía o no sabía como programar.
Esta forma de resolver problemas, me ha hecho conseguir un repertorio de pequeñas "herramientas semiautomáticas", que aprovechan lo mejor de los "dos mundos", con parte manual y parte automática.
Os pongo un ejemplo real: Cuando estudiaba la carrera de ITOP, teníamos una asignatura de cálculo de estructuras. Una de los métodos que estudiábamos era el "método de Cross":
"El método de Cross es un método para resolver problemas de estructuras reticulares, mediante aproximaciones sucesivas"
Representación gráfica de las iteraciones (las "aproximaciones sucesivas") donde se resuelve una estructura reticular formada por 3 barras y 4 nudos, con cargas continuas, mediante el método de Cross |
Nota: No voy a entrar en detalles de en que consiste el método pero os dejo varias referencias al final del artículo.
El caso es que la parte estricta de cálculo del método de Cross, era fácilmente programable y automatizable. El problema venia en la introducción de los datos a tener en cuenta en cada iteración (de donde venían estos, ya que dependía de la forma de la estructura reticular que nos dieran a calcular y los datos calculados en la anterior iteración). Mi solución fue que esa parte la iba a hacer "manualmente" mediante en una hoja cuadriculada con varias columnas destinadas a escribir los distintos nudos teniendo en cuenta la relación que tenían (si estaban conectados o no), los datos que afectaban y el resultado de cada iteración sucesiva del cálculo. Con lo cual conseguí un método muy rápido en cálculo y adaptable a cualquier estructura que me dieran en el examen.
Cálculadora Casio FX 880 con la que me hacia programas en BASIC durante la carreta :) |
Desgraciadamente, con el paso del tiempo (ya casi 20 años) perdí el programa :(, pero la estrategia que use para resolverlo, quedó.
Actualmente, como os comentaba, anteriormente, tengo un pequeño repositorio de pequeñas herramientas "semiautomáticas", que me facilitan el día a día, resolver problemas o realizar tareas "repetitivas", eso si, ahora no uso hojas cuadriculadas, sino hojas de cálculo!!
Actualmente, como os comentaba, anteriormente, tengo un pequeño repositorio de pequeñas herramientas "semiautomáticas", que me facilitan el día a día, resolver problemas o realizar tareas "repetitivas", eso si, ahora no uso hojas cuadriculadas, sino hojas de cálculo!!
Saludos
Material extra: Explicación con detalle del método de Cross y ejemplos.