20 ejercicios resueltos de PSeInt con vectores

20 ejercicios resueltos de PSeInt con vectores: carga, suma, promedio, búsquedas, ordenamiento y más ejemplos explicados paso a paso.

Los vectores y arreglos en PSeInt permiten guardar varios valores del mismo tipo dentro de una sola estructura. Son uno de los temas más importantes para avanzar desde los ejercicios básicos hacia problemas más reales.

En esta guía vas a encontrar 20 ejercicios resueltos de PSeInt con vectores, ordenados desde los más simples hasta otros que combinan búsquedas, conteos y ordenamientos. En los ejemplos usamos posiciones desde 1 hasta n, que es la configuración utilizada por PSeInt en estos ejercicios.

Índice de ejercicios

  1. Cargar y mostrar un vector
  2. Sumar todos los elementos
  3. Calcular el promedio
  4. Encontrar el mayor
  5. Encontrar el menor
  6. Contar números pares
  7. Contar positivos, negativos y ceros
  8. Buscar un número
  9. Mostrar el vector en orden inverso
  10. Copiar un vector
  11. Duplicar todos los valores
  12. Reemplazar números negativos por cero
  13. Contar cuántas veces aparece un valor
  14. Sumar elementos de posiciones pares
  15. Intercambiar el primer y último elemento
  16. Comparar dos vectores
  17. Encontrar el segundo número mayor
  18. Ordenar de menor a mayor
  19. Eliminar lógicamente un elemento
  20. Unir dos vectores

1. Cargar y mostrar un vector

Enunciado: cargar 5 números en un vector y mostrarlos en pantalla.

Algoritmo CargarMostrarVector
    Definir numeros, i Como Entero
    Dimension numeros[5]

    Para i <- 1 Hasta 5 Hacer
        Escribir "Ingrese el elemento ", i
        Leer numeros[i]
    FinPara

    Para i <- 1 Hasta 5 Hacer
        Escribir "numeros[", i, "] = ", numeros[i]
    FinPara
FinAlgoritmo

Este es el ejercicio básico para entender cómo se declara, carga y recorre un arreglo.

2. Sumar todos los elementos de un vector

Enunciado: cargar 5 números y calcular la suma total.

Algoritmo SumarVector
    Definir numeros, i, suma Como Entero
    Dimension numeros[5]
    suma <- 0

    Para i <- 1 Hasta 5 Hacer
        Leer numeros[i]
        suma <- suma + numeros[i]
    FinPara

    Escribir "Suma total: ", suma
FinAlgoritmo

La variable suma funciona como acumulador.

3. Calcular el promedio de los elementos

Enunciado: cargar 5 números reales y calcular su promedio.

Algoritmo PromedioVector
    Definir valores Como Real
    Definir i Como Entero
    Definir suma, promedio Como Real
    Dimension valores[5]

    suma <- 0

    Para i <- 1 Hasta 5 Hacer
        Leer valores[i]
        suma <- suma + valores[i]
    FinPara

    promedio <- suma / 5
    Escribir "Promedio: ", promedio
FinAlgoritmo

4. Encontrar el número mayor

Enunciado: cargar 5 números e indicar cuál es el mayor.

Algoritmo MayorDelVector
    Definir numeros, i, mayor Como Entero
    Dimension numeros[5]

    Para i <- 1 Hasta 5 Hacer
        Leer numeros[i]
    FinPara

    mayor <- numeros[1]

    Para i <- 2 Hasta 5 Hacer
        Si numeros[i] > mayor Entonces
            mayor <- numeros[i]
        FinSi
    FinPara

    Escribir "Mayor: ", mayor
FinAlgoritmo

El primer elemento se usa como valor inicial de referencia.

5. Encontrar el número menor

Enunciado: determinar el menor elemento almacenado.

Algoritmo MenorDelVector
    Definir numeros, i, menor Como Entero
    Dimension numeros[5]

    Para i <- 1 Hasta 5 Hacer
        Leer numeros[i]
    FinPara

    menor <- numeros[1]

    Para i <- 2 Hasta 5 Hacer
        Si numeros[i] < menor Entonces
            menor <- numeros[i]
        FinSi
    FinPara

    Escribir "Menor: ", menor
FinAlgoritmo

6. Contar cuántos números pares hay

Enunciado: cargar 10 números y contar cuántos son pares.

Algoritmo ContarPares
    Definir numeros, i, cantidadPares Como Entero
    Dimension numeros[10]

    cantidadPares <- 0

    Para i <- 1 Hasta 10 Hacer
        Leer numeros[i]

        Si numeros[i] MOD 2 = 0 Entonces
            cantidadPares <- cantidadPares + 1
        FinSi
    FinPara

    Escribir "Cantidad de pares: ", cantidadPares
FinAlgoritmo

7. Contar positivos, negativos y ceros

Enunciado: clasificar los valores de un vector según su signo.

Algoritmo ClasificarVector
    Definir numeros, i, positivos, negativos, ceros Como Entero
    Dimension numeros[8]

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

    Para i <- 1 Hasta 8 Hacer
        Leer numeros[i]

        Si numeros[i] > 0 Entonces
            positivos <- positivos + 1
        Sino
            Si numeros[i] < 0 Entonces
                negativos <- negativos + 1
            Sino
                ceros <- ceros + 1
            FinSi
        FinSi
    FinPara

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

8. Buscar un número dentro del vector

Enunciado: cargar 10 números y determinar si un valor buscado se encuentra en el arreglo.

Algoritmo BuscarEnVector
    Definir numeros, i, buscado Como Entero
    Definir encontrado Como Logico
    Dimension numeros[10]

    Para i <- 1 Hasta 10 Hacer
        Leer numeros[i]
    FinPara

    Escribir "Numero a buscar:"
    Leer buscado

    encontrado <- Falso

    Para i <- 1 Hasta 10 Hacer
        Si numeros[i] = buscado Entonces
            encontrado <- Verdadero
        FinSi
    FinPara

    Si encontrado Entonces
        Escribir "El numero esta en el vector"
    Sino
        Escribir "El numero no fue encontrado"
    FinSi
FinAlgoritmo

9. Mostrar el vector en orden inverso

Enunciado: cargar 5 valores y mostrarlos desde el último hasta el primero.

Algoritmo VectorInverso
    Definir numeros, i Como Entero
    Dimension numeros[5]

    Para i <- 1 Hasta 5 Hacer
        Leer numeros[i]
    FinPara

    Para i <- 5 Hasta 1 Con Paso -1 Hacer
        Escribir numeros[i]
    FinPara
FinAlgoritmo

10. Copiar un vector en otro

Enunciado: copiar todos los elementos de un arreglo en un segundo arreglo.

Algoritmo CopiarVector
    Definir origen, copia, i Como Entero
    Dimension origen[5]
    Dimension copia[5]

    Para i <- 1 Hasta 5 Hacer
        Leer origen[i]
        copia[i] <- origen[i]
    FinPara

    Para i <- 1 Hasta 5 Hacer
        Escribir copia[i]
    FinPara
FinAlgoritmo

11. Duplicar todos los valores

Enunciado: multiplicar por 2 cada elemento del vector.

Algoritmo DuplicarVector
    Definir numeros, i Como Entero
    Dimension numeros[5]

    Para i <- 1 Hasta 5 Hacer
        Leer numeros[i]
        numeros[i] <- numeros[i] * 2
    FinPara

    Para i <- 1 Hasta 5 Hacer
        Escribir numeros[i]
    FinPara
FinAlgoritmo

12. Reemplazar números negativos por cero

Enunciado: recorrer un vector y sustituir todos los valores negativos por 0.

Algoritmo ReemplazarNegativos
    Definir numeros, i Como Entero
    Dimension numeros[6]

    Para i <- 1 Hasta 6 Hacer
        Leer numeros[i]

        Si numeros[i] < 0 Entonces
            numeros[i] <- 0
        FinSi
    FinPara

    Para i <- 1 Hasta 6 Hacer
        Escribir numeros[i]
    FinPara
FinAlgoritmo

13. Contar cuántas veces aparece un número

Enunciado: indicar cuántas veces aparece un valor determinado dentro del vector.

Algoritmo ContarRepeticiones
    Definir numeros, i, buscado, cantidad Como Entero
    Dimension numeros[10]

    Para i <- 1 Hasta 10 Hacer
        Leer numeros[i]
    FinPara

    Escribir "Valor a contar:"
    Leer buscado

    cantidad <- 0

    Para i <- 1 Hasta 10 Hacer
        Si numeros[i] = buscado Entonces
            cantidad <- cantidad + 1
        FinSi
    FinPara

    Escribir "Aparece ", cantidad, " veces"
FinAlgoritmo

14. Sumar los elementos ubicados en posiciones pares

Enunciado: sumar los valores almacenados en las posiciones pares 2, 4, 6, 8 y 10.

Algoritmo SumarPosicionesPares
    Definir numeros, i, suma Como Entero
    Dimension numeros[10]

    Para i <- 1 Hasta 10 Hacer
        Leer numeros[i]
    FinPara

    suma <- 0

    Para i <- 2 Hasta 10 Con Paso 2 Hacer
        suma <- suma + numeros[i]
    FinPara

    Escribir "Suma: ", suma
FinAlgoritmo

En este caso hablamos de posiciones pares del vector (2, 4, 6, 8 y 10), no necesariamente de valores pares.

15. Intercambiar el primer y último elemento

Enunciado: intercambiar los extremos de un vector sin perder ninguno de los valores.

Algoritmo IntercambiarExtremos
    Definir numeros, i, auxiliar Como Entero
    Dimension numeros[5]

    Para i <- 1 Hasta 5 Hacer
        Leer numeros[i]
    FinPara

    auxiliar <- numeros[1]
    numeros[1] <- numeros[5]
    numeros[5] <- auxiliar

    Para i <- 1 Hasta 5 Hacer
        Escribir numeros[i]
    FinPara
FinAlgoritmo

16. Comparar dos vectores

Enunciado: determinar si dos vectores tienen exactamente los mismos elementos en las mismas posiciones.

Algoritmo CompararVectores
    Definir a, b, i Como Entero
    Definir iguales Como Logico
    Dimension a[5]
    Dimension b[5]

    Para i <- 1 Hasta 5 Hacer
        Leer a[i]
    FinPara

    Para i <- 1 Hasta 5 Hacer
        Leer b[i]
    FinPara

    iguales <- Verdadero

    Para i <- 1 Hasta 5 Hacer
        Si a[i] <> b[i] Entonces
            iguales <- Falso
        FinSi
    FinPara

    Si iguales Entonces
        Escribir "Los vectores son iguales"
    Sino
        Escribir "Los vectores son diferentes"
    FinSi
FinAlgoritmo

