El Algoritmo

13-Abril-2008
Bien lejos de ser familia del “logaritmo”… un algoritmo es, en palabras sencillas, una serie de pasos que llevan un orden lógico, y que deben ejecutarse para resolver una situación o problema.

Un algoritmo puede ser la receta para hacer una torta (pastel), o las instrucciones para instalar cualquier cosa. También en la música se siguen algoritmos para poder ejecutar las diferentes técnic as en la guitarra, o los ejercicios para independizar las piernas y manos en la batería…

Diariamente ejecutamos muchos algoritmos… y lo importante es saber que no todos hacemos las cosas de la misma forma, ya que cada quien le pone algo personal a su algoritmo.. Si yo quisiera hacer un algoritmo de como empezar a programar, yo podría decir:

- abro visual basic
- creo un nuevo proyecto
- agrego un modulo de clase
- empiezo a codificar
- me detengo un momento a tomar agua
- sigo codificando

Tal vez, alguien más exagerado pudiera decir

- le doy al botón de ENCENDIDO de la pc
- si hay luz
- espero que entre a windows
- entro a visual basic
- codifico
- me levanto porque estoy cansado
- apago la pc
- si no hay luz
- le doy un golpe a la pc
- llamo a la compañía de luz
- dejo la pc y me voy molesto
- Me voy a dormir

Un programador nunca tendrá la misma lóge=ica de otro… puede ser que la codificación sea algo parecida, la forma en que ordenan el código, pero siempre tenemos algo personal, que tiene hasta con nuestro caracter. Si somos muy flojos, tal vez no nos importe que nuestro código parezca un desorden, pero si somos perfeccionistas y ordenados, tal vez nos preocuparemos para que nuestro código sea impecable.

Si nunca es igual la apareciencia de nuestro código, mucho menos será igual la lógica usada para resolver un problema. Coincidiremos en algunos puntos donde hay una MUY ÚNICA forma… pero siempre habrá algo propio de nosotros en el algoritmo.

Es importante practicar la elaboración de algoritmos, ya que nos permiten desarrollar más lógica como programadores, y nos permite evaluar cuál será el camino más óptimo encontrar una solución.

El algoritmo ideal es aquel que en menos pasos realiza el trabajo que se requiere…


Calcular la edad a partir de la fecha de nacimiento

12-Abril-2008
Bien, el algoritmo sería algo así.
 
- Obtenemos la [Fecha de Nacimiento].
- Obtenemos la [Fecha Actual].
- Separamos ambas fechas para obtener [Dia], [Mes], [Año] de cada fecha, respectivamente.
- Restamos [Actual.Año] - [Nacimiento.Año] y eso nos dá la edad que se corresponde al “año actual”.
- Si [Nacimiento.Mes] < [Actual.Mes], se le resta 1 a la edad obtenida anteriormente.
- Si [Nacimiento.Mes] = [Actual.Mes] y [Actual.Dia]<[Nacimiento.Dia], se le resta 1 a la edad obtenida anteriormente.
 
Eso es todo! solo falta adaptarlo a cualquier lenguaje. Es una función muy útil ya que es mejor registrar en una base de datos la fecha de nacimiento y no la edad. Si registramos la edad, ese dato será estático… pero si registramos la fecha de nacimiento, a través de este algoritmo podremos calcular y mostrar la edad actual de la persona, partiendo de su fecha de nacimiento, comparándola con la fecha actual.