Variables: ¿Qué son, qué tipos hay y cuáles son sus ámbitos?

Variables:

Una variable está formada por un espacio en el sistema de almacenaje (memoria principal de un ordenador) y un nombre simbólico (un identificador) que está asociado a dicho espacio. Ese espacio contiene una cantidad de información conocida o desconocida, es decir un valor. El nombre de la variable es la forma usual de referirse al valor almacenado: esta separación entre nombre y contenido permite que el nombre sea usado independientemente de la información exacta que representa. El identificador, en el código fuente de la computadora puede estar ligado a un valor durante el tiempo de ejecución y el valor de la variable puede por lo tanto puede cambiar durante el curso de la ejecución del programa. El concepto de variables en computación puede no corresponder directamente al concepto de variables en matemática. En computación una variable puede ser utilizada en un proceso repetitivo: puede asignársele un valor en un sitio, ser luego utilizada en otro, más adelante reasignársele un nuevo valor para más tarde utilizarla de la misma manera. Procedimientos de este tipo son conocidos con el nombre de iteración.
Los compiladores deben reemplazar los nombres simbólicos de las variables con la real ubicación de los datos. Mientras que el nombre, tipo y ubicación de una variable permanecen fijos, los datos almacenados en la ubicación pueden ser cambiados durante la ejecución del programa.
Si un programa de computadora fuera un edificio, entonces las variables serían los ladrillos que constituyen su base. Las variables son componentes críticos de cualquier programa. Este no podría ser efectivo sin variables.

Componentes:

  • Nombre: Identificador de la variable. Sirve para referenciarla.
  • Contenido: Valor de la variable.
  • Tipo de Dato: Especifica que tipo de dato es.

Declaración:

Dependiendo del Lenguaje de Programación el orden de los componentes para declarar una variable puede variar, un ejemplo del orden sería el siguiente:

<Tipo_de_Dato> <Nombre> = <Contenido>

Algunos lenguajes de programación requieren que se declare una variable antes de usarla. Otros permiten definir el valor de una variable sin tener que declararla primero.

 

Reglas para elegir un buen Nombre:

  • Se puede usar combinaciones de letras mayúsculas y minúsculas, dígitos y guión bajo.
  • Debe de iniciar con una letra.
  • No debe ser una palabra reservada (Ej: if, else, while, for…)
  • Tiene que ser significativa y con relación al objeto que representa.
  • Tener en cuenta la longitud máxima de caracteres.

Tipos de Datos:

El tipo de un dato es el conjunto de valores que puede tomar una variable durante la ejecución del programa. Si se le intenta dar un valor fuera del conjunto se producirá un error.
La asignación de tipos a los datos tiene dos objetivos principales:

  • Por un lado, detectar errores en las operaciones
  • Por el otro, determinar cómo ejecutar estas operaciones

Un lenguaje fuertemente tipeado es aquel en el que todos las variables deben de tener un tipo declarado explícitamente, dicho tipo no puede ser cambiado nunca, no podemos operar entre distintos tipos y además existen ciertas restricciones en las expresiones en cuanto a los tipos de datos que en ellas intervienen. Una gran ventaja de los lenguajes fuertemente tipados es que se gasta mucho menos esfuerzo en depurar (corregir) los programas gracias a la gran cantidad de errores que detecta el compilador.

Un lenguaje débilmente tipado es en donde no indicamos el tipo de variable al declararla. La verdadera diferencia es que podemos asignar, por ejemplo, un valor entero a una variable que anteriormente tenía una cadena. También podemos operar aritméticamente con variables de distintos tipos. Por ejemplo, sumar “x” + 5.
Las ventajas que tiene es que nos olvidamos de declarar el tipo, se puede cambiar el tipo de la variable durante la marcha, menos código.

 

Clasificaciones en los tipos de datos:

Existen muchas clasificaciones para los tipos de datos. Una de estas es la siguiente:

  • Dinámicos
  • Estáticos
    • Tipo cadena
    • Estructurados
    • Simples
      • Ordinales
      • No-ordinales

Tipos dinámicos: Dentro de esta categoría entra sólamente el tipo puntero. Este tipo te permite tener un mayor control sobre la gestión de memoria en tus programas. Con ellos puedes manejar el tamaño de tus variables en tiempo de ejecución, o sea, cuando el programa se está ejecutando. Los punteros quizás sean el concepto más complejo a la hora de aprender un lenguaje de programación.

Tipos estáticos: Casi todos los tipos de datos son estáticos, la excepción son los punteros. Que un tipo de datos sea estático quiere decir que el tamaño que ocupa en memoria no puede variar durante la ejecución del programa. Es decir, una vez declarada una variable de un tipo determinado, a ésta se le asigna un trozo de memoria fijo, y este trozo no se podrá aumentar ni disminuir.

Tipo Cadena: Las cadenas son variables que contienen texto, y vienen en dos tipos: Cadena de longitud fija, se declara cuántos caracteres va a contener esa cadena. Y cadena de longitud variable, es aquella en la que no se define la longitud.

Tipos estructurados: Mientras que una variable de un tipo simple sólo referencia a un elemento, los estructurados se refieren a colecciones de elementos. Las colecciones de elementos que aparecen al hablar de tipos estructurados son muy variadas: tenemos colecciones ordenadas que se representan mediante el tipo array, colecciones sin orden mediante el tipo conjunto, e incluso colecciones que contienen otros tipos, son los llamados registros.

Tipos simples: Como su nombre indica son los tipos básicos. Son los más sencillos y los más fáciles de aprender. Los tipos simples más básicos son: entero, lógico, carácter y real. Y la mayoría de los lenguajes de programación los soportan, no como ocurre con los estructurados que pueden variar de un lenguaje a otro.

Tipos ordinales: Dentro de los tipos simples, los ordinales son los más abundantes. De un tipo se dice que es ordinal porque el conjunto de valores que representa se puede contar, es decir, podemos establecer una relación uno a uno entre sus elementos y el conjunto de los números naturales. Dentro de los tipos simples ordinales, los más importantes son:

  • El tipo entero.
  • El tipo lógico (verdadero o falso).
  • El tipo carácter.

Tipos no-ordinales: Simplificando, podríamos reducir los tipos simples no-ordinales al tipo real. Este tipo nos sirve para declarar variables que pueden tomar valores dentro del conjunto de los números reales. A diferencia de los tipos ordinales, los no-ordinales no se pueden contar. No se puede establecer una relación uno a uno entre ellos y los números naturales. Dicho de otra forma, para que un conjunto se considere ordinal se tiene que poder calcular la posición, el anterior elemento y el siguiente de un elemento cualquiera del conjunto.¿Cuál es el sucesor de 5.12? Será 5.13, o 5.120, o 5.121, …

 

Alcance de las Variables:

A través del alcance se determina hasta dónde se puede leer o cambiar el valor de una variable.
Según el ámbito donde se definen podemos encontrar:

  • Variables Globales: Se declaran y definen en el programa principal y su alcance es amplio, pues tiene influencia tanto el programa principal como en todos los subprogramas (funciones o procedimientos).
  • Variables Locales: Se declaran y definen en el subprograma, pero existe sólo dentro del subprograma y normalmente desaparece cuando se regresa el control al programa principal.