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

Deja una respuesta

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