17. Encontrar el segundo número mayor

Enunciado: encontrar el segundo valor distinto más grande de un vector.

Algoritmo SegundoMayor
    Definir numeros, i, mayor, segundo Como Entero
    Definir haySegundo Como Logico
    Dimension numeros[6]

    Para i <- 1 Hasta 6 Hacer
        Leer numeros[i]
    FinPara

    mayor <- numeros[1]
    haySegundo <- Falso

    Para i <- 2 Hasta 6 Hacer
        Si numeros[i] > mayor Entonces
            segundo <- mayor
            mayor <- numeros[i]
            haySegundo <- Verdadero
        Sino
            Si numeros[i] < mayor Entonces
                Si NO haySegundo O numeros[i] > segundo Entonces
                    segundo <- numeros[i]
                    haySegundo <- Verdadero
                FinSi
            FinSi
        FinSi
    FinPara

    Si haySegundo Entonces
        Escribir "Segundo mayor: ", segundo
    Sino
        Escribir "No existe un segundo valor distinto"
    FinSi
FinAlgoritmo

La variable haySegundo permite controlar el caso en que todos los elementos tengan el mismo valor.

18. Ordenar un vector de menor a mayor

Enunciado: ordenar 5 números utilizando el método burbuja.

Algoritmo OrdenamientoBurbuja
    Definir numeros, i, j, auxiliar Como Entero
    Dimension numeros[5]

    Para i <- 1 Hasta 5 Hacer
        Leer numeros[i]
    FinPara

    Para i <- 1 Hasta 4 Hacer
        Para j <- 1 Hasta 5 - i Hacer
            Si numeros[j] > numeros[j + 1] Entonces
                auxiliar <- numeros[j]
                numeros[j] <- numeros[j + 1]
                numeros[j + 1] <- auxiliar
            FinSi
        FinPara
    FinPara

    Escribir "Vector ordenado:"
    Para i <- 1 Hasta 5 Hacer
        Escribir numeros[i]
    FinPara
FinAlgoritmo

El ordenamiento burbuja compara elementos vecinos e intercambia sus posiciones cuando están en el orden incorrecto.

19. Eliminar lógicamente un elemento

Enunciado: eliminar un elemento de una posición determinada desplazando hacia la izquierda los valores siguientes.

Algoritmo EliminarElemento
    Definir numeros, i, posicion, cantidad Como Entero
    Dimension numeros[5]

    cantidad <- 5

    Para i <- 1 Hasta cantidad Hacer
        Leer numeros[i]
    FinPara

    Escribir "Posicion a eliminar (1 a 5):"
    Leer posicion

    Si posicion >= 1 Y posicion <= cantidad Entonces
        Para i <- posicion Hasta cantidad - 1 Hacer
            numeros[i] <- numeros[i + 1]
        FinPara

        cantidad <- cantidad - 1

        Para i <- 1 Hasta cantidad Hacer
            Escribir numeros[i]
        FinPara
    Sino
        Escribir "Posicion invalida"
    FinSi
FinAlgoritmo

El arreglo mantiene su tamaño físico, pero la variable cantidad indica cuántas posiciones seguimos considerando válidas.

20. Unir dos vectores

Enunciado: cargar dos vectores de 3 elementos y generar un tercero con los 6 valores.

Algoritmo UnirVectores
    Definir a, b, c, i Como Entero
    Dimension a[3]
    Dimension b[3]
    Dimension c[6]

    Para i <- 1 Hasta 3 Hacer
        Leer a[i]
    FinPara

    Para i <- 1 Hasta 3 Hacer
        Leer b[i]
    FinPara

    Para i <- 1 Hasta 3 Hacer
        c[i] <- a[i]
        c[i + 3] <- b[i]
    FinPara

    Para i <- 1 Hasta 6 Hacer
        Escribir c[i]
    FinPara
FinAlgoritmo

¿Cómo practicar estos ejercicios?

La mejor forma de aprovecharlos es escribir cada algoritmo en PSeInt y modificarlo. Probá cambiar la cantidad de elementos, agregar validaciones, utilizar números reales o intentar resolver el mismo problema sin mirar la solución.

Si todavía estás empezando, te conviene pasar primero por PSeInt: ejemplos básicos resueltos. También podés continuar con 20 ejercicios resueltos de PSeInt con ciclos y condicionales y con nuestra guía de arreglos en PSeInt.


¿Te sirvieron estos ejercicios? ☕

Si este contenido te ayudó a estudiar, resolver una práctica o entender mejor los vectores, podés apoyar a Club Programador. Cada aporte ayuda a mantener el sitio y seguir publicando material gratuito.

🇦🇷 Apoyar desde Argentina

☕ Invitame un café con Mercado Pago

🌎 Apoyar desde otro país

☕ Apoyar con PayPal

También podés visitar la página Apoyar Club Programador.

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.

Número par o impar en PSeInt: ejercicio resuelto paso a paso

Aprendé a determinar si un número es par o impar en PSeInt usando MOD, con ejemplo resuelto, explicación paso a paso y ejercicios para practicar.

Determinar si un número es par o impar en PSeInt es uno de los ejercicios más comunes para comenzar a practicar condicionales y el operador MOD.

Enunciado

Crear un algoritmo que solicite un número entero al usuario e indique si ese número es par o impar.

Solución en PSeInt

Algoritmo ParOImpar
    Escribir "Ingrese un numero entero"
    Leer nro

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

