Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



martes, 20 de junio de 2017

Aplicaciones SemiAutomáticas: A medio camino de automatizar tareas


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!!


Saludos


Material extra: Explicación con detalle del método de Cross y ejemplos.