Saltar al contenido
schedule 10 min Lógica de Programación

Variables y datos

En la lección anterior aprendiste que un algoritmo es una lista de pasos para resolver un problema. Pero hay un detalle: la mayoría de problemas necesitan recordar información durante el proceso. Cuando preparas un café, necesitas saber cuántas cucharadas de azúcar quiere la persona. Cuando el GPS calcula una ruta, necesita recordar tu destino. Esa información hay que guardarla en algún sitio.

Ese "sitio" son las variables.

¿Qué es una variable?

Imagina una caja con una etiqueta. La etiqueta es el nombre de la variable y lo que hay dentro es el valor. Puedes abrir la caja para ver qué hay, puedes cambiar lo que hay dentro, y puedes usar la etiqueta para referirte a ella sin tener que recordar el contenido exacto.

CREAR variable nombre CON VALOR "María"
CREAR variable edad CON VALOR 27
CREAR variable tieneCarne CON VALOR VERDADERO

Ahora tenemos tres cajas:

  • Una caja etiquetada nombre que contiene el texto "María".
  • Una caja etiquetada edad que contiene el número 27.
  • Una caja etiquetada tieneCarne que contiene VERDADERO (sí o no).

Cada vez que en nuestro algoritmo escribimos nombre, la máquina va a la caja, la abre y saca "María". No necesitamos repetir "María" por todo el algoritmo. Usamos la etiqueta y listo.

Tipos de datos: ¿qué puede ir dentro de la caja?

No todo es lo mismo. Un número no es lo mismo que un texto, y un texto no es lo mismo que un verdadero/falso. Los tres tipos básicos de datos son:

Números

Valores con los que puedes hacer operaciones matemáticas: sumar, restar, multiplicar, dividir.

CREAR variable precio CON VALOR 9.99
CREAR variable cantidad CON VALOR 3
CREAR variable temperatura CON VALOR -5
CREAR variable puntuacion CON VALOR 0

Texto (cadenas de caracteres)

Cualquier secuencia de letras, números o símbolos entre comillas. No puedes hacer matemáticas con ellos, pero sí puedes unirlos, buscar dentro de ellos o contar sus letras.

CREAR variable ciudad CON VALOR "Barcelona"
CREAR variable email CON VALOR "[email protected]"
CREAR variable codigoPostal CON VALOR "08001"
CREAR variable frase CON VALOR "Hoy hace un día genial"

Ojo: "08001" es texto, no un número. Aunque tiene dígitos, no tiene sentido sumarle o restarle nada. Los códigos postales, números de teléfono y DNIs son siempre texto.

Booleanos (verdadero o falso)

Solo tienen dos valores posibles: VERDADERO o FALSO. Son como un interruptor de luz: encendido o apagado. Se usan para representar estados y tomar decisiones.

CREAR variable estaLloviendo CON VALOR FALSO
CREAR variable tienePermiso CON VALOR VERDADERO
CREAR variable juegoTerminado CON VALOR FALSO
CREAR variable esMayorDeEdad CON VALOR VERDADERO

Nombrar variables: un arte infravalorado

El nombre de una variable debería explicar qué contiene sin necesidad de mirar su valor. Esto parece una tontería ahora, pero cuando tu algoritmo tiene 50 variables, tener nombres claros es la diferencia entre entenderlo y tirarte de los pelos.

MAL (nombres confusos):
CREAR variable x CON VALOR 25
CREAR variable d CON VALOR "Carlos"
CREAR variable flag CON VALOR VERDADERO

BIEN (nombres descriptivos):
CREAR variable edadUsuario CON VALOR 25
CREAR variable nombreCliente CON VALOR "Carlos"
CREAR variable pedidoCompletado CON VALOR VERDADERO

Reglas de oro para nombrar variables:

  • Usa nombres que describan el contenido: precioTotal en vez de pt.
  • Evita abreviaturas crípticas: cantidadProductos en vez de cp.
  • Los booleanos deben sonar como preguntas: estaActivo, tieneSaldo, esVisible.
  • Sé consistente: si empiezas con nombreUsuario, no uses luego apellido_del_usuario.

Ejemplo: ficha de personaje de un RPG

Imagina que estás diseñando un juego de rol. Cada personaje necesita una ficha con sus datos. Esa ficha no es más que un conjunto de variables:

ALGORITMO: Crear ficha de personaje

CREAR variable nombrePersonaje CON VALOR "Elena la Valiente"
CREAR variable clase CON VALOR "Guerrera"
CREAR variable nivel CON VALOR 1
CREAR variable puntosDeVida CON VALOR 100
CREAR variable puntosDeAtaque CON VALOR 15
CREAR variable puntosDeDefensa CON VALOR 10
CREAR variable oro CON VALOR 50
CREAR variable estaVivo CON VALOR VERDADERO

MOSTRAR "=== FICHA DE PERSONAJE ==="
MOSTRAR "Nombre: " + nombrePersonaje
MOSTRAR "Clase: " + clase
MOSTRAR "Nivel: " + nivel
MOSTRAR "Vida: " + puntosDeVida
MOSTRAR "Ataque: " + puntosDeAtaque
MOSTRAR "Defensa: " + puntosDeDefensa
MOSTRAR "Oro: " + oro
MOSTRAR "Estado: " + estaVivo
FIN

