De PSeInt a Python: 10 algoritmos traducidos paso a paso

Aprendé a pasar de PSeInt a Python con 10 algoritmos traducidos paso a paso: condicionales, ciclos, listas, búsquedas, funciones y más.


Si ya aprendiste lógica de programación con PSeInt, pasar a Python no significa empezar de cero. Los conceptos siguen siendo los mismos: variables, decisiones, ciclos, listas, funciones y algoritmos. Lo que cambia es la sintaxis y algunas convenciones del lenguaje.

En esta guía vamos a tomar 10 algoritmos conocidos y traducirlos paso a paso de PSeInt a Python. La idea es que puedas reconocer rápidamente qué parte del pseudocódigo corresponde a cada instrucción real.

La lógica no cambia: cambia la forma de escribirla.

En PSeInt nos concentrábamos en describir el algoritmo. En Python escribimos código real que será interpretado y ejecutado por la computadora. Por eso aparecen reglas concretas como la indentación, los índices desde 0 y la conversión de datos ingresados con input().

Equivalencias rápidas entre PSeInt y Python

PSeInt Python
Escribir print()
Leer input()
Si if
Sino else
Mientras while
Para for
MOD %
SubProceso def
vector desde posición 1 lista desde posición 0

1. Entrada y salida de datos

PSeInt

Algoritmo Saludo
    Definir nombre Como Caracter

    Escribir "Ingrese su nombre:"
    Leer nombre

    Escribir "Hola ", nombre
FinAlgoritmo

Python

nombre = input("Ingrese su nombre: ")
print("Hola", nombre)

En Python no necesitamos declarar previamente la variable. input() recibe el dato y lo guarda como texto.

2. Número par o impar

PSeInt

Algoritmo ParImpar
    Definir numero Como Entero

    Escribir "Ingrese un numero:"
    Leer numero

    Si numero MOD 2 = 0 Entonces
        Escribir "Es par"
    Sino
        Escribir "Es impar"
    FinSi
FinAlgoritmo

Python

numero = int(input("Ingrese un numero: "))

if numero % 2 == 0:
    print("Es par")
else:
    print("Es impar")

MOD se reemplaza por %. También convertimos el resultado de input() con int() porque necesitamos trabajar con un entero.

3. Mayor de dos números

PSeInt

Algoritmo MayorDeDos
    Definir a, b Como Real

    Escribir "Ingrese dos numeros:"
    Leer a
    Leer b

    Si a > b Entonces
        Escribir "El mayor es ", a
    Sino
        Si b > a Entonces
            Escribir "El mayor es ", b
        Sino
            Escribir "Son iguales"
        FinSi
    FinSi
FinAlgoritmo

Python

a = float(input("Ingrese el primer numero: "))
b = float(input("Ingrese el segundo numero: "))

if a > b:
    print("El mayor es", a)
elif b > a:
    print("El mayor es", b)
else:
    print("Son iguales")

Python incorpora elif, que permite expresar una segunda condición sin anidar otro if.

4. Promedio de notas

PSeInt

Algoritmo PromedioNotas
    Definir nota1, nota2, nota3, promedio Como Real

    Leer nota1
    Leer nota2
    Leer nota3

    promedio <- (nota1 + nota2 + nota3) / 3

    Escribir "Promedio: ", promedio
FinAlgoritmo

Python

nota1 = float(input("Nota 1: "))
nota2 = float(input("Nota 2: "))
nota3 = float(input("Nota 3: "))

promedio = (nota1 + nota2 + nota3) / 3

print("Promedio:", promedio)

La asignación que en PSeInt escribíamos con <- en Python se realiza con =.

5. Factorial de un número

PSeInt

Algoritmo Factorial
    Definir numero, i, resultado Como Entero

    Escribir "Ingrese un numero:"
    Leer numero

    resultado <- 1

    Para i <- 1 Hasta numero Hacer
        resultado <- resultado * i
    FinPara

    Escribir "Factorial: ", resultado
FinAlgoritmo

Python

numero = int(input("Ingrese un numero: "))
resultado = 1

for i in range(1, numero + 1):
    resultado = resultado * i

print("Factorial:", resultado)

En Python, el límite final de range() no se incluye. Por eso usamos numero + 1 para recorrer desde 1 hasta el número ingresado.

6. Determinar si un número es primo

PSeInt

Algoritmo NumeroPrimo
    Definir numero, divisor Como Entero
    Definir esPrimo Como Logico

    Escribir "Ingrese un numero:"
    Leer numero

    esPrimo <- Verdadero
    divisor <- 2

    Si numero < 2 Entonces
        esPrimo <- Falso
    FinSi

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

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

Python

numero = int(input("Ingrese un numero: "))

es_primo = numero >= 2
divisor = 2

while divisor * divisor <= numero and es_primo:
    if numero % divisor == 0:
        es_primo = False
    else:
        divisor += 1

if es_primo:
    print("Es primo")
else:
    print("No es primo")

Los valores lógicos se escriben True y False. El operador lógico Y pasa a ser and.

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

PSeInt

Algoritmo SumaDigitos
    Definir numero, suma, digito Como Entero

    Escribir "Ingrese un numero positivo:"
    Leer numero

    suma <- 0

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

    Escribir "Suma de digitos: ", suma
