Representación de información con variables: valores, tipos y estado

Capítulo 1

Tiempo estimado de lectura: 5 minutos

+ Ejercicio

¿Qué es una variable y para qué sirve?

Una variable es un contenedor con nombre que guarda un valor. En lógica de programación, se usa para representar hechos simples del mundo real que pueden ser consultados, comparados o actualizados mientras el programa se ejecuta.

  • Edad: edad = 28
  • Precio: precio = 19.99
  • Temperatura: temperatura = 36.5
  • Estado de una tarea: tarea_completada = false

La idea clave es que el nombre de la variable permite referirse al dato de forma estable, aunque el valor pueda cambiar con el tiempo.

Modelo mental: “etiqueta + valor”

Imagina una etiqueta (el nombre) pegada a una caja (la variable). Dentro está el contenido (el valor). Puedes abrir la caja y cambiar el contenido, pero la etiqueta sigue siendo la misma.

Valores escalares: número, texto y booleano

En este capítulo trabajaremos con valores escalares: valores “simples” que no contienen colecciones. Los más comunes son:

Tipo de valorEjemplosUso típico
Número0, 15, 3.14Cálculos, límites, contadores
Texto (cadena)"Ana", "Pendiente"Nombres, etiquetas, mensajes
Booleanotrue, falseDecisiones, banderas de estado

Cómo el tipo afecta decisiones lógicas

Las decisiones del programa suelen depender de comparaciones y condiciones. El tipo del valor determina qué comparaciones tienen sentido y cómo se interpretan.

Continúa en nuestra aplicación.
  • Escuche el audio con la pantalla apagada.
  • Obtenga un certificado al finalizar.
  • ¡Más de 5000 cursos para que explores!
O continúa leyendo más abajo...
Download App

Descargar la aplicación

1) Números: comparaciones y rangos

Con números es común validar rangos y aplicar reglas:

edad = 17 if edad >= 18 then permitir_acceso = true else permitir_acceso = false end

Aquí la condición edad >= 18 solo tiene sentido porque edad es numérica.

2) Texto: igualdad y validación de opciones

Con texto se compara por igualdad (o pertenencia a un conjunto de opciones):

estado = "pendiente" if estado == "completada" then mostrar = "Listo" else mostrar = "Aún falta" end

Una buena práctica es mantener consistencia en los valores posibles (por ejemplo, siempre en minúsculas: "pendiente", "completada").

3) Booleanos: condiciones directas

Los booleanos están hechos para condiciones. Evita comparaciones redundantes:

  • Preferible: if tarea_completada then ...
  • Evitar: if tarea_completada == true then ...
tarea_completada = false if not tarea_completada then mostrar = "Pendiente" end

Errores típicos por mezclar tipos

Cuando el tipo no coincide con lo que la lógica espera, aparecen fallos de validación o comparaciones que nunca se cumplen.

  • Texto vs número: "10" no es lo mismo que 10.
  • Texto con espacios: "Ana" es distinto de "Ana ".
  • Booleano mal usado: usar "true" (texto) en vez de true (booleano).

Buenas prácticas de nombrado: significado y consistencia

Un buen nombre reduce errores y hace que el pseudocódigo se lea como una explicación del problema.

Reglas prácticas

  • Que describa el significado: precio_total mejor que x.
  • Consistencia de estilo: usa un formato y mantenlo (por ejemplo, snake_case: temperatura_maxima).
  • Evita abreviaturas ambiguas: cant puede ser “cantidad” o “canto”. Mejor cantidad_productos.
  • Booleanos como preguntas: es_mayor_de_edad, tiene_descuento, esta_activa.
  • Unidades cuando aplique: tiempo_segundos, peso_kg, temperatura_c.

Ejemplos de nombres mejorados

Nombre débilNombre recomendadoMotivo
aedadExplica qué representa
pprecio_unitarioEvita ambigüedad
okpago_aprobadoBooleano con significado
ttemperatura_cIncluye unidad

Estado del programa: cómo cambian las variables

El estado de un programa es el conjunto de valores actuales de sus variables en un momento dado. Cada asignación u operación puede modificar ese estado. Entender el estado es esencial para razonar paso a paso y predecir resultados.

Asignación: reemplaza el valor anterior

Una asignación no “suma” ni “acumula” por sí misma: reemplaza el valor anterior.

temperatura = 20 temperatura = 25

Después de la segunda línea, el estado es temperatura = 25. El 20 ya no está.

Actualización: usar el valor actual para calcular el nuevo

Muchas variables cambian en función de su valor previo:

contador = 0 contador = contador + 1 contador = contador + 1

El valor final es 2 porque cada línea usa el estado anterior para producir el siguiente.

Implicación para el razonamiento

Para entender un algoritmo, conviene leerlo como una secuencia de “fotos” del estado. Si te saltas una actualización, el resultado final puede parecer “mágico” o incorrecto.

Trazado manual: tabla de variables (guía paso a paso)

El trazado manual consiste en simular la ejecución línea por línea y registrar cómo cambian las variables. Esto ayuda a detectar errores de lógica, condiciones mal planteadas o actualizaciones inesperadas.

Cómo hacer una tabla de variables

  • Escribe el pseudocódigo.
  • Identifica las variables que aparecen.
  • Crea una tabla con columnas: paso, línea ejecutada y una columna por variable.
  • Ejecuta mentalmente cada línea y actualiza la tabla.

Ejercicio 1: contador con condición

contador = 0 limite = 3 contador = contador + 1 if contador == limite then mensaje = "llegó" else mensaje = "sigue" end
PasoLíneacontadorlimitemensaje
1contador = 00
2limite = 303
3contador = contador + 113
4if contador == limite ...13"sigue"

Observa que la condición se evalúa con el estado del paso 3: como contador vale 1 y limite vale 3, no se cumple.

Ejercicio 2: precio final con descuento (estado y validación)

precio = 100 tiene_descuento = true if tiene_descuento then precio = precio * 0.9 end
PasoLíneapreciotiene_descuento
1precio = 100100
2tiene_descuento = true100true
3if tiene_descuento ...90true

La variable precio cambia de estado: pasa de 100 a 90 por la asignación dentro del if.

Ejercicio 3: estado de tarea con cambio de variable

estado_tarea = "pendiente" intentos = 0 intentos = intentos + 1 if intentos >= 1 then estado_tarea = "en_progreso" end
PasoLíneaestado_tareaintentos
1estado_tarea = "pendiente""pendiente"
2intentos = 0"pendiente"0
3intentos = intentos + 1"pendiente"1
4if intentos >= 1 ..."en_progreso"1

Este ejemplo muestra cómo una variable de texto puede representar un “estado” del mundo real, y cómo una condición basada en un número puede disparar el cambio.

Práctica adicional: completa el trazado

Realiza la tabla de variables para este pseudocódigo y determina el valor final de cada variable:

temperatura_c = 18 es_frio = false if temperatura_c < 20 then es_frio = true end temperatura_c = temperatura_c + 3 if es_frio then etiqueta = "abrigo" else etiqueta = "ligero" end

Ahora responde el ejercicio sobre el contenido:

Tras ejecutar el siguiente pseudocódigo, ¿cuál es el valor final de la variable etiqueta? temperatura_c = 18 es_frio = false if temperatura_c < 20 then es_frio = true end temperatura_c = temperatura_c + 3 if es_frio then etiqueta = "abrigo" else etiqueta = "ligero" end

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Primero, como temperatura_c es 18 (menor que 20), es_frio pasa a true. Luego temperatura_c se actualiza a 21, pero es_frio no cambia. En la última condición, al ser es_frio verdadero, etiqueta queda como "abrigo".

Siguiente capítulo

Colecciones ordenadas con listas/arreglos: secuencia, índices y recorridos

Arrow Right Icon
Portada de libro electrónico gratuitaEstructuras de datos básicas para lógica de programación: variables, listas y diccionarios
13%

Estructuras de datos básicas para lógica de programación: variables, listas y diccionarios

Nuevo curso

8 páginas

Descarga la aplicación para obtener una certificación gratuita y escuchar cursos en segundo plano, incluso con la pantalla apagada.