Algoritmo para Encontrar el Mayor de Dos Números en PSeInt (Guía 2026)

Nivel: Básico Tiempo: ~5 min

La comparación de valores es la base de la toma de decisiones en cualquier software, desde videojuegos que determinan quién tiene el puntaje más alto, hasta sistemas bancarios que evalúan límites de crédito. En este tutorial de Lógica de Programación, aprenderás a escribir un algoritmo en PSeInt que recibe dos valores y utiliza Operadores Relacionales para determinar cuál es el mayor. Además, abordaremos un caso que muchos principiantes olvidan: ¿Qué sucede si ambos números son iguales? Dominar el bloque Si-Entonces-SiNo es crucial para avanzar a algoritmos de ordenamiento más complejos.

Conceptos Clave para Comparar Datos

Para que la computadora decida, debemos hablar su lenguaje de comparaciones lógicas:

Operadores Relacionales

Son símbolos que comparan dos valores y devuelven un resultado de Verdadero o Falso.
> (Mayor que)
< (Menor que)
== o = (Igual a)

Bifurcación Condicional

El algoritmo no sigue una línea recta. Al llegar a la comparación, el camino se divide. Si A > B es verdadero, toma el camino de la derecha; si es falso, toma el de la izquierda (el SiNo).

Análisis del Problema

El flujo lógico para resolver este ejercicio es el siguiente:

  • ENTRADA Solicitar al usuario dos números distintos. Definiremos las variables num1 y num2 como Reales (para admitir decimales).
  • PROCESO Comparar los valores:
    1. ¿Es num1 mayor que num2?
    2. Si no, ¿Es num2 mayor que num1?
    3. Si ninguna de las anteriores, son iguales.
  • SALIDA Mostrar un mensaje claro indicando cuál variable contiene el valor máximo.

Código Fuente (Solución Básica)

Archivo: MayorMenor.psc
Algoritmo EncontrarElMayor
    // 1. Definición de Variables
    Definir n1, n2 Como Real;
    
    // 2. Entrada de Datos
    Escribir "=== Comparador de Números ===";
    Escribir "Ingrese el primer número:";
    Leer n1;
    Escribir "Ingrese el segundo número:";
    Leer n2;
    
    // 3. Proceso y Salida (Lógica Simple)
    // Solo consideramos dos casos: n1 es mayor o n2 es mayor
    // NOTA: Esta versión básica falla si son iguales (ver código optimizado abajo)
    
    Si n1 > n2 Entonces
        Escribir "El número mayor es: ", n1;
    SiNo
        Escribir "El número mayor es: ", n2;
    FinSi
    
FinAlgoritmo

Diagrama de Flujo

⚠️ El Error del «Caso Olvidado»

Al comparar dos variables, existen tres posibilidades, no dos. Muchos estudiantes olvidan el empate:

Falso Mayor

En el código básico anterior, si ingresas 5 y 5, la condición 5 > 5 es Falsa, por lo que el programa irá al SiNo y dirá «El mayor es 5». Aunque técnicamente correcto, es lógico decir «Son iguales».

Confusión de Orden

A veces se escribe Si n1 < n2 queriendo buscar el mayor. Asegúrate de que el operador ("boquita") apunte correctamente: la parte abierta siempre mira al mayor.

Reto: Comparación Completa (Manejo de Igualdad)

Para un software robusto, debemos manejar explícitamente el caso de igualdad. Usaremos condicionales anidados para cubrir los tres escenarios posibles.

Algoritmo MayorOIgual
    Definir A, B Como Real;
    
    Escribir "Ingrese el valor A:";
    Leer A;
    Escribir "Ingrese el valor B:";
    Leer B;
    
    // Estructura Si anidada
    Si A > B Entonces
        Escribir "El número ", A, " es MAYOR que ", B;
    SiNo
        // Si no es mayor, puede ser menor o igual. Verificamos igualdad.
        Si A == B Entonces
            Escribir "Ambos números son IGUALES: ", A;
        SiNo
            // Por descarte, si no es mayor ni igual, A debe ser menor
            Escribir "El número ", B, " es MAYOR que ", A;
        SiNo
    FinSi
FinAlgoritmo

Preguntas Frecuentes (FAQ)

¿Cómo comparo 3 números?
Para 3 números, la lógica se complica. Necesitas usar operadores lógicos: Si n1 > n2 Y n1 > n3 Entonces Mayor es n1. O usar una variable auxiliar llamada mayorTemporal.
¿Funciona con números negativos?
¡Sí! PSeInt maneja correctamente la recta numérica. Recuerda que -5 es mayor que -10 (está más cerca del cero). El algoritmo funcionará perfectamente.
¿Puedo comparar texto?
Sí, si defines las variables como Caracter. PSeInt comparará el orden alfabético (ASCII). Por ejemplo, "Zapato" es mayor que "Arbol".
¿Qué es la función max()?
Algunos lenguajes tienen una función max(a,b), pero en PSeInt puro, generalmente debes escribir la lógica Si-Entonces tú mismo para practicar la lógica algorítmica.

¿Listo para el siguiente nivel?

Domina la lógica de programación con nuestra colección completa.

Ver Más Ejercicios Resueltos

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *