Ejercicios de Lógica de programación con PSeInt

Angela Sofíá Osorio

Angela Sofíá Osorio

Tiempo de lectura 2 minutes

Fecha de publicación

¿Qué tal amigos ? Continunado con esta introducción a la lógica de programación. El día de hoy vamos a continuar con algunos ejercicios de lógica de programación, utilizando PSeInt.

En esta clase vamos a abordar temas como:  bucles (repeticiones) y funciones (bloques reutilizables). Con estos conceptos, podrás crear algoritmos más dinámicos y eficientes.

 Requisitos:

1. Bucles: Automatizando Repeticiones

Bucle Para (For)

Repite un bloque de código un número específico de veces.

Ejemplo: Contador del 1 al 5

Algoritmo Contador
    Definir i Como Entero
    
    Para i <- 1 Hasta 5 Con Paso 1 Hacer
        Escribir "Número: ", i
    FinPara
FinAlgoritmo
Pascal

Salida:

Número: 1  
Número: 2  
...  
Número: 5  
Pascal

Ejercicio 1:
Crea un algoritmo que muestre los números pares del 2 al 10.


Bucle Mientras (While)

Repite un bloque mientras se cumpla una condición.

Ejemplo: Sumar números hasta ingresar 0

Algoritmo SumarNumeros
    Definir numero, suma Como Entero
    suma <- 0
    
    Escribir "Ingresa números (0 para terminar):"
    Leer numero
    
    Mientras numero != 0 Hacer
        suma <- suma + numero
        Leer numero
    FinMientras
    
    Escribir "La suma total es: ", suma
FinAlgoritmo
Pascal

Ejercicio 2:
Crea un algoritmo que pida números hasta que el usuario ingrese un negativo. Luego, muestre el promedio.


2. Funciones: Código Reutilizable

Las funciones son bloques de código que realizan una tarea específica. Pueden recibir parámetros y devolver resultados.

Función sin Retorno (SubProceso)

SubProceso Saludar(nombre)
    Escribir "¡Hola ", nombre, "! 👋"
FinSubProceso

Algoritmo PruebaSaludo
    Saludar("Ana")  // Salida: ¡Hola Ana! 👋
FinAlgoritmo
Pascal

Función con Retorno (Funcion)

Copy

Funcion resultado <- Sumar(a, b)
    resultado <- a + b
FinFuncion

Algoritmo PruebaSuma
    Definir total Como Entero
    total <- Sumar(3, 5)
    Escribir "3 + 5 = ", total  // Salida: 8
FinAlgoritmo
Pascal

Ejercicio 3:
Crea una función llamada EsPar que reciba un número y devuelva Verdadero si es par.

✨ Proyecto: Juego de Adivinanza

Crea un juego donde el usuario deba adivinar un número secreto entre 1 y 10. El programa dará pistas Solución en PSeInt:

Solución en PSeInt:
Algoritmo JuegoAdivinanza
    Definir numeroSecreto, intento, intentos Como Entero
    numeroSecreto <- Aleatorio(1, 10)  // Genera un número aleatorio
    intentos <- 0
    
    Escribir "¡Adivina el número secreto (1-10)!"
    
    Repetir
        Escribir "Intento #", intentos + 1, ":"
        Leer intento
        intentos <- intentos + 1
        
        Si intento < numeroSecreto Entonces
            Escribir "Muy bajo ⬆"
        Sino Si intento > numeroSecreto Entonces
            Escribir "Muy alto ⬇"
        FinSi
    Hasta Que intento == numeroSecreto
    
    Escribir "¡Correcto! 🎉 Lo lograste en ", intentos, " intentos."
FinAlgoritmo
Pascal

3. Ejercicios de Consolidación

Ejercicio 4: Tabla de Multiplicar

Crea un algoritmo que:

  1. Pida al usuario un número.
  2. Muestre su tabla de multiplicar del 1 al 10.

Ejemplo:

    5 x 1 = 5  
    5 x 2 = 10  
    ...  
    Pascal

    Ejercicio 5: Calculadora de Factorial

    El factorial de un número nn (escrito n!n!) es el producto de todos los enteros positivos hasta nn.
    Ejemplo: 4!=4×3×2×1=244!=4×3×2×1=24.
    Instrucciones:

    • Usa un bucle para calcular el factorial de un número ingresado por el usuario.
    Solución Factorial
    Algoritmo CalculoFactorial
        Definir numero, factorial, i Como Entero
        
        // Pedir al usuario un número positivo
        Escribir "Ingresa un número para calcular su factorial:"
        Leer numero
        
        // Validar que el número sea no negativo
        Si numero < 0 Entonces
            Escribir "Error: El factorial no está definido para números negativos."
        Sino
            // Calcular factorial (0! = 1 por definición)
            factorial <- 1
            Para i <- 1 Hasta numero Con Paso 1 Hacer
                factorial <- factorial * i
            FinPara
            
            Escribir "El factorial de ", numero, " es: ", factorial
        FinSi
    FinAlgoritmo
    Pascal

    Consejos para Depurar en PSeInt

    1. Ejecuta Paso a Paso (F8): Verifica cómo cambian las variables en cada línea.
    2. Usa Escribir para Debuggear: Muestra valores intermedios.
      Ejemplo: Escribir "Valor de i: ", i dentro de un bucle.
    3. Prueba Casos Extremos: Ejemplo: ¿Qué pasa si el usuario ingresa 0 o números negativos?