Saltar al contenido principal

Costantes y Variables

Constantes y variables

Las constantes y variables son estructuras fundamentales en programación que permiten almacenar y manipular datos en la memoria de la computadora. Ambas representan espacios de memoria con un nombre asociado (identificador), pero se diferencian en que el valor de una variable puede cambiar durante la ejecución del programa, mientras que el valor de una constante permanece fijo e inmutable.


Definiciones

Concepto Descripción
Variable Espacio en memoria que almacena un valor que puede modificarse durante la ejecución del programa. Su nombre identifica la ubicación de memoria donde se guarda el dato.
Constante Espacio en memoria que almacena un valor que no puede modificarse una vez asignado. Su valor permanece fijo durante toda la ejecución del programa.

Diferencias clave

Característica Variable Constante
Mutabilidad Su valor puede cambiar Su valor NO puede cambiar
Asignación Se puede asignar múltiples veces Se asigna una sola vez (al declararla o inicializarla)
Uso típico Datos que evolucionan durante el programa (contadores, acumuladores, entradas de usuario) Valores fijos que no deben alterarse (PI, gravedad, configuraciones)
Seguridad Menor (puede modificarse accidentalmente) Mayor (protege contra modificaciones no deseadas)
Memoria Generalmente igual (depende del lenguaje y optimizaciones) Similar, pero el compilador puede optimizar su uso

Sintaxis según lenguajes

C / C++

// Variables
int edad = 25;
float altura = 1.75;
edad = 26;  // ✅ Válido: cambia el valor

// Constantes
const int DIAS_SEMANA = 7;
const float PI = 3.14159;
// DIAS_SEMANA = 8;  // ❌ Error: no se puede modificar una constante

Java

// Variables
int contador = 0;
contador = contador + 1;  // ✅ Válido

// Constantes (con final)
final double GRAVEDAD = 9.81;
// GRAVEDAD = 9.82;  // ❌ Error: no se puede reasignar

Python

## Variables
nombre = "Ana"
nombre = "Luis"  # ✅ Válido: la variable cambia

## Constantes (por convención, no hay const nativa)
PI = 3.14159  # Por convención, MAYÚSCULAS indican constante
## Python no impide modificar PI, es una convención del programador

JavaScript

// Variables
let edad = 25;
edad = 26;  // ✅ Válido

// Constantes
const IVA = 0.21;
// IVA = 0.22;  // ❌ Error: Assignment to constant variable

Declaración e inicialización

Término Descripción
Declarar Crear la variable/constante, definiendo su nombre y tipo (en lenguajes con tipado estático).
Inicializar Asignar un valor inicial por primera vez.
Asignar Dar un valor a una variable (para constantes solo ocurre al inicializar).
// Ejemplo en Java
int x;           // Declaración (sin inicializar)
x = 10;          // Asignación
int y = 20;      // Declaración + inicialización

final int MAX = 100;  // Declaración + inicialización de constante

Clasificación según ámbito

Por su ámbito (scope)

Tipo Descripción
Locales Declaradas dentro de una función o bloque. Solo existen dentro de ese ámbito.
Globales Declaradas fuera de cualquier función. Accesibles desde cualquier parte del programa.
De clase/instancia En POO, atributos que pertenecen a una clase o a objetos específicos.
## Ejemplo de ámbitos
global_var = 10  # Variable global

def mi_funcion():
    local_var = 5  # Variable local
    print(global_var)  # Puede acceder a global
    print(local_var)

## print(local_var)  # ❌ Error: local_var no existe fuera de la función

Nomenclatura y convenciones

Lenguaje Variable Constante
C/C++/Java camelCase o snake_case MAYÚSCULAS_CON_GUIONES
Python snake_case MAYÚSCULAS_CON_GUIONES (por convención)
JavaScript camelCase MAYÚSCULAS_CON_GUIONES (para const)
## Python - convenciones
nombre_usuario = "Carlos"  # variable
MAX_INTENTOS = 3            # constante (por convención)

Ejemplos prácticos

Ejemplo 1: Contador con variable

## Variable como contador
intentos = 0
while intentos < 3:
    print(f"Intento {intentos + 1}")
    intentos = intentos + 1  # La variable cambia
## Salida: Intento 1, Intento 2, Intento 3

Ejemplo 2: Constantes para valores fijos

// Constantes para valores que no cambian
public class Calculadora {
    static final double PI = 3.14159265359;
    static final double GRAVEDAD = 9.81;
    
    public double calcularAreaCirculo(double radio) {
        return PI * radio * radio;  // PI nunca cambia
    }
}

Ejemplo 3: Variables que almacenan entradas

// Variables para entrada de usuario
int edad;
printf("Ingrese su edad: ");
scanf("%d", &edad);  // La variable recibe el valor ingresado
edad = edad + 1;     // Luego se modifica
printf("El año que viene tendrá %d años", edad);

Buenas prácticas

Práctica Descripción
Usar constantes para valores fijos En lugar de escribir números "mágicos", usar constantes con nombre significativo.
Inicializar siempre las variables Evitar valores basura o comportamientos indefinidos.
Limitar el ámbito Declarar variables en el ámbito más pequeño posible.
Nombres descriptivos Usar nombres que indiquen el propósito: totalVentas en lugar de t o x.
Constantes en mayúsculas Seguir la convención de mayúsculas para constantes visibles.
// Mal ejemplo
double area = 3.14159 * r * r;  // ¿Qué es 3.14159?

// Buen ejemplo
final double PI = 3.14159;
double area = PI * radio * radio;

Comparación rápida

Aspecto Variable Constante
¿Puede cambiar su valor? ✅ Sí ❌ No
¿Cuándo se asigna? En cualquier momento Solo al declarar/inicializar
¿Cuándo usar? Datos que evolucionan Valores fijos y configuración
Ejemplos contador, acumulador, resultado PI, IVA, límites, configuraciones

En resumen: Las variables son espacios de memoria cuyo valor puede cambiar durante la ejecución, ideales para datos dinámicos como contadores o entradas de usuario. Las constantes almacenan valores fijos que no deben modificarse, mejorando la seguridad, legibilidad y mantenibilidad del código. Ambos son elementos esenciales para almacenar y manipular información en cualquier programa.