20 ejercicios resueltos en PSeInt: ciclos y condicionales

20 ejercicios resueltos en PSeInt para practicar condicionales, ciclos Para, Mientras y Repetir, con algoritmos completos y explicaciones claras.

Practicar con ejercicios concretos es una de las mejores formas de aprender pseudocódigo. En esta guía reunimos 20 ejercicios resueltos en PSeInt centrados en condicionales y ciclos, desde problemas básicos hasta otros un poco más completos.

Todos los algoritmos están escritos con sintaxis estándar de PSeInt y pueden copiarse directamente para probarlos y modificarlos.

1. Determinar si un número es par o impar

Algoritmo ParOImpar
    Definir numero Como Entero

    Escribir "Ingrese un número:"
    Leer numero

    Si numero MOD 2 = 0 Entonces
        Escribir "El número es par"
    Sino
        Escribir "El número es impar"
    FinSi
FinAlgoritmo

Si el resto de dividir por 2 es 0, el número es par. Para ver la explicación paso a paso, casos de prueba y variantes, consultá Número par o impar en PSeInt.

2. Determinar si un número es positivo, negativo o cero

Algoritmo PositivoNegativoOCero
    Definir numero Como Real

    Escribir "Ingrese un número:"
    Leer numero

    Si numero > 0 Entonces
        Escribir "El número es positivo"
    Sino
        Si numero < 0 Entonces
            Escribir "El número es negativo"
        Sino
            Escribir "El número es cero"
        FinSi
    FinSi
FinAlgoritmo

3. Encontrar el mayor de tres números

Algoritmo MayorDeTres
    Definir a, b, c, mayor Como Real

    Escribir "Ingrese tres números:"
    Leer a
    Leer b
    Leer c

    mayor <- a

    Si b > mayor Entonces
        mayor <- b
    FinSi

    Si c > mayor Entonces
        mayor <- c
    FinSi

    Escribir "El mayor es: ", mayor
FinAlgoritmo

Inicializar mayor con el primer valor evita usar números arbitrarios como valor inicial.

4. Sumar los números del 1 hasta N

Algoritmo SumaDeUnoAN
    Definir n, i, suma Como Entero

    Escribir "Ingrese un número entero positivo:"
    Leer n

    suma <- 0

    Para i <- 1 Hasta n Hacer
        suma <- suma + i
    FinPara

    Escribir "La suma es: ", suma
FinAlgoritmo

5. Mostrar la tabla de multiplicar de un número

Algoritmo TablaDeMultiplicar
    Definir numero, i Como Entero

    Escribir "Ingrese un número:"
    Leer numero

    Para i <- 1 Hasta 10 Hacer
        Escribir numero, " x ", i, " = ", numero * i
    FinPara
FinAlgoritmo

6. Cuenta regresiva desde N hasta 1

Algoritmo CuentaRegresiva
    Definir n, i Como Entero

    Escribir "Ingrese un número entero positivo:"
    Leer n

    Para i <- n Hasta 1 Con Paso -1 Hacer
        Escribir i
    FinPara
FinAlgoritmo

7. Sumar los números pares entre 1 y N

Algoritmo SumaDePares
    Definir n, i, suma Como Entero

    Escribir "Ingrese un número entero positivo:"
    Leer n

    suma <- 0

    Para i <- 2 Hasta n Con Paso 2 Hacer
        suma <- suma + i
    FinPara

    Escribir "La suma de los pares es: ", suma
FinAlgoritmo

8. Calcular el factorial de un número

Algoritmo CalcularFactorial
    Definir n, i, fact Como Entero

    Escribir "Ingrese un número entero mayor o igual a 0:"
    Leer n

    Si n < 0 Entonces
        Escribir "El factorial no está definido para números negativos"
    Sino
        fact <- 1

        Si n > 0 Entonces
            Para i <- 1 Hasta n Hacer
                fact <- fact * i
            FinPara
        FinSi

        Escribir "El factorial es: ", fact
    FinSi
FinAlgoritmo

Para n = 0 el ciclo no realiza iteraciones y el resultado permanece en 1, que es justamente 0! = 1.

9. Contar cuántos dígitos tiene un número entero

Algoritmo CantidadDeDigitos
    Definir numero, cantidad Como Entero

    Escribir "Ingrese un número entero:"
    Leer numero

    Si numero < 0 Entonces
        numero <- -numero
    FinSi

    Si numero = 0 Entonces
        cantidad <- 1
    Sino
        cantidad <- 0

        Mientras numero > 0 Hacer
            numero <- Trunc(numero / 10)
            cantidad <- cantidad + 1
        FinMientras
    FinSi

    Escribir "Cantidad de dígitos: ", cantidad
