En este artículo te explicaremos en términos sencillos qué son las variables en programación y para qué sirven. En la mayoría de los lenguajes de programación nos encontramos con el concepto de variable. Las variables son herramientas poderosas que permiten manejar datos y optimizar el proceso de programación. Sigue leyendo para aprender qué son y cómo declarar variables para utilizarlas en funciones y operaciones de forma correcta.
¿Qué es una Variable en Programación y Para Qué Sirve?
Una variable representa un contenedor o un espacio en la memoria física o virtual de una computadora, donde se almacenan distintos tipos de datos (valores) durante la ejecución de un programa. Todo lo que guardamos en nuestros equipos de cómputo tienen una dirección de memoria y un tamaño (medido en bytes) asociados. Ya sea una imagen, un archivo .mp3, un documento de texto o PDF, todos y cada uno de ellos tienen un identificador único que nos permite ubicarlo y un tamaño con el cuál sabemos si podremos transportarlo a una memoria USB, enviarlo por correo electrónico, etc.
A cada variable se le asigna un nombre descriptivo o un identificador que se refiere al valor guardado. Los datos almacenados pueden cambiar de valor o ser constantes. Las variables sirven para guardar y recuperar datos, representar valores existentes y asignar unos nuevos.
Las variables permiten que los programadores se refieran a un valor con un nombre representativo en vez de tener que recordar este valor, lo que facilita muchas tareas complejas. Así, puedes usar valores almacenados en cálculos, operaciones de entrada y salida, comparaciones y otros tipos de procesamiento de datos. Por ejemplo, en un programa de contabilidad, una variable puede almacenar el saldo de una cuenta, y otra variable representa el monto de una transacción. A través de las variables, puedes realizar fácilmente operaciones matemáticas para actualizar el saldo de la cuenta.
Un elemento muy importante de todo lenguaje de programación es la variable, el cual es un contenedor de datos que posteriormente estaremos utilizando en el programa. No importa en qué momento, pero siempre podremos utilizar una variable para almacenar esta información y posteriormente utilizarla en lo que necesitemos. Este contenedor tiene una característica muy especial: es destructiva. Es decir, que si se almacena un dato y posteriormente se almacena uno nuevo, el dato anterior va a dejar de existir. Por lo cual, no es posible entonces recuperar esta información, así que debemos tener cuidado con los datos que vamos a estar almacenando en este tipo de variables.
Lea también: Temas interesantes para tesis de contabilidad
Características de una Variable
Una variable en programación se caracteriza por:
- El nombre único que la identifica dentro del programa.
- El valor guardado que puede cambiar durante la ejecución del programa.
- El tipo de datos que se almacena, como números, textos, estados booleanos, etc.
- El alcance, que puede ser global, si se puede acceder desde cualquier parte del programa, o local, si solo se puede acceder dentro de un bloque de código.
Las variables están formadas por 4 elementos principales: (1) tipo de dato, (2) dirección de memoria, (3) identificador o nombre y (4) valor. La dirección de memoria es comúnmente un número representado en hexadecimal tal como 2AF2C34E. Las direcciones de memoria son administradas por el sistema operativo y los programadores no necesitamos ver o calcular las direcciones de nuestras variables, ya que estas se pueden manipular o conocer a través del identificador de variable. El identificador es el nombre que usaremos para saber a qué variable asignaremos o desde qué variable leeremos la información que contiene.
Tipos de Variables y Datos
Los tipos de datos nos permiten identificar el tipo de información que tenemos almacenados en nuestros archivos. Cada carácter que tecleamos en nuestros equipos de cómputo tiene una representación numérica. Esta codificación puede consultarse en una tabla de código ASCII (American Standard Code for Information Interchange). Brevemente, este código usa 256 números, cada uno asociado a un carácter distinto. Los lenguajes de programación tienen un tipo de dato llamado char, el cual ocupa 1 byte (8 bits) en memoria. Esto permite que el tipo de dato char almacene un carácter como aquellos definidos en el código ASCII o que se ocupe para manipular datos numéricos como la edad de una persona, ya que el número 256 es más que suficiente para guardar la edad de cualquier persona.
Existen otros tipos de datos como int, float, double, long, etc. Además de que estos tipos de datos ocupan un espacio de memoria distinto, cada uno está diseñado para representar números de distinto tipo. Por ejemplo, int o integer en algunos lenguajes de programación ocupa 4 bytes y es útil para guardar números enteros, float y double permiten almacenar números con decimales y ocupan 8 y 16 bytes, respectivamente. El tipo long es muy similar al int pero tiene más capacidad, 8 bytes.
El tipo de dato será la referencia para saber qué información podremos guardar en nuestras variables. Los tipos de variables dependen del lenguaje de programación; cada lenguaje tiene sus propios tipos de datos y formas de definir variables. El tipado puede ser estático, cuando los tipos de variables se establecen a la hora que se declaren, o dinámico, cuando el tipo se determina y se asigna durante la ejecución del programa.
Lea también: Obtén tu RFC de Papelería
Algunos de los tipos de variables más comunes son:
- Variables numéricas: Almacenan números enteros (como int) o números con decimales (como float o double).
- Variables de caracteres: Representan símbolos o caracteres (como char).
- Variables de cadena de caracteres: Contienen palabras y textos (como string).
- Variables lógicas o booleanas: Sirven para almacenar valores lógicos (verdadero o falso).
Tabla de Tipos de Datos Numéricos Comunes (Ejemplo en C)
El lenguaje C posee una notable cantidad de tipos de datos enteros y de punto flotante, con objeto de abarcar distintas gamas de alcances con distintos consumos de memoria.
| Tipo de Dato | Descripción | Tamaño Aproximado (bytes) | Rango de Valores (Ejemplo) |
|---|---|---|---|
| char | Carácter o entero pequeño | 1 | -128 a 127 o 0 a 255 |
| short | Entero corto | 2 | -32768 a 32767 |
| int | Entero | 4 | -2,147,483,648 a 2,147,483,647 |
| long | Entero largo | 8 | -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 |
| float | Número de punto flotante (precisión simple) | 4 (a veces 8) | Aprox. ±3.4e-38 a ±3.4e+38 |
| double | Número de punto flotante (doble precisión) | 8 (a veces 16) | Aprox. ±1.7e-308 a ±1.7e+308 |
| long long | Entero muy largo | 8 | Rango muy amplio |
| unsigned long long | Entero muy largo sin signo | 8 | Rango muy amplio positivo |
¿Cómo Declarar una Variable?
Antes de usar una variable, debes declararla reservando un espacio necesario en la memoria de la computadora para almacenar su valor. La forma de crear una variable en programación varía en diferentes lenguajes. Los lenguajes de alto nivel facilitan mucho la creación y mantenimiento de variables, permitiendo acceder a una variable mediante un nombre y no mediante una dirección de memoria.
Para un ser humano, resulta mucho más fácil recordar un nombre que un número. En este sentido, lo único que necesita conocer un compilador para crear una variable es el tipo al que pertenece y el nombre que se le quiere dar; el compilador se encarga de mantener la tabla de variables y de asociar a cada nombre la dirección correspondiente.
Para declarar una variable usando la sintaxis básica, sigue estos pasos:
Lea también: Finalidad de los impuestos
- Elige un nombre que sea descriptivo y fácil de entender.
- Especifica el tipo de dato que la variable va a almacenar, como int para valores numéricos enteros, float para números con decimales, char si trabajas con un solo carácter, string si quieres almacenar un texto, boolean para guardar un valor booleano, etc. En varios de los lenguajes es necesario identificar el tipo de dato con el cual estaremos trabajando, puesto que esto me va a permitir a mí tener una identificación del tipo de dato que voy a trabajar, y así, cuando llegue a tener algún error voy a poder identificarlo de una manera más rápida.
Es importante destacar que en algunos lenguajes de programación, como Python y PHP, no es necesario declarar explícitamente el tipo de dato de una variable antes de asignar un valor a ella, ya que el tipo se determina automáticamente a la hora de ejecutar el programa (tipado dinámico).
Reglas para Nombrar Variables
El nombre de las variables sigue un conjunto de reglas que se deben respetar para que los compiladores e intérpretes de lenguajes de programación las reconozcan como válidas. Ten en cuenta las siguientes reglas:
- Cada identificador de la variable debe ser único dentro de un programa.
- El primer carácter de un identificador de variable debe ser una letra o un guion bajo (_). No puede ser un número ni un carácter especial ($, #, /, &, etc.).
- Evita usar palabras claves reservadas por el lenguaje de programación, por ejemplo, var, function, if, for, while, main, int, include, import, switch, etc.
- Los nombres de las variables no pueden empezar ni terminar con un punto.
- Las variables no permiten espacios entre palabras. Si se desea poner un nombre a nuestras variables compuesto por dos o más palabras, cada palabra no debe separarse con espacios, sino con guiones bajos o utilizando una forma de escritura conocida como "CamelCase". Esta última significa que la primera letra del primer nombre va en minúscula y la primera letra de los subsecuentes nombres va en mayúsculas (ej: nombreCompleto).
- Dos variables no pueden llamarse igual. Pero se pueden añadir números al final de una misma palabra para distinguirlas, por ejemplo var1, var2, etc.
- Téngase en cuenta que no se admiten signos diacríticos (acentos, tildes, etc.) y que las letras mayúsculas y minúsculas no se consideran equivalentes en algunos contextos (lo que significa que Nombre y nombre podrían ser variables distintas).
Nombrar variables es una de las habilidades más importantes y complejas en la programación. Cuando regresamos a nuestro código luego de un tiempo, es mucho más fácil encontrar información que está bien etiquetada. Por favor, dedica tiempo para pensar un nombre correcto para una variable antes de declararla. Crea nombres que describan al máximo lo que son y sean concisos. Ejemplos de nombres malos son data y value.
Alcance (Scope) de las Variables
El alcance de una variable define dónde puede ser accedida y utilizada dentro del programa. Una variable puede ser global si se puede acceder desde cualquier parte del programa, o local si solo se puede acceder dentro de un bloque de código.
- Variables Locales: Aquellas variables que se declaren dentro de una función o un bloque de código (como un bucle for o while) serán variables locales a ese contexto. Por ejemplo, las variables declaradas entre las llaves de main() en C, serán locales de esa función y resultarán invisibles para cualquier otro subprograma. Obsérvese que en las funciones se pueden definir variables locales (como a y b); estas variables locales pertenecen al espacio de nombres de cada función, y por tanto se trata de variables distintas e independientes aunque se les dé igual nombre.
- Variables Globales: Aquellas variables que se declaren fuera de toda función, generalmente al inicio del archivo, serán variables globales dentro del fichero en que reside el programa. Esto es, todas las funciones declaradas dentro de ese fichero podrán utilizar las variables globales como si fuesen propias; esto sirve para intercambiar información entre funciones, pero puede suponer un riesgo de corrupción de información si una función hace uso inadvertidamente de una variable global en lugar de emplear una variable local.
Para que lo declarado (la variable, prototipo o lo que sea) resulte visible para otro objeto del mismo ámbito local o global, es necesario que la declaración sea cronológicamente previa al lugar en que se quiera utilizar.
Asignación e Inicialización de Valores
Una vez declarada una variable, se le puede asignar un valor. Para asignarle un valor a tu variable, aplica el operador de asignación “=”, que establece la relación entre el identificador de la variable y el valor que tiene almacenado. Una vez declarada tu variable, puedes asignar o cambiar de valor en cualquier momento durante la ejecución del programa. Finalmente, las variables guardan un valor (carácter, número entero o número con decimales) que se puede asignar a la variable al momento de su declaración o en cualquier momento posterior.
Cuando se declara una variable, su contenido no está definido en general; téngase en cuenta que lo que ha hecho el compilador es reservar espacio y es muy posible que se estén reutilizando posiciones de memoria empleadas anteriormente por otro programa. Esas posiciones pueden contener cualquier trama de bits, que podría corresponder a un valor sin sentido para nuestros propósitos. Si utilizamos la variable sin darle valor nosotros mismos, corremos el riesgo de que adopte un valor incorrecto. Consiguientemente, es preciso dar valores a las variables antes de utilizarlas. Evidentemente, el valor asignado tiene que pertenecer al tipo de la variable declarada.
En el caso de que la variable sea estructurada, es preciso escribir los valores correspondientes entre llaves, y separados mediante comas. La asignación de valores a los distintos elementos de la variable estructurada se realiza por orden cronológico (por filas, para ser exactos), y por tanto será preciso respetar el número y tipo de los elementos que formen esa variable estructurada.
Ejemplos de Declaración de Variables en Diferentes Lenguajes
Declaración de Variables en C
Vamos a crear un programa que declare una variable tipo int llamada edad y nos muestre un texto en pantalla. En C, el compilador se asegura de que las operaciones realizadas con estas variables sean las adecuadas para su tipo; por ejemplo, no permitirá almacenar un char en un float, ni concatenar dos int.
En C, las variables pueden ser declaradas como locales (dentro de una función como main()) o globales (fuera de cualquier función). El compilador crea automáticamente la tabla de variables, sin que el usuario tenga que preocuparse de las direcciones en que comienzan las variables, ni tampoco de su extensión.
Entrada y Salida Estándar en C
El lenguaje C carece de operaciones propias de E/S (Entrada/Salida); esto se hizo para hacerlo independiente de las máquinas en que se utilizaría, y exige crear para cada máquina las funciones de entrada/salida necesarias. Esas funciones se declaran en un archivo de encabezado, stdio.h, y esta es la razón por la cual se incluye ese archivo en todos los programas que contengan operaciones de entrada/salida. De manera similar, los identificadores std::cout y std::cin, usados en C++ para la salida y entrada estándar respectivamente, requieren la inclusión de bibliotecas externas.
Un ejemplo de salida usando printf():
printf ("La edad es %d años\n", edad);
Esta instrucción indica al ordenador que proceda a mostrar el contenido de la variable edad por pantalla. La cadena_de_formato (el primer argumento) es una cadena de caracteres que indica la forma en que hay que escribir en pantalla las variables. Si la cadena de formato tiene indicadores de formato (que empiezan por el signo %), el primer indicador se empleará para dar formato a la primera variable, el segundo a la segunda, y así sucesivamente. Por ejemplo, %d se usa para enteros.
Las operaciones de lectura de enteros son similares a las de escritura, utilizando funciones como scanf(). scanf() emplea una colección de direcciones de variables como destino de la información leída desde el teclado. Si se lee más información de la que cabe en la variable señalada por una dirección, los resultados son imprevisibles y generalmente negativos.
Declaración de Variables en JavaScript
En JavaScript, la mayor parte del tiempo, una aplicación necesita trabajar con información. Una variable es un “almacén con un nombre” para guardar datos. Para el caso de JavaScript, solamente será necesario escribir la palabra reservada var, let o const y escribir el nombre de la variable. Por ejemplo, si usamos la palabra 'nombre', podemos asignar el primer valor, que será "javascript".
var nombre = "javascript";
La palabra clave var es la declaración de variable de vieja escuela. Normalmente no se utiliza en absoluto en el desarrollo moderno, prefiriéndose let para variables que pueden cambiar y const para variables cuyos valores no cambiarán, llamadas "constantes".
Declaración de Variables en PHP
Con PHP no es tan distinto; lo único que tenemos que utilizar es el símbolo de pesos ($) seguido de la palabra que va a contener el nombre de la variable. Por ejemplo, para una variable llamada 'nombre', se puede inicializar de la siguiente manera:
$nombre = "PHP";
Debemos tener cuidado aquí, pues PHP es muy estricto cuando solicita un punto y coma para terminar cada sentencia.
Declaración de Variables en Ruby
Si se va a trabajar con Ruby, se pueden declarar variables anteponiendo el carácter arroba (@) para variables de instancia. Por ejemplo, dentro de un controlador, se podría escribir:
@nombre = "Ruby on Rails";
La palabra que se utilice puede cambiar dependiendo del contexto en el cual se esté trabajando.
Declaración de Variables en Swift
Al momento de trabajar con Swift, se declara una variable utilizando la palabra reservada var. Es importante también declararle un tipo, por ejemplo, String para una cadena de texto, y se puede inicializar la variable al momento de la declaración.
var nombre: String = "SWIFT";
Comentarios en el Código
El concepto de comentario, presente en todos los lenguajes de programación, tiene una importancia mayor que la que pudiera otorgársele a primera vista. Un comentario es un mensaje del programador para otros programadores posteriores, o quizá para sí mismo al cabo de algún tiempo. En este mensaje se justifican las decisiones de codificación tomadas, esto es, se exponen las razones que impulsan al programador a emplear una cierta estructura de programa, frente a otras posibles.
Estas explicaciones son valiosísimas, porque suele ser difícil interpretar el código construido por un desconocido cuando, además, el algoritmo que pretende implementar no resulta especialmente claro. En los comentarios de programa se debe incluir toda información que pueda resultar necesaria para posteriores programadores que necesiten comprender nuestro código, bien sea para emplear sus resultados o para introducir modificaciones. Estos comentarios forman parte de la documentación del programa, y describen internamente el código fuente.
En C, los comentarios se denotan encerrando el texto correspondiente entre los signos /* y */. Por ejemplo:
/* Esto es un comentario de varias líneas. */
O bien, para comentarios de una sola línea, se puede usar // en C++ y C99 en adelante.
Errores Comunes y Buenas Prácticas
Como programadores hemos de buscar programas “100% predecibles”, en los que no se pueda producir que "sea difícil prever lo que va a suceder". Por tanto intentaremos que la declaración y asignación de contenidos a variables se ajuste a las normas previstas. En el curso Bases de la programación nivel I de aprenderaprogramar.com se indican unas normas y pautas básicas para asignar contenido a variables.
¿Qué ocurre cuando incumplimos las previsiones del compilador para asignar contenidos a variables? Cuando hacemos algo no esperado, como asignar un valor fuera de rango, asignar un valor que no concuerda con el tipo de la variable, sumar variables numéricas con alfanuméricas, asignar decimales a un número entero, etc., puede saltar un error o tener resultados imprevisibles. Por ejemplo, una variable que se declare como tipo int pero a la que se asigna un contenido numérico real con dos decimales no da lugar a un error, pero sí a una pérdida de información derivada de que el número decimal se va a truncar a un entero.
Téngase en cuenta que en general en programación no se considera equivalente 655,34 (con coma como separador decimal) con 655.34 (con punto como separador decimal), y el formato correcto depende del lenguaje y la configuración regional. Otro riesgo puede ser la asignación automática al cometer errores ortográficos al referirse a una variable, creando implícitamente una nueva variable en lenguajes que lo permiten, lo que lleva a comportamientos inesperados.
Elobjetivo de este procedimiento es no perder nunca información por efectuar operaciones con tipos de menor precisión que pudieran dar lugar a desbordamientos. Si el programa sigue su ejecución sin mostrar ninguna indicación de fallo, pero los resultados carecen de sentido (como al sobrepasar el rango máximo de un tipo entero), será preciso asegurarse de que las operaciones realizadas no puedan dar lugar a este tipo de circunstancias. Ciertamente, C ofrece tipos de datos enteros de alcance tan grande que sería preciso abordar problemas de Física o de Matemáticas para alcanzar sus límites.
tags: #declarar #variable #tipo #archivo #programación #ejemplos
