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.

Deja un comentario