FinAlgoritmo

10. Sumar los dígitos de un número

Algoritmo SumaDeDigitos
    Definir numero, digito, suma Como Entero

    Escribir "Ingrese un número entero:"
    Leer numero

    Si numero < 0 Entonces
        numero <- -numero
    FinSi

    suma <- 0

    Mientras numero > 0 Hacer
        digito <- numero MOD 10
        suma <- suma + digito
        numero <- Trunc(numero / 10)
    FinMientras

    Escribir "La suma de los dígitos es: ", suma
FinAlgoritmo

La idea es tomar el último dígito con MOD 10, acumularlo y eliminarlo del número. Para ver el desarrollo completo y más ejemplos, consultá Suma de dígitos de un número en PSeInt.

11. Invertir un número entero

Algoritmo InvertirNumero
    Definir numero, digito, invertido Como Entero

    Escribir "Ingrese un número entero positivo:"
    Leer numero

    invertido <- 0

    Mientras numero > 0 Hacer
        digito <- numero MOD 10
        invertido <- invertido * 10 + digito
        numero <- Trunc(numero / 10)
    FinMientras

    Escribir "Número invertido: ", invertido
FinAlgoritmo

Por ejemplo, si se ingresa 1234, el resultado será 4321.

12. Determinar si un número es capicúa

Algoritmo NumeroCapicua
    Definir numero, original, digito, invertido Como Entero

    Escribir "Ingrese un número entero no negativo:"
    Leer numero

    Si numero < 0 Entonces
        Escribir "Ingrese un número no negativo"
    Sino
        original <- numero
        invertido <- 0

        Mientras numero > 0 Hacer
            digito <- numero MOD 10
            invertido <- invertido * 10 + digito
            numero <- Trunc(numero / 10)
        FinMientras

        Si original = invertido Entonces
            Escribir "El número es capicúa"
        Sino
            Escribir "El número no es capicúa"
        FinSi
    FinSi
FinAlgoritmo

13. Determinar si un número es primo

Algoritmo NumeroPrimo
    Definir numero, divisor, cantidadDivisores Como Entero

    Escribir "Ingrese un número entero:"
    Leer numero

    Si numero < 2 Entonces
        Escribir "El número no es primo"
    Sino
        cantidadDivisores <- 0

        Para divisor <- 1 Hasta numero Hacer
            Si numero MOD divisor = 0 Entonces
                cantidadDivisores <- cantidadDivisores + 1
            FinSi
        FinPara

        Si cantidadDivisores = 2 Entonces
            Escribir "El número es primo"
        Sino
            Escribir "El número no es primo"
        FinSi
    FinSi
FinAlgoritmo

Un número primo tiene exactamente dos divisores positivos: 1 y él mismo. Para ver una explicación paso a paso y pruebas con distintos valores, consultá Número primo en PSeInt.

14. Contar los divisores de un número

Algoritmo ContarDivisores
    Definir numero, i, cantidad Como Entero

    Escribir "Ingrese un número entero positivo:"
    Leer numero

    Si numero <= 0 Entonces
        Escribir "Debe ingresar un número positivo"
    Sino
        cantidad <- 0

        Para i <- 1 Hasta numero Hacer
            Si numero MOD i = 0 Entonces
                cantidad <- cantidad + 1
            FinSi
        FinPara

        Escribir "Cantidad de divisores: ", cantidad
    FinSi
FinAlgoritmo

15. Calcular el promedio de N notas

Algoritmo PromedioDeNotas
    Definir n, i Como Entero
    Definir nota, suma, promedio Como Real

    Escribir "¿Cuántas notas desea ingresar?"
    Leer n

    Si n <= 0 Entonces
        Escribir "La cantidad debe ser mayor que cero"
    Sino
        suma <- 0

        Para i <- 1 Hasta n Hacer
            Escribir "Ingrese la nota ", i, ":"
            Leer nota
            suma <- suma + nota
        FinPara

        promedio <- suma / n
        Escribir "Promedio: ", promedio
    FinSi
FinAlgoritmo

16. Encontrar el mayor y el menor de N números