¿Cómo funciona?

El operador MOD devuelve el resto de una división. Si al dividir un número por 2 el resto es 0, entonces el número es par. Si el resto es distinto de 0, es impar.

Por ejemplo, 8 MOD 2 devuelve 0, mientras que 7 MOD 2 devuelve 1.

Ejemplo de ejecución

Ingrese un numero entero
15
El numero es impar

Ejercicios para practicar

  • Modificar el algoritmo para indicar además si el número es positivo, negativo o cero.
  • Ingresar 10 números y contar cuántos son pares y cuántos impares.
  • Mostrar todos los números pares comprendidos entre 1 y 100.

¿Te sirvió este ejercicio? ☕

Si este contenido te ayudó, podés apoyar a Club Programador con el monto que quieras. Tu aporte nos ayuda a seguir publicando ejercicios resueltos y material gratuito.

Más ejercicios de PSeInt

Podés seguir practicando con nuestra guía de ejercicios básicos resueltos en PSeInt y con los ejemplos de arreglos y vectores en PSeInt.

Número primo en PSeInt: ejercicio resuelto y explicado

Cómo determinar si un número es primo en PSeInt, con algoritmo optimizado, explicación paso a paso y ejercicios para practicar.

Comprobar si un número es primo en PSeInt es un excelente ejercicio para practicar ciclos, condicionales y el operador MOD.

¿Qué es un número primo?

Un número primo es un entero mayor que 1 que tiene exactamente dos divisores positivos: 1 y él mismo. Por ejemplo, 2, 3, 5, 7 y 11 son primos.

Enunciado

Crear un algoritmo que solicite un número entero e indique si es primo o no.

Solución en PSeInt

Algoritmo NumeroPrimo
    Escribir "Ingrese un numero entero"
    Leer nro

    Si nro <= 1 Entonces
        Escribir "No es primo"
    Sino
        divisor <- 2
        esPrimo <- Verdadero

        Mientras divisor * divisor <= nro Y esPrimo Hacer
            Si nro MOD divisor = 0 Entonces
                esPrimo <- Falso
            FinSi
            divisor <- divisor + 1
        FinMientras

        Si esPrimo Entonces
            Escribir "Es primo"
        Sino
            Escribir "No es primo"
        FinSi
    FinSi
FinAlgoritmo

Explicación paso a paso

Primero se descartan todos los valores menores o iguales a 1. Después se prueban divisores comenzando por 2. Si alguno divide exactamente al número, la variable esPrimo pasa a falso.

No hace falta probar hasta el propio número. Basta con comprobar divisores mientras divisor * divisor <= nro, lo que equivale a verificar hasta la raíz cuadrada.

Ejemplo de ejecución

Ingrese un numero entero
29
Es primo

Ejercicios para practicar

  • Mostrar todos los números primos entre 1 y 100.
  • Contar cuántos números primos hay entre dos valores ingresados.
  • Modificar el algoritmo para guardar los primos encontrados en un arreglo.

¿Te sirvió este ejercicio? ☕

Si este contenido te ayudó, podés apoyar a Club Programador con el monto que quieras. Tu aporte nos ayuda a seguir publicando ejercicios resueltos y material gratuito.

Más ejercicios de PSeInt

También podés consultar nuestra colección de ejercicios básicos resueltos en PSeInt y los ejercicios de arreglos y vectores.

Suma de dígitos de un número en PSeInt: ejercicio resuelto

Ejercicio resuelto en PSeInt para sumar los dígitos de un número usando MOD y Trunc, con explicación paso a paso y ejemplos.

Sumar los dígitos de un número en PSeInt es un ejercicio clásico para practicar ciclos y operaciones matemáticas como MOD y Trunc.

Enunciado

Crear un algoritmo que solicite un número entero positivo y calcule la suma de todos sus dígitos. Por ejemplo, si el usuario ingresa 123, el resultado debe ser 6.

Solución en PSeInt

Algoritmo SumaDigitos
    Escribir "Ingrese un numero positivo"
    Leer nro

    resultado <- 0

    Mientras nro <> 0 Hacer
        resultado <- resultado + nro MOD 10
        nro <- Trunc(nro / 10)
    FinMientras

    Escribir "La suma de los digitos es: ", resultado
FinAlgoritmo

¿Cómo funciona?

La expresión nro MOD 10 obtiene el último dígito del número. Luego, Trunc(nro / 10) elimina ese último dígito para continuar con el siguiente.

Si el número es 123, las iteraciones trabajan con 3, luego 2 y finalmente 1. El acumulador termina con 3 + 2 + 1 = 6.

Ejemplo de ejecución

Ingrese un numero positivo
583
La suma de los digitos es: 16

Versión que acepta números negativos

Si querés admitir números negativos, podés convertir primero el valor a positivo con Abs:

nro <- Abs(nro)

De esa manera, por ejemplo, -583 también devolverá 16.

Ejercicios para practicar

  • Contar cuántos dígitos tiene un número.
  • Calcular el producto de todos sus dígitos.
  • Determinar cuál es el dígito mayor de un número.
  • Invertir el orden de los dígitos.

¿Te sirvió este ejercicio? ☕

Si este contenido te ayudó, podés apoyar a Club Programador con el monto que quieras. Tu aporte nos ayuda a seguir publicando ejercicios resueltos y material gratuito.

Más ejercicios de PSeInt

Encontrá más ejemplos en nuestra guía de ejercicios básicos resueltos en PSeInt y en los ejercicios de arreglos y vectores en PSeInt.