Cada dato del personaje tiene su propia caja etiquetada. Si Elena sube de nivel, no creamos una Elena nueva. Simplemente cambiamos el contenido de la caja nivel.

Ejemplo: datos de una playlist de música

Piensa en la canción que se está reproduciendo ahora mismo en tu reproductor de música favorito. ¿Qué información necesita el reproductor para funcionar?

ALGORITMO: Información de la canción actual

CREAR variable nombreCancion CON VALOR "Bohemian Rhapsody"
CREAR variable artista CON VALOR "Queen"
CREAR variable album CON VALOR "A Night at the Opera"
CREAR variable duracionSegundos CON VALOR 354
CREAR variable segundoActual CON VALOR 0
CREAR variable volumen CON VALOR 75
CREAR variable estaReproduciendo CON VALOR FALSO
CREAR variable esFavorita CON VALOR VERDADERO

MOSTRAR artista + " - " + nombreCancion
MOSTRAR "Duración: " + duracionSegundos + " segundos"
MOSTRAR "Volumen: " + volumen + "%"
FIN

Cada variable tiene un propósito claro. El nombre te dice exactamente qué contiene. Y observa los tipos: nombreCancion es texto, duracionSegundos es un número, y estaReproduciendo es un booleano.

Las variables cambian (por eso se llaman "variables")

Lo más potente de las variables es que su valor puede cambiar durante la ejecución del algoritmo. Volvamos al RPG: cuando Elena recibe daño en combate, sus puntos de vida bajan:

ALGORITMO: Combate básico

CREAR variable puntosDeVida CON VALOR 100
CREAR variable estaVivo CON VALOR VERDADERO

MOSTRAR "Elena tiene " + puntosDeVida + " puntos de vida"

// Un enemigo ataca y hace 30 de daño
CAMBIAR puntosDeVida A puntosDeVida - 30
MOSTRAR "Elena recibe un golpe. Vida: " + puntosDeVida
// Ahora puntosDeVida vale 70

// Otro ataque de 50 de daño
CAMBIAR puntosDeVida A puntosDeVida - 50
MOSTRAR "Otro golpe. Vida: " + puntosDeVida
// Ahora puntosDeVida vale 20

// Elena bebe una poción que recupera 40 de vida
CAMBIAR puntosDeVida A puntosDeVida + 40
MOSTRAR "Elena usa una poción. Vida: " + puntosDeVida
// Ahora puntosDeVida vale 60

SI puntosDeVida <= 0 ENTONCES
    CAMBIAR estaVivo A FALSO
    MOSTRAR "Elena ha caído en combate"
SI NO
    MOSTRAR "Elena sigue en pie"
FIN

La variable puntosDeVida empezó en 100 y fue cambiando a lo largo del algoritmo: 100, 70, 20, 60. La caja es la misma, pero el contenido va cambiando según lo que ocurre.

De la misma forma, en la playlist de música, segundoActual va subiendo cada segundo que la canción se reproduce, y estaReproduciendo cambia entre VERDADERO y FALSO cada vez que pulsas pausa o play.

Resumen

  • Una variable es una caja etiquetada que guarda un valor. El nombre es la etiqueta, el contenido es el valor.
  • Hay tres tipos básicos de datos: números, texto y booleanos (verdadero/falso).
  • Los nombres de las variables deben ser descriptivos: que expliquen qué contienen sin necesidad de ver el valor.
  • Las variables pueden cambiar de valor durante la ejecución de un algoritmo.
  • Elegir el tipo de dato correcto importa: un código postal es texto, no un número.

En la siguiente lección vas a aprender operadores y comparaciones: cómo hacer cálculos con números y cómo comparar valores para tomar decisiones.

code

Define las variables de un pedido de pizza

Básico schedule 10 min

Imagina que trabajas en una pizzería y necesitas diseñar el sistema de pedidos. Con papel y bolígrafo, define todas las variables necesarias para representar un pedido completo. Debe incluir:

  • Al menos 3 variables de texto (nombre del cliente, dirección, tipo de pizza, etc.).
  • Al menos 3 variables numéricas (precio, cantidad, número de pedido, etc.).
  • Al menos 2 variables booleanas (pagado, entregado, lleva extra de queso, etc.).
  • Para cada variable, escribe: el nombre, el tipo de dato y un valor de ejemplo.

Después, escribe un breve algoritmo que simule el proceso del pedido: el cliente pide, se calcula el precio total, se confirma el pago y se marca como entregado. Las variables deben cambiar de valor durante el proceso.

lightbulb Pistas

Piensa en todo lo que necesitarías saber para entregar una pizza: ¿quién la pide? ¿dónde la llevo? ¿qué pizza quiere? ¿cuántas? ¿cuánto cuesta cada una? ¿ha pagado ya? ¿lleva algún extra? No olvides que el precio total se calcula multiplicando el precio unitario por la cantidad, y que variables como estaPagado empiezan en FALSO y cambian a VERDADERO cuando el cliente paga.

Newsletter

Recibe nuevos cursos, actualizaciones, artículos del blog y promociones en tu correo.