Algoritmo MayorYMenor
    Definir n, i Como Entero
    Definir numero, mayor, menor Como Real

    Escribir "¿Cuántos números desea ingresar?"
    Leer n

    Si n <= 0 Entonces
        Escribir "La cantidad debe ser mayor que cero"
    Sino
        Escribir "Ingrese el número 1:"
        Leer numero

        mayor <- numero
        menor <- numero

        Para i <- 2 Hasta n Hacer
            Escribir "Ingrese el número ", i, ":"
            Leer numero

            Si numero > mayor Entonces
                mayor <- numero
            FinSi

            Si numero < menor Entonces
                menor <- numero
            FinSi
        FinPara

        Escribir "Mayor: ", mayor
        Escribir "Menor: ", menor
    FinSi
FinAlgoritmo

El primer valor ingresado se utiliza para inicializar tanto el mayor como el menor. Así el algoritmo funciona correctamente incluso si todos los valores son negativos.

17. Contar positivos, negativos y ceros

Algoritmo ContarTiposDeNumeros
    Definir n, i, positivos, negativos, ceros Como Entero
    Definir numero Como Real

    Escribir "¿Cuántos números desea ingresar?"
    Leer n

    positivos <- 0
    negativos <- 0
    ceros <- 0

    Para i <- 1 Hasta n Hacer
        Escribir "Ingrese un número:"
        Leer numero

        Si numero > 0 Entonces
            positivos <- positivos + 1
        Sino
            Si numero < 0 Entonces
                negativos <- negativos + 1
            Sino
                ceros <- ceros + 1
            FinSi
        FinSi
    FinPara

    Escribir "Positivos: ", positivos
    Escribir "Negativos: ", negativos
    Escribir "Ceros: ", ceros
FinAlgoritmo

18. Validar una contraseña con un máximo de 3 intentos

Algoritmo ValidarContrasena
    Definir clave Como Cadena
    Definir intentos Como Entero
    Definir acceso Como Logico

    intentos <- 0
    acceso <- Falso

    Mientras intentos < 3 Y acceso = Falso Hacer
        Escribir "Ingrese la contraseña:"
        Leer clave

        intentos <- intentos + 1

        Si clave = "programar" Entonces
            acceso <- Verdadero
        Sino
            Escribir "Contraseña incorrecta"
        FinSi
    FinMientras

    Si acceso Entonces
        Escribir "Acceso permitido"
    Sino
        Escribir "Se agotaron los intentos"
    FinSi
FinAlgoritmo

19. Menú de operaciones con Segun y Repetir

Algoritmo MenuDeOperaciones
    Definir opcion Como Entero
    Definir a, b Como Real

    Repetir
        Escribir "1. Sumar"
        Escribir "2. Restar"
        Escribir "3. Salir"
        Escribir "Seleccione una opción:"
        Leer opcion

        Segun opcion Hacer
            1:
                Escribir "Ingrese dos números:"
                Leer a
                Leer b
                Escribir "Resultado: ", a + b
            2:
                Escribir "Ingrese dos números:"
                Leer a
                Leer b
                Escribir "Resultado: ", a - b
            3:
                Escribir "Fin del programa"
            De Otro Modo:
                Escribir "Opción inválida"
        FinSegun
    Hasta Que opcion = 3
FinAlgoritmo

20. Mostrar los primeros N términos de Fibonacci

Algoritmo Fibonacci
    Definir n, i, a, b, siguiente Como Entero

    Escribir "¿Cuántos términos desea mostrar?"
    Leer n

    Si n <= 0 Entonces
        Escribir "La cantidad debe ser mayor que cero"
    Sino
        a <- 0
        b <- 1

        Para i <- 1 Hasta n Hacer
            Escribir a

            siguiente <- a + b
            a <- b
            b <- siguiente
        FinPara
    FinSi
FinAlgoritmo

La secuencia generada comienza con 0, 1, 1, 2, 3, 5.... En cada iteración se muestra el término actual y luego se actualizan los dos valores necesarios para calcular el siguiente.

Cómo aprovechar estos ejercicios

No conviene limitarse a copiar y ejecutar los algoritmos. Una buena práctica consiste en probarlos con distintos valores y después modificarlos. Por ejemplo, podés cambiar límites, agregar validaciones o pedir que un mismo ejercicio se repita hasta que el usuario elija salir.

Si recién estás empezando, también te recomendamos nuestra colección de ejemplos básicos resueltos en PSeInt. Para practicar estructuras de datos, podés continuar con Arreglos en PSeInt.