Base matemática

Una intriga muy común que surge en todo nuevo aprendiz en la programación es el nivel matemático requerido para esta disciplina. En las carreras universitarias del área siempre nos vamos a encontrar con materias como álgebra, cálculo, probabilidad, estadísticas, matemática discreta, geometría analítica, entre otras, dependiendo del grado del título de la carrera.  Estas asignaturas proporcionan un importante sustento científico a los estudiantes que obtendrán su título para ejercer como futuros profesionales.

Pero vayamos al caso que nos interesa aquí, las personas que quieren aprender a programar por cuenta propia y deciden comenzar con la visita a diversos sitios que se correspondan al tema o leen libros hasta que se topan con esta gran interrogación: ¿Necesito saber matemática para programar?

Los cálculos que se procesan en un sistema pertenecen a un algoritmo que un programador tuvo que diseñar previamente, es decir, se efectúan operaciones que su creador tuvo que entender antes de resolverlas o al menos saber aplicarlas.

Lo cierto es que para adentrarse con un pie derecho en este mundo lo primero que se necesita es aprender propiedades básicas algebraicas que nos permitan resolver cálculos o plantear ecuaciones y funciones para desarrollar un problema en papel y luego poder programarlo en la computadora. Si ya tenes un poco de este manejo entonces podrás animarte a comenzar con la introducción a la lógica de programación y aprender a desarrollar algoritmos que resuelvan  tareas sencillas que en su conjunto conformarán un programa.

Entonces, de nuevo, ¿Es necesario saber matemática para programar?, la respuesta es sí, pero lo bueno es que podemos ir aprendiendo sus utilidades a medida que las vayamos necesitando. Como en cualquier disciplina que uno se tome con responsabilidad, sino sabemos como resolver algo tendremos que informarnos e investigar hasta dar con la respuesta que sepamos que es la correcta.

Por ejemplo, se puede no saber utilizar el 100% de las herramientas y utilidades que tiene Microsoft Word, pero si manejo las que necesito en cada caso podré crear un currículum, un informe, un libro u otro documento formal sin usar mas que una pequeña parte de esas utilidades. Si un día no se como aplicar una determinada sangría por ejemplo, entonces buscaré ejemplos en internet o lo consultare con alguien que si sepa lo que necesito para así aprender y luego aplicarlo.

Lo más importante acá es estar siempre dispuesto a seguir aprendiendo cosas nuevas o que mejoren lo que ya sabemos hacer. De nada sirve ir a la universidad, obtener un título y solo quedarnos con eso. La programación es un mundo que avanza muy rápidamente y no tardara en quedar obsoleto todo aquel que no se mantenga un poco actualizado. Internet es una gran herramienta tanto para el que está aprendiendo a programar como para el que ya trabaja como programador, en ambos casos siempre es necesario buscar ejemplos de cosas que queremos hacer como también aprender acerca del manejo de nuevos lenguajes, frameworks, etc. Antes solo habían libros para consulta, que son una gran fuente de aprendizaje pero podemos tardar mucho más en encontrar una respuesta que se ajuste a nuestro problema, entonces aprovechemos esta gran ventaja que nos deja la web.

La idea de esta publicación es animar a todos aquellos que tengan miedo a encontrarse con matemáticas en la carrera del programador…sepan que no es tan difícil como suele plantearse. En la mayoría de los casos, todo depende mas bien del área en el que nos vayamos a desarrollar…pero con esfuerzo y dedicación mas que nada todo se aprende.

 

 

Ejemplo de Calculadora en PSeint

A continación se muestra un algoritmo sencillo que representa una calculadora de las cuatro operaciones básicas:

Algoritmo Calculadora
	Repetir
		Escribir "Ingrese un número:"
		Leer n1
		Escribir "Ingrese otro número:"
		Leer n2
		Escribir "Ingrese el numero de operación: "
		Escribir " 1) Suma"
		Escribir " 2) Resta"
		Escribir " 3) División"
		Escribir " 4) Multiplicación"
		Escribir "Ingrese 0 para salir"
		Leer operacion
		Segun operacion Hacer
			1:
			  Escribir n1, " + ", n2, " = ", n1+n2
			2:
			  Escribir n1, " - ", n2, " = ", n1-n2
			3:
			  Escribir n1, " / ", n2, " = ", n1/n2
			4:  
		          Escribir n1, " * ", n2, " = ", n1*n2
                        De Otro Modo:
			SI operacion <> 0 Entonces
			  Escribir  "No es una opción válida"
		        FinSi
		Fin Segun
	Hasta Que operacion == 0
FinAlgoritmo

Seguí practicando PSeInt

Este ejercicio combina entrada de datos, repetición y selección múltiple. Para seguir practicando estos conceptos, podés continuar con:

Trazas: verificación de algoritmos

La traza de un programa indica la secuencia de instrucciones de su ejecución, así como, el valor de las variables del algoritmo después de cada instrucción. Cada fila de la tabla es un ciclo de ejecución, excepto la primera que contiene los valores iniciales. El principal objetivo de una traza es evaluar la ejecución de un algoritmo para corroborar que haga exactamente lo que se quiere y detectar errores en el caso de que no. Solo necesitamos el algoritmo a evaluar, un lápiz y un papel.

En el siguiente ejemplo puede verse un algoritmo que suma números y a su derecha la traza correspondiente para los valores iniciales de variables «nro» igual a 1 y «resul» igual a 0. Se debe seguir paso a paso cada instrucción del algoritmo como si nosotros fuéramos el procesador y en cada ciclo del «Mientras» se obtendrán nuevos valores para las variables mencionadas, en el primer ciclo se obtiene que nro = 2 y resul = 1, en el siguiente ciclo tacho estos valores (a modo de evitar confusiones) y en la fila siguiente completo los valores correspondientes que serían en este caso nro = 3 y resul = 3. Esto continúa repetitivamente hasta que se cumpla la condición de corte del ciclo «Mientras» y después seguiría hasta finalizar cada instrucción siguiente del algoritmo. Se obtienen los siguientes valores del proceso total del algoritmo: nro = 5 y resul = 10.

Arreglos en PSeInt

Arreglos y vectores en PSeInt explicados con ejemplos resueltos: carga de datos, suma de elementos, recorridos y búsqueda del mayor valor.

Los arreglos en PSeInt permiten almacenar varios valores del mismo tipo bajo un único nombre. También suelen llamarse vectores cuando tienen una sola dimensión.

En lugar de crear una variable distinta para cada dato, un arreglo permite acceder a cada elemento mediante una posición o subíndice. Esto resulta especialmente útil cuando necesitamos recorrer, sumar, buscar o comparar muchos valores.

Practicá más con arreglos

Si ya entendés el concepto básico, podés continuar con 20 ejercicios resueltos de PSeInt con vectores y después avanzar a 20 ejercicios resueltos con matrices.

También tenés disponible la guía completa de PSeInt con todos los temas ordenados.

Cómo declarar un arreglo en PSeInt

Para crear un arreglo se utiliza la palabra clave Dimension:

Dimension numeros[7]

En este ejemplo, numeros es el nombre del arreglo y 7 indica la cantidad de posiciones disponibles.

Importante: la posición inicial de los arreglos puede depender del perfil o la configuración utilizada en PSeInt. En estos ejemplos trabajaremos con posiciones desde 1, que es una configuración habitual en ejercicios introductorios.

Índice de ejemplos

  1. Crear y mostrar un arreglo de 7 elementos
  2. Ingresar 5 números en un arreglo
  3. Sumar los elementos de un arreglo
  4. Encontrar el mayor valor de un arreglo

Ejemplo 1: crear y mostrar un arreglo de 7 elementos

Enunciado: crear un arreglo de dimensión 7, asignar un valor numérico a cada posición y mostrar todos los elementos en pantalla.

Algoritmo ArregloNumeros
    Dimension numeros[7]

    numeros[1] <- 20
    numeros[2] <- 14
    numeros[3] <- 8
    numeros[4] <- 0
    numeros[5] <- 5
    numeros[6] <- 19
    numeros[7] <- 4

    Para i <- 1 Hasta 7 Hacer
        Escribir "Posicion: ", i, " - Valor: ", numeros[i]
    FinPara
FinAlgoritmo

El ciclo recorre las siete posiciones del vector. En la versión anterior de este ejemplo el recorrido terminaba en 5, por lo que los dos últimos elementos no se mostraban.

Salida de un arreglo en PSeInt

Representación gráfica:

Representación de un vector en PSeInt

Los subíndices permiten identificar cada posición. Por ejemplo, en este vector el valor 14 se encuentra en la posición 2.

¿El tamaño de un arreglo puede ser una variable?

Sí, siempre que esa variable tenga un valor válido antes de ejecutar la instrucción Dimension. Por ejemplo:

Algoritmo VectorConTamanio
    Escribir "Ingrese el tamaño del vector"
    Leer n

    Si n > 0 Entonces
        Dimension numeros[n]
    FinSi
FinAlgoritmo

Lo importante es que el tamaño sea un número entero positivo al momento de dimensionar el arreglo.

Ejemplo 2: ingresar 5 números en un arreglo

Enunciado: permitir al usuario ingresar 5 números y luego mostrar cada valor junto con su posición.

Algoritmo Arreglo5Numeros
    Dimension numeros[5]

    Para i <- 1 Hasta 5 Hacer
        Escribir "Ingrese el numero de la posicion ", i
        Leer numeros[i]
    FinPara

    Para i <- 1 Hasta 5 Hacer
        Escribir "Posicion: ", i, " - Valor: ", numeros[i]
    FinPara
FinAlgoritmo

El primer ciclo carga los datos y el segundo recorre nuevamente el arreglo para mostrarlos.

Ejemplo 3: sumar los elementos de un arreglo

Enunciado: ingresar 5 valores numéricos en un arreglo, sumarlos y mostrar el resultado.

Algoritmo SumaArreglo
    Dimension arreglo[5]
    suma <- 0

    Para i <- 1 Hasta 5 Hacer
        Escribir "Ingrese el numero de la posicion ", i
        Leer arreglo[i]
        suma <- suma + arreglo[i]
    FinPara

    Escribir "Los valores ingresados fueron:"
    Para i <- 1 Hasta 5 Hacer
        Escribir arreglo[i]
    FinPara

    Escribir "La suma total es: ", suma
FinAlgoritmo

La variable suma funciona como acumulador. Cada nuevo elemento leído se agrega al total.

Ejemplo 4: encontrar el mayor valor de un arreglo

Enunciado: ingresar 10 valores numéricos y mostrar cuál es el mayor.

Algoritmo MayorValorArreglo
    Dimension arreglo[10]

    Para i <- 1 Hasta 10 Hacer
        Escribir "Ingrese el numero de la posicion ", i
        Leer arreglo[i]
    FinPara

    mayor <- arreglo[1]

    Para i <- 2 Hasta 10 Hacer
        Si arreglo[i] > mayor Entonces
            mayor <- arreglo[i]
        FinSi
    FinPara

    Escribir "El numero mayor es: ", mayor
FinAlgoritmo

La variable mayor debe inicializarse con un valor real del arreglo, por ejemplo el primer elemento. Esto evita errores cuando todos los números ingresados son negativos.

Conceptos que se practican con arreglos

  • Declaración con Dimension.
  • Acceso a elementos mediante subíndices.
  • Carga de datos con ciclos Para.
  • Acumuladores.
  • Búsqueda de valores máximos o mínimos.
  • Recorrido completo de vectores.

¿Te sirvió este ejercicio? ☕

Si este contenido te ayudó, podés apoyar a Club Programador con el monto que quieras. Tu aporte nos ayuda a seguir publicando ejercicios resueltos y material gratuito.

☕ Apoyar con PayPal

Más ejercicios resueltos de PSeInt

Si estás practicando lógica de programación, también podés consultar:

Una buena práctica es resolver estos mismos ejercicios cambiando la cantidad de elementos del arreglo o agregando nuevas consignas, como calcular el promedio, encontrar el menor valor o contar cuántos números cumplen una condición.

PSeInt: Ejemplos básicos resueltos

12 ejercicios de PSeInt resueltos y explicados paso a paso: condicionales, ciclos, números primos, divisores, promedios y más ejemplos para practicar lógica de programación.

Si estás aprendiendo lógica de programación, estos ejercicios resueltos en PSeInt te pueden servir para practicar las estructuras más utilizadas: lectura de datos, condicionales, ciclos, acumuladores y operaciones matemáticas.

Todos los ejemplos están pensados para que puedas copiarlos en PSeInt, ejecutarlos, modificarlos y entender qué hace cada parte del algoritmo.

¿Querés seguir aprendiendo PSeInt?

Podés continuar con la guía completa de PSeInt o practicar por tema:

Índice de ejercicios

  1. Hola Mundo
  2. Mayor, menor o igual a 9
  3. Número par o impar
  4. Suma de dos números
  5. Suma de números pares entre 2 y 100
  6. Divisores de un número
  7. Promedio de calificaciones: aprobado o reprobado
  8. Repetir un nombre utilizando Mientras
  9. Suma del 1 al 50 utilizando Repetir
  10. Sumar o multiplicar tres números
  11. Determinar si un número es primo
  12. Suma de los dígitos de un número

1. Hola Mundo en PSeInt

Enunciado: escribir un programa que muestre el texto “¡Hola mundo!”.

Algoritmo hola_mundo
    Escribir "Hola mundo"
FinAlgoritmo

Es el ejemplo más simple posible: permite comprobar cómo se define un algoritmo y cómo se muestra un mensaje en pantalla con Escribir.

2. Mayor, menor o igual a 9

Enunciado: ingresar un número e indicar si es mayor, menor o igual a 9.

Algoritmo MayoresIgualesMenoresA9
    Escribir "Ingrese un numero"
    Leer N

    Si N = 9 Entonces
        Escribir "El numero es igual a 9"
    Sino
        Si N > 9 Entonces
            Escribir "El numero es mayor a 9"
        Sino
            Escribir "El numero es menor a 9"
        FinSi
    FinSi
FinAlgoritmo

Este ejercicio sirve para practicar decisiones mediante la estructura Si ... Entonces ... Sino.

3. Número par o impar en PSeInt

Enunciado: ingresar un número e indicar si es par o impar.

Algoritmo ParidadNumeros
    Escribir "Ingrese un numero"
    Leer nro

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

La operación MOD devuelve el resto de una división. Si el resto de dividir un número por 2 es 0, el número es par. Ver el ejercicio de número par o impar explicado paso a paso.

4. Suma de dos números en PSeInt

Enunciado: ingresar dos números y mostrar el resultado de su suma.

Algoritmo SumaDosNumeros
    Escribir "Ingrese el numero 1"
    Leer Num1

    Escribir "Ingrese el numero 2"
    Leer Num2

    resultado <- Num1 + Num2
    Escribir "El resultado es: ", resultado
FinAlgoritmo

Primero se leen los dos valores, luego se almacena la suma en una tercera variable y finalmente se muestra el resultado.

5. Suma de números pares entre 2 y 100

Enunciado: sumar todos los números pares comprendidos entre 2 y 100.

Algoritmo SumaDePares
    suma <- 0
    nro <- 2

    Mientras nro <= 100 Hacer
        Si nro MOD 2 = 0 Entonces
            suma <- suma + nro
        FinSi
        nro <- nro + 1
    FinMientras

    Escribir "La suma de los pares entre 2 y 100 es: ", suma
FinAlgoritmo

Aquí se utiliza suma como acumulador. En cada vuelta del ciclo se agrega el número actual solamente si es par.

6. Divisores de un número

Enunciado: ingresar un número y mostrar todos sus divisores.

Algoritmo DivisoresDeNumero
    Escribir "Ingrese un numero positivo"
    Leer num

    div <- 1

    Mientras div <= num Hacer
        Si num MOD div = 0 Entonces
            Escribir div
        FinSi
        div <- div + 1
    FinMientras
FinAlgoritmo

