Progreso: 0/0 • 0%
Cargando motor…
Editor (PSeInt)
—
Reto actual
Selecciona una lección…
Ayuda paso a paso
Pulsa “🆘 Ayuda” cuando te quedes trabado. Te doy pistas, no spoilers.
Resultados
Tu progreso
Puntos = requisitos cumplidos. Tests te abren el ✅⭐.
Los que más duraron
Top por tiempo acumulado (aprox).
🧱 Tipos básicos
Algoritmo TiposBasicos
Definir a Como Entero
Definir b Como Cadena
Definir c Como Logico
a <- 10
b <- "Hola"
c <- Verdadero
// En PSeInt el "tipo" lo declaras con Definir (no existe type()).
Escribir "a=", a, " (Entero)"
Escribir "b=", b, " (Cadena)"
Escribir "c=", c, " (Logico)"
FinAlgoritmo
- En PSeInt declaras el tipo con
Definir. - Strings siempre con comillas.
📦 Listas y slicing
Algoritmo ListasYSlicing
Dimension x[4]
Definir i Como Entero
Definir suma, promedio Como Real
x[0] <- 2
x[1] <- 4
x[2] <- 6
x[3] <- 8
Escribir 4 // len(x)
Escribir x[0]
// slicing x[1:3] en Python = elementos 1 y 2
Escribir x[1], " ", x[2]
suma <- 0
Para i <- 0 Hasta 3 Hacer
suma <- suma + x[i]
FinPara
promedio <- suma / 4
Escribir promedio
FinAlgoritmo
- PSeInt indexa desde 0 (sí, duele al principio).
🔁 for / if
Algoritmo ForIf
Definir i Como Entero
Para i <- 1 Hasta 5 Hacer
Si i MOD 2 = 0 Entonces
Escribir i, " par"
SiNo
Escribir i, " impar"
FinSi
FinPara
FinAlgoritmo
- Aquí no hay
:ni indentación “mística”; todo va conFinSiyFinPara😅
🧩 Funciones
Funcion area <- area_rect(b, h)
area <- b * h
FinFuncion
Algoritmo Funciones
Escribir area_rect(3, 4)
FinAlgoritmo
- Si un reto pide un nombre exacto, respétalo.
🧠 Diccionarios
Algoritmo FrecuenciaCaracteres
Definir texto Como Cadena
Definir ch Como Cadena
Definir n, i, j, pos Como Entero
// PSeInt no tiene diccionarios "reales", lo simulamos con 2 arreglos:
Dimension letras[100]
Dimension conteo[100]
texto <- "banana"
n <- 0
Para i <- 0 Hasta Longitud(texto)-1 Hacer
ch <- Subcadena(texto, i, i) // 1 caracter
pos <- -1
Para j <- 0 Hasta n-1 Hacer
Si letras[j] = ch Entonces
pos <- j
FinSi
FinPara
Si pos = -1 Entonces
letras[n] <- ch
conteo[n] <- 1
n <- n + 1
SiNo
conteo[pos] <- conteo[pos] + 1
FinSi
FinPara
Escribir "Frecuencias:"
Para i <- 0 Hasta n-1 Hacer
Escribir letras[i], " => ", conteo[i]
FinPara
FinAlgoritmo
- En vez de
get, aquí toca “buscar y sumar” (modo supervivencia).
🧯 Manejo de errores
Algoritmo ManejoErrores
Definir s, ch Como Cadena
Definir x, i Como Entero
Definir ok Como Logico
s <- "12a"
ok <- Verdadero
// PSeInt no tiene try/except: validamos antes de convertir.
Para i <- 0 Hasta Longitud(s)-1 Hacer
ch <- Subcadena(s, i, i)
Si NO (ch >= "0" Y ch <= "9") Entonces
ok <- Falso
FinSi
FinPara
Si ok Entonces
x <- ConvertirANumero(s)
SiNo
x <- 0
FinSi
Escribir x
FinAlgoritmo
- Errores pasan. Aquí la jugada es prevenir antes de convertir.