Algoritmo para Verificar Mayoría de Edad en PSeInt (Guía 2026)

Nivel: Básico Tiempo: ~5 min

Determinar si una persona es mayor de edad es el ejercicio por excelencia para introducir las estructuras condicionales en la programación. En este tutorial paso a paso, aprenderás a construir un algoritmo en PSeInt que solicita la edad de un usuario y decide, mediante operadores lógicos, si tiene acceso legal (es decir, si su edad es igual o superior a 18 años). Este concepto es la base de sistemas reales como controles de acceso, votaciones electrónicas y restricciones de contenido.

Conceptos Clave: Operadores Relacionales

Antes de escribir código, debemos entender cómo la computadora compara números:

Mayor o Igual (>=)

El error más común es usar solo «mayor que» (>). Si la ley dice que a los 18 años ya eres adulto, debes usar >= 18. Si usas solo > 18, una persona de 18 años será considerada menor de edad incorrectamente.

Estructura Si-Entonces

Es el cerebro del algoritmo. Permite bifurcar el camino:
• Camino A (Verdadero): Si cumple la edad, muestra «Mayor».
• Camino B (Falso): Si no la cumple, muestra «Menor».

Análisis del Problema

El flujo de datos es lineal con una única decisión:

  • ENTRADA Un número entero que representa los años cumplidos. Variable: edad.
  • PROCESO Comparar la variable edad con la constante 18 usando el operador >=.
  • SALIDA Imprimir un mensaje indicando el estatus legal de la persona («Mayor de edad» o «Menor de edad»).

Código Fuente (Solución Estándar)

Archivo: MayorEdad.psc
Algoritmo VerificarMayorEdad
    // 1. Definición de Variables
    // La edad se maneja comúnmente como Entero
    Definir edad Como Entero;
    
    // 2. Entrada de Datos
    Escribir "=== Control de Acceso ===";
    Escribir "Por favor, ingrese su edad:";
    Leer edad;
    
    // 3. Lógica Condicional
    // Usamos >= para incluir el número 18
    Si edad >= 18 Entonces
        Escribir ">> Acceso Permitido: Usted es MAYOR de edad.";
    SiNo
        Escribir ">> Acceso Denegado: Usted es MENOR de edad.";
    FinSi
    
FinAlgoritmo

Diagrama de Flujo

⚠️ Errores Comunes de Principiantes

Evita estos fallos lógicos que pueden invalidar tu algoritmo:

El Error de Frontera (Boundary)

Escribir Si edad > 18.
Consecuencia: Si el usuario tiene exactamente 18 años, el programa le dirá que es menor de edad, lo cual es falso legalmente. Siempre recuerda el «o igual» (>=).

Edades Imposibles

El código básico acepta «-5» o «200». Un algoritmo profesional debería validar que la edad esté en un rango lógico humano (ej: entre 0 y 120 años).

Reto: Código con Validación de Rango

Vamos a mejorar el código para evitar que el usuario ingrese datos absurdos (como edades negativas). Usaremos el ciclo Repetir-Hasta Que.

Algoritmo MayorEdadValidado
    Definir edad Como Entero;
    
    // Ciclo de validación: Obliga a ingresar un dato coherente
    Repetir
        Escribir "Ingrese su edad (0 - 120):";
        Leer edad;
        
        Si edad < 0 O edad > 120 Entonces
            Escribir "ERROR: Edad no válida. Intente de nuevo.";
        FinSi
    Hasta Que edad >= 0 Y edad <= 120
    
    // Una vez tenemos un dato válido, procedemos
    Escribir "--------------------------------";
    Si edad >= 18 Entonces
        Escribir "Estado: MAYOR DE EDAD";
        Escribir "Puede votar y conducir.";
    SiNo
        Escribir "Estado: MENOR DE EDAD";
        Escribir "Requiere tutor legal.";
    FinSi
FinAlgoritmo

Preguntas Frecuentes (FAQ)

¿Qué pasa si la mayoría de edad es a los 21?
La lógica es idéntica, solo debes cambiar la constante de comparación. Si edad >= 21 Entonces.... En programación profesional, se recomienda usar una constante definida al inicio: MAYORIA_EDAD = 21.
¿Debo usar Entero o Real para la edad?
Generalmente se usa Entero porque hablamos de «años cumplidos». Si necesitas precisión de meses o días para cálculos médicos, entonces usarías fechas de nacimiento, no un simple número.
¿Cómo verifico si es adulto mayor (65+)?
Puedes usar condicionales anidados o estructuras «SiNo Si».
Si edad >= 65 "Tercera Edad" SiNo Si edad >= 18 "Adulto"...
¿Qué significa el operador ‘Y’ en la validación?
El operador lógico Y (AND) exige que se cumplan ambas condiciones simultáneamente. En edad >= 0 Y edad <= 120, el número debe estar dentro de ese intervalo.

¿Listo para el siguiente nivel?

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

Ver Más Ejercicios Resueltos

Publicaciones Similares