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

Operadores y comparaciones

Ya sabes guardar información en variables. Pero guardar datos sin poder hacer nada con ellos es como tener ingredientes en la cocina y no poder cocinar. Necesitas operadores: herramientas que te permiten calcular, comparar y combinar valores para tomar decisiones.

En esta lección vas a aprender tres tipos de operadores que usarás constantemente: aritméticos (para calcular), de comparación (para preguntar) y lógicos (para combinar condiciones).

Operadores aritméticos: las matemáticas de siempre

Son los que ya conoces del colegio, con un invitado sorpresa al final:

OPERADORES ARITMÉTICOS:

+   Suma            10 + 3   = 13
-   Resta           10 - 3   = 7
*   Multiplicación  10 * 3   = 30
/   División        10 / 3   = 3.33
%   Módulo (resto)  10 % 3   = 1

Los cuatro primeros no tienen misterio. El quinto, el módulo, te da el resto de una división. Si divides 10 entre 3, caben 3 veces (3 x 3 = 9) y sobra 1. Ese 1 es el módulo.

¿Para qué sirve el módulo? Para muchas cosas. Por ejemplo, para saber si un número es par o impar:

// Si el resto de dividir entre 2 es 0, el número es par
7 % 2 = 1    // Impar (sobra 1)
8 % 2 = 0    // Par (no sobra nada)
15 % 2 = 1   // Impar
100 % 2 = 0  // Par

Ejemplo: calcular el precio total con descuento e impuestos

Imagina una tienda online. El cliente tiene un cupón de descuento del 15% y hay que añadir un 21% de IVA sobre el precio ya descontado:

ALGORITMO: Calcular precio final

CREAR variable precioOriginal CON VALOR 80
CREAR variable porcentajeDescuento CON VALOR 15
CREAR variable porcentajeIVA CON VALOR 21

// Paso 1: Calcular el descuento
CREAR variable cantidadDescuento CON VALOR precioOriginal * porcentajeDescuento / 100
// cantidadDescuento = 80 * 15 / 100 = 12

// Paso 2: Aplicar el descuento
CREAR variable precioConDescuento CON VALOR precioOriginal - cantidadDescuento
// precioConDescuento = 80 - 12 = 68

// Paso 3: Calcular el IVA sobre el precio descontado
CREAR variable cantidadIVA CON VALOR precioConDescuento * porcentajeIVA / 100
// cantidadIVA = 68 * 21 / 100 = 14.28

// Paso 4: Precio final
CREAR variable precioFinal CON VALOR precioConDescuento + cantidadIVA
// precioFinal = 68 + 14.28 = 82.28

MOSTRAR "Precio original: " + precioOriginal + " euros"
MOSTRAR "Descuento (" + porcentajeDescuento + "%): -" + cantidadDescuento + " euros"
MOSTRAR "Subtotal: " + precioConDescuento + " euros"
MOSTRAR "IVA (" + porcentajeIVA + "%): +" + cantidadIVA + " euros"
MOSTRAR "TOTAL: " + precioFinal + " euros"
FIN

Fíjate en cómo cada paso intermedio se guarda en una variable con un nombre descriptivo. Podríamos haberlo hecho todo en una sola línea, pero sería ilegible. La claridad siempre gana a la brevedad.

Operadores de comparación: hacer preguntas

Los operadores de comparación hacen una pregunta y devuelven una respuesta booleana: VERDADERO o FALSO. Son la base para que nuestros algoritmos tomen decisiones.

OPERADORES DE COMPARACIÓN:

>    Mayor que          5 > 3    = VERDADERO
<    Menor que          5 < 3    = FALSO
>=   Mayor o igual que  5 >= 5   = VERDADERO
<=   Menor o igual que  5 <= 3   = FALSO
==   Igual a            5 == 5   = VERDADERO
!=   Diferente de       5 != 3   = VERDADERO

Piensa en cada comparación como una pregunta de sí o no:

  • edad >= 18 es como preguntar: "¿la edad es 18 o más?"
  • saldo == 0 es como preguntar: "¿el saldo es exactamente cero?"
  • temperatura != 0 es como preguntar: "¿la temperatura es distinta de cero?"
CREAR variable edad CON VALOR 16

edad > 18     // FALSO (16 no es mayor que 18)
edad >= 18    // FALSO (16 no es mayor o igual que 18)
edad < 18     // VERDADERO (16 sí es menor que 18)
edad == 16    // VERDADERO (16 es igual a 16)
edad != 21    // VERDADERO (16 es diferente de 21)

Operadores lógicos: combinar condiciones

A veces una sola comparación no basta. Necesitas combinar varias condiciones para tomar una decisión. Para eso existen los operadores lógicos: Y, O y NO.

Y (AND): las dos condiciones deben cumplirse

Piensa en un concierto que requiere entrada Y documento de identidad. Si tienes uno pero no el otro, no entras.

VERDADERO  Y  VERDADERO  = VERDADERO   // Tiene entrada y DNI: pasa
VERDADERO  Y  FALSO      = FALSO       // Tiene entrada pero no DNI: no pasa
FALSO      Y  VERDADERO  = FALSO       // Tiene DNI pero no entrada: no pasa
FALSO      Y  FALSO      = FALSO       // No tiene nada: no pasa

Con Y, basta que una condición sea FALSO para que todo sea FALSO. Las dos tienen que ser VERDADERO.

O (OR): al menos una condición debe cumplirse

Piensa en un descuento que aplica si eres estudiante O mayor de 65 años. Con cumplir una de las dos, ya tienes descuento.

VERDADERO  O  VERDADERO  = VERDADERO   // Estudiante y mayor de 65: descuento
VERDADERO  O  FALSO      = VERDADERO   // Solo estudiante: descuento
FALSO      O  VERDADERO  = VERDADERO   // Solo mayor de 65: descuento
FALSO      O  FALSO      = FALSO       // Ni una ni otra: sin descuento

Con O, basta que una condición sea VERDADERO para que todo sea VERDADERO. Solo es FALSO si las dos son FALSO.

NO (NOT): invierte el resultado

Simplemente le da la vuelta al valor:

NO VERDADERO  = FALSO
NO FALSO      = VERDADERO

// Ejemplo práctico:
CREAR variable estaLloviendo CON VALOR FALSO

SI NO estaLloviendo ENTONCES
    MOSTRAR "Puedes salir sin paraguas"
FIN

Ejemplo: ¿puede esta persona subir a la montaña rusa?

En un parque de atracciones, la montaña rusa tiene dos requisitos: medir al menos 140 cm Y tener al menos 10 años. Necesitamos combinar operadores de comparación con operadores lógicos:

ALGORITMO: ¿Puede subir a la montaña rusa?

CREAR variable nombre CON VALOR "Lucas"
CREAR variable altura CON VALOR 145
CREAR variable edad CON VALOR 8

CREAR variable cumpleAltura CON VALOR altura >= 140
// cumpleAltura = 145 >= 140 = VERDADERO

CREAR variable cumpleEdad CON VALOR edad >= 10
// cumpleEdad = 8 >= 10 = FALSO

CREAR variable puedeSubir CON VALOR cumpleAltura Y cumpleEdad
// puedeSubir = VERDADERO Y FALSO = FALSO

SI puedeSubir ENTONCES
    MOSTRAR nombre + " puede subir a la montaña rusa"
SI NO
    MOSTRAR nombre + " NO puede subir a la montaña rusa"

    SI NO cumpleAltura ENTONCES
        MOSTRAR "  Motivo: no alcanza la altura mínima de 140 cm"
    FIN

    SI NO cumpleEdad ENTONCES
        MOSTRAR "  Motivo: no tiene la edad mínima de 10 años"
    FIN
FIN

Lucas mide 145 cm (cumple la altura) pero tiene 8 años (no cumple la edad). Como usamos Y, necesita cumplir ambos requisitos. Resultado: no puede subir. Además, el algoritmo le dice exactamente por qué no puede, lo cual es mucho más útil que un simple "no".

Combinando todo: un ejemplo completo

Vamos a juntar operadores aritméticos, de comparación y lógicos en un ejemplo real. Una tienda tiene esta promoción: si el cliente gasta más de 50 euros Y es miembro del club de fidelidad, obtiene un 20% de descuento. Si solo cumple una de las dos, obtiene un 10%. Si no cumple ninguna, paga el precio completo.

ALGORITMO: Calcular descuento de la tienda

CREAR variable totalCompra CON VALOR 75
CREAR variable esMiembro CON VALOR VERDADERO

CREAR variable gastaMinimo CON VALOR totalCompra > 50
// gastaMinimo = 75 > 50 = VERDADERO

CREAR variable descuento CON VALOR 0

SI gastaMinimo Y esMiembro ENTONCES
    // Cumple las dos: 20% de descuento
    CAMBIAR descuento A 20
SI NO
    SI gastaMinimo O esMiembro ENTONCES
        // Cumple solo una: 10% de descuento
        CAMBIAR descuento A 10
    SI NO
        // No cumple ninguna: sin descuento
        CAMBIAR descuento A 0
    FIN
FIN

CREAR variable cantidadDescuento CON VALOR totalCompra * descuento / 100
CREAR variable totalFinal CON VALOR totalCompra - cantidadDescuento

MOSTRAR "Compra: " + totalCompra + " euros"
MOSTRAR "Descuento aplicado: " + descuento + "%"
MOSTRAR "Te ahorras: " + cantidadDescuento + " euros"
MOSTRAR "Total a pagar: " + totalFinal + " euros"
FIN

En este caso, el cliente gasta 75 euros (más de 50) y es miembro del club. Cumple las dos condiciones, así que obtiene el 20% de descuento. Paga 60 euros en vez de 75. No está mal.

Tabla resumen de operadores

ARITMÉTICOS          COMPARACIÓN          LÓGICOS
+  Suma              >   Mayor que         Y   (AND) Ambas verdaderas
-  Resta             <   Menor que         O   (OR)  Al menos una
*  Multiplicación    >=  Mayor o igual     NO  (NOT) Invierte el valor
/  División          <=  Menor o igual
%  Módulo (resto)    ==  Igual a
                     !=  Diferente de

Resumen

  • Los operadores aritméticos (+, -, *, /, %) hacen cálculos con números. El módulo te da el resto de una división.
  • Los operadores de comparación (>, <, >=, <=, ==, !=) hacen preguntas y devuelven VERDADERO o FALSO.
  • Los operadores lógicos (Y, O, NO) combinan condiciones para tomar decisiones más complejas.
  • Puedes combinar los tres tipos para resolver problemas reales: calcular precios, validar acceso, aplicar descuentos.

En la siguiente lección vamos a aprender sobre condicionales: cómo hacer que un algoritmo tome caminos diferentes según las condiciones que se cumplan.

code

¿Aprueba el estudiante?

Intermedio schedule 15 min

Un instituto tiene las siguientes reglas para aprobar una asignatura:

  • La nota del examen debe ser mayor o igual a 5 (sobre 10).
  • La asistencia debe ser mayor o igual al 80%.
  • Se deben cumplir ambas condiciones para aprobar.

Con papel y bolígrafo, escribe un algoritmo que:

  1. Defina las variables: nombreEstudiante, notaExamen y porcentajeAsistencia.
  2. Evalúe si el estudiante aprueba o suspende.
  3. Si suspende, muestre el motivo exacto: si fue por nota, por asistencia o por ambas.
  4. Si aprueba y además tiene una nota >= 9 Y asistencia del 100%, muestre un mensaje de "Matrícula de Honor".

Prueba tu algoritmo con estos tres estudiantes:

  • Ana: nota 7, asistencia 90% (debería aprobar)
  • Pedro: nota 4, asistencia 95% (debería suspender por nota)
  • Laura: nota 9.5, asistencia 100% (debería tener Matrícula de Honor)
lightbulb Pistas

Empieza definiendo las tres variables. Luego crea dos variables booleanas intermedias: cumpleNota (notaExamen >= 5) y cumpleAsistencia (porcentajeAsistencia >= 80). La variable aprueba es el resultado de cumpleNota Y cumpleAsistencia. Para la matrícula de honor, necesitas otra condición: notaExamen >= 9 Y porcentajeAsistencia == 100. No olvides que un estudiante con matrícula de honor primero aprueba y luego recibe la distinción adicional.

Newsletter

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