Un número es divisor de otro cuando el resto de la división es cero. Por eso se prueba cada valor desde 1 hasta el número ingresado.

7. Promedio de calificaciones: aprobado o reprobado

Enunciado: ingresar tres calificaciones. El alumno aprueba si su promedio es mayor o igual a 4.

Algoritmo ApruebaReprueba
    Escribir "Ingrese calificacion 1"
    Leer cal1

    Escribir "Ingrese calificacion 2"
    Leer cal2

    Escribir "Ingrese calificacion 3"
    Leer cal3

    promedio <- (cal1 + cal2 + cal3) / 3

    Si promedio >= 4 Entonces
        Escribir "Aprueba"
    Sino
        Escribir "Reprueba"
    FinSi

    Escribir "Promedio: ", promedio
FinAlgoritmo

El ejercicio combina operaciones aritméticas y una estructura condicional para tomar una decisión a partir del promedio.

8. Repetir un nombre utilizando Mientras

Enunciado: ingresar un nombre y una cantidad, y mostrar el nombre tantas veces como indique esa cantidad.

Algoritmo CantidadNombre
    Escribir "Ingrese un nombre"
    Leer nombre

    Escribir "Ingrese una cantidad"
    Leer cantidad

    Mientras cantidad > 0 Hacer
        Escribir nombre
        cantidad <- cantidad - 1
    FinMientras
FinAlgoritmo

En cada repetición se resta 1 a la cantidad hasta llegar a cero, momento en el que finaliza el ciclo.

9. Suma del 1 al 50 utilizando Repetir

Enunciado: sumar todos los números naturales comprendidos entre 1 y 50 utilizando Repetir.

Algoritmo SumaNumerosNaturales1a50
    num <- 1
    resultado <- 0

    Repetir
        resultado <- resultado + num
        num <- num + 1
    Hasta Que num > 50

    Escribir "El resultado es: ", resultado
FinAlgoritmo

El acumulador comienza en cero y recibe el valor de cada número antes de incrementar el contador.

10. Sumar o multiplicar tres números

Enunciado: ingresar tres números. Si el primero es negativo, multiplicar los tres; de lo contrario, sumarlos.

Algoritmo TresNumeros
    Escribir "Ingrese numero 1"
    Leer num1

    Escribir "Ingrese numero 2"
    Leer num2

    Escribir "Ingrese numero 3"
    Leer num3

    Si num1 < 0 Entonces
        resultado <- num1 * num2 * num3
    Sino
        resultado <- num1 + num2 + num3
    FinSi

    Escribir "Resultado: ", resultado
FinAlgoritmo

La operación que se realiza depende del signo del primer número ingresado.

11. Número primo en PSeInt

Enunciado: determinar si un número entero ingresado es primo. Un número primo es un entero mayor que 1 que solamente tiene dos divisores positivos: 1 y él mismo.

Algoritmo NumeroPrimo
    Escribir "Ingrese un numero entero"
    Leer nro

    Si nro <= 1 Entonces
        Escribir "No es primo"
    Sino
        divisor <- 2
        esPrimo <- Verdadero

        Mientras divisor * divisor <= nro Y esPrimo Hacer
            Si nro MOD divisor = 0 Entonces
                esPrimo <- Falso
            FinSi
            divisor <- divisor + 1
        FinMientras

        Si esPrimo Entonces
            Escribir "Es primo"
        Sino
            Escribir "No es primo"
        FinSi
    FinSi
FinAlgoritmo

No es necesario probar divisores hasta el propio número: alcanza con comprobar hasta su raíz cuadrada. Esto reduce considerablemente la cantidad de iteraciones. Ver el ejercicio de número primo explicado paso a paso.

12. Suma de los dígitos de un número

Enunciado: sumar todos los dígitos de un número entero positivo. Por ejemplo, para 123 el resultado debe ser 6.

Algoritmo SumaDigitos
    Escribir "Ingrese un numero positivo"
    Leer nro

    resultado <- 0

    Mientras nro <> 0 Hacer
        resultado <- resultado + nro MOD 10
        nro <- Trunc(nro / 10)
    FinMientras

    Escribir "El resultado es: ", resultado
FinAlgoritmo

MOD 10 permite obtener el último dígito, mientras que Trunc(nro / 10) elimina ese dígito para continuar con el siguiente. Ver el ejercicio de suma de dígitos explicado paso a paso.


¿Te sirvió este ejercicio? ☕

Si este contenido te ayudó, podés apoyar a Club Programador con el monto que quieras. Tu aporte nos ayuda a seguir publicando ejercicios resueltos y material gratuito.

🇦🇷 Apoyar desde Argentina

☕ Invitame un café con Mercado Pago

🌎 Apoyar desde otro país

☕ Apoyar con PayPal

Más ejercicios de PSeInt

Si querés continuar practicando, también podés consultar estos contenidos del sitio:

¿Cómo aprovechar estos ejercicios?

Una buena forma de aprender es ejecutar primero cada solución y después intentar modificarla: cambiar los límites de los ciclos, agregar validaciones, utilizar otros valores o resolver el mismo problema con una estructura diferente. El objetivo no es solamente copiar el código, sino entender la lógica que hay detrás de cada algoritmo.

Pasar de PSeInt a Python

Si ya entendés la lógica con pseudocódigo y querés dar el siguiente paso, podés continuar con De PSeInt a Python: 10 algoritmos traducidos paso a paso o recorrer la guía completa de Python.