lunes, 24 de septiembre de 2007

Las variables

Alien [blackhat4all@gmail.com]

Las variables, en términos de programación, como su nombre lo indica son datos que pueden variar su valor a lo largo de un programa, lo cual no quiere decir que deban ser obligatoriamente modificadas.

Las variables, viéndolas desde un punto de vista más amplio, existen desde mucho antes de la programación. Es muy difícil poder darle un lugar en la historia, pues si la vemos en su estado más general, son utilizadas desde que el hombre necesitaba guardar determinados datos para luego realizar operaciones con ellos y los colocaba en su cerebro.

En el ámbito informático, las variables se usan como mismo se utilizan en la vida cotidiana. El ejemplo perfecto que tengo para ponerles es el de un niño cuando va a la escuela y la maestra le dice que resuelva una suma de dos números, ejemplo 4 + 5. De forma inconsciente, el niño esta reservando un espacio en su cerebro (o en su manito), para colocar el número 4, y a este le suma luego el 5, obteniendo como resultado… (disculpen, es que hace tiempo que no voy a primer grado). De esa misma manera realiza la computadora las operaciones matemáticas que le formulamos a través de los programas, primeramente guarda en un espacio libre de memoria el número 4, luego asigna a otro espacio el número 5 y a un tercero el resultado de la suma.

Hasta aquí hemos visto la parte básica y más fácil de saber como realiza una computadora las operaciones matemáticas. Pero las cosas se complican cuando nos convertimos de usuarios de un programa a programadores del mismo.

Tipos de variables:

Como todo programador debe saber, cada lenguaje tiene una forma específica de declarar sus variables, y estas a su vez pueden ser de varios tipos.

Complicaría mucho este artículo si me pusiera a citar todos los tipos de variables que existen, ya que cada lenguaje le da un nombre determinado a cada una, y lo que en C++ es int, en QuickBasic significa integer, sin embargo se podría hablar sobre ellas sin decir su nombre especifico, sino el valor o tamaño del mismo que guarda cada una. Una de las variables que menos espacio de memoria utilizan son las que almacenan un solo carácter o valor, entre ellas podemos citar las que sólo guardan una letra, o las que se encargan de evaluar la veracidad o falsedad de una expresión al asignarse un valor de 0 o 1. Otra que es bastante utilizada, y que necesita más espacio en memoria son las que comúnmente llamamos enteros, y que almacenan un valor desde -32000 hasta 32000, lo que las convierte en un número que realmente vale 64000, sólo que distribuido en partes iguales a ambos lados del 0. Pero no son estas las mas grandes, ya que tenemos luego otras que se encargan de almacenar cadenas de texto, y que pueden tener un tamaño casi ilimitado, los arreglos mal confeccionados pueden llegar a alcanzar proporciones gigantescas dentro de la PC, en ocasiones ocupando todo el espacio de memoria disponible.

Errores comunes::

Conocida las funciones y espacios de memoria utilizado por las variables, si me permiten, para los no expertos en computación, quisiera seguir con el ejemplo del niño, pero ahora véanlo con unos cuantos años más, ya estudiantes de una universidad, donde los contenidos son más fuertes y las pruebas de matemática tienen más letras que las de español.

Ante una prueba, un estudiante trata de guardar en su cerebro la mayor cantidad de datos posibles, ya que no sabe que contenidos saldrán y si quiere salir airoso debe estar preparado para todo. Imaginemos que en esa prueba universitaria le toca la batería A, y lo único que tiene que resolver es la misma suma que le salió en primer grado (ojalá). En ese caso aprobaría sin ninguna dificultad, y el espacio que ha reservado en su memoria no le traería mayores consecuencia que quizás luego un dolor de cabeza. Como programadores, tenemos que tener en cuenta que los microprocesadores no sufren de dolores de cabeza, sino de bloqueos permanentes que entre otras cosas pueden estar dados por el mal uso que hagamos de la memoria disponible.

Como todos sabemos las computadoras cuentan por desgracia con un limitado espacio de memoria y hacer un mal uso del mismo conlleva entre otras cosas a un menor rendimiento. A la hora de programar es fácil y a veces hasta común hacer una mala utilización de las variables, bastaría con crear una variable de punto flotante para contar los alumnos que están presentes en un aula, o definir como tipo de cadena de caracteres las baterías de una prueba, o lo que es peor, crear un arreglo fijo con 1000 espacios reservados y colocar dentro una estructura que tenga nombre, apellidos, sexo, edad, fecha de nacimiento, etc para cada uno de los trabajadores llamados a asistir a un trabajo voluntario. WARNING!!

Las variables se deben definir para almacenar sólo el tipo de dato necesario, ni más ni menos. Y en caso de que sea un arreglo, tratar siempre que se pueda que sea dinámico, ocupando este el espacio justo y necesario.

Otro de los errores que a mi entender son cometidos con frecuencia por los programadores, son los de asignar nombres de variables que no tienen nada que ver con el contenido que almacenan. A primera vista esto no trae ningún problema, ya que a las variables se les puede definir con casi cualquier letra o conjunto de estas, pero sucede con frecuencia que pasados meses o años, si tenemos que modificar la forma de trabajo de un programa que hemos creado, nos es imposible recordar que función cumple una variable llamada z en un programa de contabilidad, y esto nos conlleva a, en el mejor de los casos, tener que leernos todo el código o ejecutar el programa paso a paso para ir viendo los valores que va cogiendo dicha variable y darle o no permanencia en el programa; en el peor, tenemos que por obligación reprogramarlo todo nuevamente.

Longitud::

Hablé anteriormente de tipos de variables, el tamaño en memoria que ocupan, sin embargo omití a propósito la longitud, que puede ser fije o variable.
Se le llama longitud fija a la mayoría de las variables, ya que por generalidad permanecen invariables a lo largo del todo el programa, y lo que se definió en un principio como entero, persistirá como entero hasta que le llegue el End. Sin embargo, existen también las variables variables, y no son más que aquellas que el programador las haya definido como tal. En ese caso podemos citar los arreglos.

Definir un arreglo como variable puede tener ventajas desde el punto de vista de la utilización que se hace de la memoria, ya que puede ser definido con solamente 10 elementos a la hora de su creación y terminar la ejecución del programa con 1000, sin hacer un uso innecesario de la memoria. Cada lenguaje tiene sus especificidades a la hora de crear un arreglo dinámico, sin embargo, mostrado el código en pseudocódigo, luego de crear el arreglo sería algo como:

10 Añado un elemento
20 si el arreglo se ha llenado le agrego 5 nuevos espacio vacios
30 voy nuevamente a la línea 10

Con esto le estamos introduciendo elementos al arreglo, y cada vez que se llena vamos tomando más memoria para asignársela a el. De esta forma, en el peor de los casos, el arreglo sólo estará utilizando 5 espacios extras.

Donde se crean::

A la hora de utilizar una variable debemos pensar primero donde y cuando crearla. Por lo general al hacer doble clic sobre un botón o cualquier otro elemento colocado en el programa en la vista de edición o diseño, este nos lleva hasta su código, el cual sólo será ejecutado al acceder al mismo. Esto quiere decir que si declaramos una variable en ese lugar, esta sólo será utilizada al presionar el botón, no antes, no después, lo que evita que podamos acceder a esta variable desde otros controles. Cuando una variable es declarada de esta forma se le llama variables locales. No obstante, todos los lenguajes tienen un espacio para crear variables globales, que son aquellas que podemos llamar en cualquier momento, pues son establecidas desde que se ejecuta la aplicación y por lo general perduran hasta que esta finaliza.

Cuando se va a instaurar una variable, debemos pensar primero en que uso va a tener, y cuanto tiempo queremos conservar su valor, esto es lo que nos permitirá reconocer si se debe crear global o local.

No quisiera terminar el artículo sin decirles que nuestro joven del ejemplo afortunadamente aprobó el examen, ya que había reservado espacio de memoria para crear una variable global, por lo que los contenidos impartidos por el profesor a lo largo del curso estaban aún vigentes.



Artículos relacionados


No hay comentarios: