Qué es una variable
Imagina una caja con una etiqueta. La etiqueta es el nombre de la variable y lo que hay dentro es su valor. El programa puede ver qué hay en la caja, cambiarlo o usarlo para calcular otra cosa.
Algoritmo area
base <- 5
altura <- 3
area <- base * altura
Escribir "El área es ", area
FinAlgoritmo
Aquí hay tres variables: base, altura y area. La flecha <- se lee «guarda»: «guarda 5 en base». Una variable guarda un solo valor a la vez. Si le asignas otro, el anterior se pierde.
Los nombres pueden llevar letras, números y guion bajo, pero deben empezar con una letra y no llevar espacios: precio_total sí, precio total no. Conviene que digan qué guardan: edad se entiende mejor que x.
Dar valor a una variable: asignar y leer
Una variable recibe valor de dos formas. Con <-, el programa lo calcula o lo pone. Con Leer, se lo pide a quien usa el programa.
Algoritmo doble
Escribir "Escribe un número:"
Leer n
doble <- n * 2
Escribir "El doble es ", doble
FinAlgoritmo
Una asignación también puede usar el valor viejo de la misma variable. contador <- contador + 1 significa: toma lo que vale contador, súmale 1 y guarda el resultado otra vez en contador. En matemáticas eso no tiene sentido, pero en programación es de lo más común.
Tipos de datos
| Tipo | Qué guarda | Ejemplos |
|---|---|---|
| Entero | Números sin decimales | 7, -3, 2026 |
| Real | Números con decimales | 3.5, 0.16, -2.75 |
| Caracter (o Texto) | Letras, palabras, frases | "Ana", "A", "5 de mayo" |
| Lógico | Verdadero o falso | Verdadero, Falso |
Con Definir dices de qué tipo será una variable antes de usarla. En el pseudocódigo flexible que usan la mayoría de las escuelas no es obligatorio, pero ayuda: si defines una variable como Entero e intentas guardar un número con decimales, Jaguar te avisa.
Algoritmo con_tipos
Definir nombre Como Caracter
Definir edad Como Entero
Definir estatura Como Real
nombre <- "Luis"
edad <- 16
estatura <- 1.72
Escribir nombre, " tiene ", edad, " años y mide ", estatura
FinAlgoritmo
Los textos siempre van entre comillas. "7" es un texto (el carácter siete) y 7 es un número. La diferencia importa: "7" + "3" da "73", y 7 + 3 da 10.
Operadores aritméticos
| Operador | Qué hace | Ejemplo | Resultado |
|---|---|---|---|
+ | Suma | 7 + 3 | 10 |
- | Resta | 7 - 3 | 4 |
* | Multiplicación | 7 * 3 | 21 |
/ | División | 10 / 4 | 2.5 |
MOD | Residuo de la división | 10 MOD 4 | 2 |
^ | Potencia | 2 ^ 10 | 1024 |
MOD merece atención porque aparece en muchos ejercicios. Da lo que sobra de una división: 10 entre 4 es 2 y sobran 2. Sirve para saber si un número es par (n MOD 2 = 0), si es múltiplo de otro o para separar los dígitos de un número.
Como en matemáticas, primero se calculan las potencias, luego multiplicaciones y divisiones, y al final sumas y restas. Los paréntesis cambian ese orden:
Algoritmo prioridad
Escribir 2 + 3 * 4
Escribir (2 + 3) * 4
promedio <- (8 + 9 + 10) / 3
Escribir "Promedio: ", promedio
FinAlgoritmo
Un error clásico es escribir 8 + 9 + 10 / 3 para un promedio: sin paréntesis solo se divide el 10.
Operadores de comparación y lógicos
Comparar dos valores da un resultado lógico: verdadero o falso. Es lo que usan las decisiones (Si) y los ciclos (Mientras).
| Operador | Significa | Ejemplo verdadero |
|---|---|---|
= | Igual a | 5 = 5 |
<> | Distinto de | 5 <> 3 |
< / > | Menor que / mayor que | 3 < 5 |
<= / >= | Menor o igual / mayor o igual | 5 >= 5 |
Para combinar comparaciones están Y, O y NO. Con Y, las dos partes deben cumplirse. Con O, basta una. NO invierte el resultado.
Algoritmo rango
Leer calificacion
valida <- calificacion >= 0 Y calificacion <= 10
Escribir "¿Es válida? ", valida
FinAlgoritmo
Las decisiones con estos operadores están explicadas a fondo en la guía de condicionales.
Funciones útiles
El pseudocódigo trae funciones listas para cálculos comunes. Se escribe el nombre y, entre paréntesis, el dato:
| Función | Qué hace | Ejemplo | Resultado |
|---|---|---|---|
Raiz(x) | Raíz cuadrada | Raiz(81) | 9 |
Abs(x) | Valor absoluto | Abs(-4) | 4 |
Redon(x) | Redondea al entero más cercano | Redon(3.6) | 4 |
Trunc(x) | Quita los decimales | Trunc(3.6) | 3 |
Azar(n) | Número al azar de 0 a n-1 | Azar(6) + 1 | Un dado: de 1 a 6 |
Longitud(t) | Cuántos caracteres tiene un texto | Longitud("jaguar") | 6 |
Mayusculas(t) | Pasa un texto a mayúsculas | Mayusculas("hola") | HOLA |
Subcadena(t, i, f) | Parte de un texto, de la posición i a la f | Subcadena("jaguar", 1, 3) | jag |
Algoritmo hipotenusa
Leer a, b
c <- Raiz(a ^ 2 + b ^ 2)
Escribir "La hipotenusa mide ", c
FinAlgoritmo
Ejemplo: intercambiar dos variables
Un ejercicio que aparece en casi todos los cursos: intercambiar los valores de a y b. Si escribes a <- b y luego b <- a, pierdes el valor original de a. La solución es una variable auxiliar que lo guarde mientras tanto:
Algoritmo intercambiar
a <- 3
b <- 8
aux <- a
a <- b
b <- aux
Escribir "a = ", a, ", b = ", b
FinAlgoritmo
En la prueba de escritorio se ve cómo aux rescata el 3 antes de que se pierda. Las celdas resaltadas son las que acaban de cambiar:
| Paso | Línea | Instrucción | a | b | aux | Pantalla |
|---|---|---|---|---|---|---|
| 1 | 3 | a <- 3 | 3 | |||
| 2 | 4 | b <- 8 | 3 | 8 | ||
| 3 | 5 | aux <- a | 3 | 8 | 3 | |
| 4 | 6 | a <- b | 8 | 8 | 3 | |
| 5 | 7 | b <- aux | 8 | 3 | 3 | |
| 6 | 8 | Escribir "a = ", a, ", b = ", b | 8 | 3 | 3 | a = 8, b = 3 |
Errores comunes
Estos son los errores con variables que más se repiten, con el mensaje que da Jaguar en cada caso:
- Usar una variable que no tiene valor. Si escribes
p <- (a + b) / 2y nunca leísteb, Jaguar dice: «No encuentro la variable 'b'». Si hay una parecida, sugiere: «¿Quisiste decir 'a'?». - Guardar decimales en un Entero. Con
Definir e Como Enteroy luegoe <- 5 / 2, el mensaje es: «No se puede guardar el número 2.5 en 'e' porque es de tipo Entero», con la sugerencia de usarTrunc()oRedon(). - Confundir
=con<-. La flecha guarda; el igual compara. Algunas escuelas aceptan=para asignar, pero usar la flecha evita confusiones. - Olvidar las comillas.
Escribir Holabusca una variable llamada Hola. Lo que quieres esEscribir "Hola". - Escribir el nombre de dos formas.
Promedioypromedioson la misma variable en PSeInt y en Jaguar, peropromedioypromedono.
Si Jaguar te muestra un mensaje que no entiendes, búscalo en la lista de errores explicados. Por ejemplo, por qué no puedes llamar y a una variable.
Preguntas frecuentes
¿Qué es una variable en pseudocódigo?
Es un espacio con nombre donde el programa guarda un dato, como un número o un texto. Su valor puede cambiar mientras el programa se ejecuta, por eso se llama variable.
¿Qué diferencia hay entre una variable y una constante?
Una variable puede cambiar de valor durante el programa. Una constante es un valor que no cambia, como PI o el porcentaje del IVA. En pseudocódigo, una constante suele ser una variable a la que le das valor una sola vez al inicio.
¿Es obligatorio usar Definir?
En el pseudocódigo flexible de PSeInt, que es el que usan la mayoría de las escuelas, no. Pero si tu profe pide el perfil estricto, sí hay que definir cada variable. Definirla siempre es una buena costumbre.
¿Para qué sirve MOD?
Da el residuo de una división entera. Por ejemplo, 17 MOD 5 es 2, porque 17 entre 5 es 3 y sobran 2. Se usa para saber si un número es par, si es múltiplo de otro o para separar dígitos.