{"id":683,"date":"2026-03-26T21:58:36","date_gmt":"2026-03-26T21:58:36","guid":{"rendered":"https:\/\/hackcuba.net\/?p=683"},"modified":"2026-03-26T21:58:42","modified_gmt":"2026-03-26T21:58:42","slug":"las-variables","status":"publish","type":"post","link":"https:\/\/hackcuba.net\/?p=683","title":{"rendered":"Las variables"},"content":{"rendered":"\n<p>Introducci\u00f3n:: Las variables, en t\u00e9rminos de programaci\u00f3n, 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.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Las variables, vi\u00e9ndolas desde un punto de vista m\u00e1s amplio, existen desde mucho antes de la programaci\u00f3n. Es muy dif\u00edcil poder darle un lugar en la historia, pues si la vemos en su estado m\u00e1s general, son utilizadas desde que el hombre necesitaba guardar determinados datos para luego realizar operaciones con ellos y los colocaba en su cerebro.<\/p>\n\n\n\n<p>En el \u00e1mbito inform\u00e1tico, las variables se usan como mismo se utilizan en la vida cotidiana. El ejemplo perfecto que tengo para ponerles es el de un ni\u00f1o cuando va a la escuela y la maestra le dice que resuelva una suma de dos n\u00fameros, ejemplo 4 + 5. De forma inconsciente, el ni\u00f1o esta reservando un espacio en su cerebro (o en su manito), para colocar el n\u00famero 4, y a este le suma luego el 5, obteniendo como resultado\u2026 (disculpen, es que hace tiempo que no voy a primer grado). De esa misma manera realiza la computadora las operaciones matem\u00e1ticas que le formulamos a trav\u00e9s de los programas, primeramente guarda en un espacio libre de memoria el n\u00famero 4, luego asigna a otro espacio el n\u00famero 5 y a un tercero el resultado de la suma.<\/p>\n\n\n\n<p>Hasta aqu\u00ed hemos visto la parte b\u00e1sica y m\u00e1s f\u00e1cil de saber como realiza una computadora las operaciones matem\u00e1ticas. Pero las cosas se complican cuando nos convertimos de usuarios de un programa a programadores del mismo.<\/p>\n\n\n\n<p>Tipos de variables: Como todo programador debe saber, cada lenguaje tiene una forma espec\u00edfica de declarar sus variables, y estas a su vez pueden ser de varios tipos.<\/p>\n\n\n\n<p>Complicar\u00eda mucho este art\u00edculo 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\u00eda hablar sobre ellas sin decir su nombre especifico, sino el valor o tama\u00f1o del mismo que guarda cada una. Una de las variables que menos espacio de memoria utilizan son las que almacenan un solo car\u00e1cter o valor, entre ellas podemos citar las que s\u00f3lo guardan una letra, o las que se encargan de evaluar la veracidad o falsedad de una expresi\u00f3n al asignarse un valor de 0 o 1. Otra que es bastante utilizada, y que necesita m\u00e1s espacio en memoria son las que com\u00fanmente llamamos enteros, y que almacenan un valor desde -32000 hasta 32000, lo que las convierte en un n\u00famero que realmente vale 64000, s\u00f3lo 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\u00f1o 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.<\/p>\n\n\n\n<p>Errores comunes:: Conocida las funciones y espacios de memoria utilizado por las variables, si me permiten, para los no expertos en computaci\u00f3n, quisiera seguir con el ejemplo del ni\u00f1o, pero ahora v\u00e9anlo con unos cuantos a\u00f1os m\u00e1s, ya estudiantes de una universidad, donde los contenidos son m\u00e1s fuertes y las pruebas de matem\u00e1tica tienen m\u00e1s letras que las de espa\u00f1ol.<\/p>\n\n\n\n<p>Ante una prueba, un estudiante trata de guardar en su cerebro la mayor cantidad de datos posibles, ya que no sabe que contenidos saldr\u00e1n y si quiere salir airoso debe estar preparado para todo. Imaginemos que en esa prueba universitaria le toca la bater\u00eda A, y lo \u00fanico que tiene que resolver es la misma suma que le sali\u00f3 en primer grado (ojal\u00e1). En ese caso aprobar\u00eda sin ninguna dificultad, y el espacio que ha reservado en su memoria no le traer\u00eda mayores consecuencia que quiz\u00e1s 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.<\/p>\n\n\n\n<p>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\u00e1cil y a veces hasta com\u00fan hacer una mala utilizaci\u00f3n de las variables, bastar\u00eda con crear una variable de punto flotante para contar los alumnos que est\u00e1n presentes en un aula, o definir como tipo de cadena de caracteres las bater\u00edas 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!!<\/p>\n\n\n\n<p>Las variables se deben definir para almacenar s\u00f3lo el tipo de dato necesario, ni m\u00e1s ni menos. Y en caso de que sea un arreglo, tratar siempre que se pueda que sea din\u00e1mico, ocupando este el espacio justo y necesario.<\/p>\n\n\n\n<p>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\u00fan 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\u00f1os, si tenemos que modificar la forma de trabajo de un programa que hemos creado, nos es imposible recordar que funci\u00f3n 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\u00f3digo 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\u00f3n reprogramarlo todo nuevamente.<\/p>\n\n\n\n<p>Longitud:: Habl\u00e9 anteriormente de tipos de variables, el tama\u00f1o en memoria que ocupan, sin embargo omit\u00ed a prop\u00f3sito la longitud, que puede ser fije o variable.<br>Se le llama longitud fija a la mayor\u00eda de las variables, ya que por generalidad permanecen invariables a lo largo del todo el programa, y lo que se defini\u00f3 en un principio como entero, persistir\u00e1 como entero hasta que le llegue el End. Sin embargo, existen tambi\u00e9n las variables variables, y no son m\u00e1s que aquellas que el programador las haya definido como tal. En ese caso podemos citar los arreglos.<\/p>\n\n\n\n<p>Definir un arreglo como variable puede tener ventajas desde el punto de vista de la utilizaci\u00f3n que se hace de la memoria, ya que puede ser definido con solamente 10 elementos a la hora de su creaci\u00f3n y terminar la ejecuci\u00f3n del programa<\/p>\n\n\n\n<p>con 1000, sin hacer un uso innecesario de la memoria. Cada lenguaje tiene sus especificidades a la hora de crear un arreglo din\u00e1mico, sin embargo, mostrado el c\u00f3digo en pseudoc\u00f3digo, luego de crear el arreglo ser\u00eda algo como:<\/p>\n\n\n\n<p>10 A\u00f1ado un elemento<br>20 si el arreglo se ha llenado le agrego 5 nuevos espacio vacios<br>30 voy nuevamente a la l\u00ednea 10<\/p>\n\n\n\n<p>Con esto le estamos introduciendo elementos al arreglo, y cada vez que se llena vamos tomando m\u00e1s memoria para asign\u00e1rsela a el. De esta forma, en el peor de los casos, el arreglo s\u00f3lo estar\u00e1 utilizando 5 espacios extras.<\/p>\n\n\n\n<p>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\u00f3n o cualquier otro elemento colocado en el programa en la vista de edici\u00f3n o dise\u00f1o, este nos lleva hasta su c\u00f3digo, el cual s\u00f3lo ser\u00e1 ejecutado al acceder al mismo. Esto quiere decir que si declaramos una variable en ese lugar, esta s\u00f3lo ser\u00e1 utilizada al presionar el bot\u00f3n, no antes, no despu\u00e9s, 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\u00f3n y por lo general perduran hasta que esta finaliza.<\/p>\n\n\n\n<p>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\u00e1 reconocer si se debe crear global o local.<\/p>\n\n\n\n<p>No quisiera terminar el art\u00edculo sin decirles que nuestro joven del ejemplo afortunadamente aprob\u00f3 el examen, ya que hab\u00eda 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\u00fan vigentes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n:: Las variables, en t\u00e9rminos de programaci\u00f3n, como su nombre lo indica son datos que pueden variar su<\/p>\n","protected":false},"author":2,"featured_media":684,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,36],"tags":[58,38,210],"class_list":["post-683","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion","category-proyecto-blackhat","tag-programacion","tag-proyecto-blackhat","tag-variables"],"_links":{"self":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/683","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=683"}],"version-history":[{"count":1,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/683\/revisions"}],"predecessor-version":[{"id":685,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/683\/revisions\/685"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/media\/684"}],"wp:attachment":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=683"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=683"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}