FinAlgoritmo

Python

numero = int(input("Ingrese un numero positivo: "))
suma = 0

while numero > 0:
    digito = numero % 10
    suma += digito
    numero //= 10

print("Suma de digitos:", suma)

En Python, // realiza división entera. Esto nos permite eliminar el último dígito sin utilizar Trunc().

8. Recorrer un vector: de vector a lista

PSeInt

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

    numeros[1] <- 10
    numeros[2] <- 20
    numeros[3] <- 30
    numeros[4] <- 40
    numeros[5] <- 50

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

Python

numeros = [10, 20, 30, 40, 50]

for numero in numeros:
    print(numero)

Python permite recorrer directamente los elementos de una lista sin necesidad de manejar el índice.

Si necesitáramos acceder por posición, debemos recordar que los índices comienzan en 0:

print(numeros[0])  # 10
print(numeros[4])  # 50

9. Búsqueda secuencial

PSeInt

Algoritmo BusquedaSecuencial
    Definir numeros, i, buscado, posicion Como Entero
    Definir encontrado Como Logico
    Dimension numeros[5]

    numeros[1] <- 10
    numeros[2] <- 20
    numeros[3] <- 30
    numeros[4] <- 40
    numeros[5] <- 50

    Escribir "Ingrese el valor a buscar:"
    Leer buscado

    encontrado <- Falso
    posicion <- 1

    Mientras posicion <= 5 Y NO encontrado Hacer
        Si numeros[posicion] = buscado Entonces
            encontrado <- Verdadero
        Sino
            posicion <- posicion + 1
        FinSi
    FinMientras

    Si encontrado Entonces
        Escribir "Encontrado en la posicion ", posicion
    Sino
        Escribir "No encontrado"
    FinSi
FinAlgoritmo

Python

numeros = [10, 20, 30, 40, 50]
buscado = int(input("Ingrese el valor a buscar: "))

encontrado = False
posicion = 0

while posicion < len(numeros) and not encontrado:
    if numeros[posicion] == buscado:
        encontrado = True
    else:
        posicion += 1

if encontrado:
    print("Encontrado en la posicion", posicion)
else:
    print("No encontrado")

Aquí el índice 0 sí es una posición válida. Si buscamos 10, Python lo encuentra en la posición 0.

Más adelante veremos que Python ofrece herramientas más directas para ciertas búsquedas, pero implementar el algoritmo manualmente sigue siendo fundamental para entender cómo funciona.

10. Función que devuelve un resultado

PSeInt

SubProceso resultado <- Sumar(a, b)
    resultado <- a + b
FinSubProceso

Algoritmo EjemploFuncion
    Definir total Como Real

    total <- Sumar(10, 5)

    Escribir total
FinAlgoritmo

Python

def sumar(a, b):
    return a + b

total = sumar(10, 5)

print(total)

En Python utilizamos def para definir una función y return para devolver el resultado.

Un detalle fundamental: la indentación

En PSeInt las estructuras terminan explícitamente con palabras como FinSi, FinMientras o FinPara. Python no utiliza esas palabras.

En cambio, los bloques se identifican mediante indentación:

if edad >= 18:
    print("Mayor de edad")
    print("Puede continuar")

print("Fin del programa")

Las dos primeras instrucciones pertenecen al if. La última queda fuera porque ya no está indentada.

Otro cambio importante: input() devuelve texto

Este código:

numero = input("Ingrese un numero: ")

guarda el valor como texto. Si necesitamos realizar operaciones matemáticas debemos convertirlo:

numero = int(input("Ingrese un numero: "))

o:

precio = float(input("Ingrese un precio: "))

¿Qué aprendimos al traducir estos algoritmos?

El cambio de PSeInt a Python es mucho menos brusco cuando ya entendemos la lógica. Los algoritmos siguen teniendo:

  • datos de entrada;
  • variables;
  • operaciones;
  • condiciones;
  • repeticiones;
  • estructuras para almacenar datos;
  • funciones para separar responsabilidades;
  • resultados de salida.

Python simplemente nos obliga a expresar esas ideas utilizando la sintaxis de un lenguaje real.

Próximo paso

Ahora que ya vimos cómo trasladar algoritmos conocidos, el próximo paso será resolver ejercicios directamente en Python, sin depender de una versión previa en PSeInt.

Si necesitás repasar la base algorítmica, podés recorrer nuestro centro de contenidos de PSeInt.

Seguí aprendiendo Python

Podés volver a la introducción a Python o continuar resolviendo problemas directamente en el lenguaje:

20 ejercicios resueltos de Python para principiantes →

Ver la ruta completa de Python →


¿Te sirvió esta guía? ☕

Si este contenido te ayudó a dar el salto de PSeInt a Python, podés apoyar a Club Programador. Cada aporte ayuda a mantener el contenido gratuito y a seguir publicando nuevas guías.

🇦🇷 Apoyar desde Argentina

☕ Invitame un café con Mercado Pago

🌎 Apoyar desde otro país

☕ Apoyar con PayPal


Descubre más desde Club Programador

Suscríbete y recibe las últimas entradas en tu correo electrónico.

3 opiniones en “De PSeInt a Python: 10 algoritmos traducidos paso a paso”

Deja un comentario

Descubre más desde Club Programador

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo