Funcion en PSeInt: Sintaxis y Retorno de Valor (2026)
Cuando necesitas calcular algo y devolver un resultado —la suma de dos números, el mayor de una lista, el área de una figura—, la herramienta adecuada en PSeInt es la Funcion. A diferencia de un SubProceso (que es un procedimiento y no retorna nada), una Funcion siempre retorna un valor que puedes asignar a una variable o usar directamente en una expresión. En esta guía verás la sintaxis Funcion resultado <- Nombre(args)...FinFuncion con un ejemplo completo y ejecutable.
Sintaxis
Funcion resultado <- Nombre ( argumentos )
// instrucciones
resultado <- valor_a_devolver
FinFuncion
Funcion s <- Sumar ( a, b )
s <- a + b
FinFuncion
La primera palabra es Funcion, seguida del nombre de la variable de retorno, la flecha <-, el nombre de la función y sus argumentos entre paréntesis. El bloque termina con FinFuncion. Dentro del cuerpo debes asignar el valor de retorno a esa variable.
Explicación
- La variable de retorno. En
Funcion s <- Sumar(a, b),ses la variable que guardará el resultado. Dentro de la función debes asignarle un valor (por ejemplos <- a + b); ese valor es lo que la función «devuelve» a quien la llama. - La llamada devuelve el valor. Al escribir
x <- Sumar(4, 5), la función se ejecuta y el resultado (9) se guarda enx. También puedes usar la llamada dentro de una expresión:Escribir Sumar(4, 5). - Funcion retorna, SubProceso no. Esta es la diferencia fundamental: una
Funcionproduce un valor de retorno; unSubProcesoes un procedimiento que ejecuta instrucciones pero no retorna nada. EligeFuncioncuando el objetivo sea calcular un dato. - Los argumentos son los datos de entrada. Los parámetros entre paréntesis reciben los valores que se pasan en la llamada, en el mismo orden. En el ejemplo,
arecibe 4 ybrecibe 5. - El bloque debe cerrarse. Toda función empieza con
Funciony termina conFinFuncion; si falta el cierre, PSeInt reporta un error de sintaxis.
Ejemplo completo
Esta función devuelve el mayor de dos números y el algoritmo principal la usa para mostrar el resultado:
Funcion mayor <- Maximo ( a, b )
Si a > b Entonces
mayor <- a
Sino
mayor <- b
FinSi
FinFuncion
Algoritmo Principal
Definir x, y, m Como Entero
x <- 12
y <- 7
m <- Maximo(x, y)
Escribir "El mayor es: ", m
FinAlgoritmo
Sigue la ejecución: x vale 12 y y vale 7. La llamada Maximo(x, y) entra a la función con a = 12 y b = 7. Como 12 es mayor que 7, se ejecuta mayor <- a, la función retorna 12 y ese valor se guarda en m. El programa muestra «El mayor es: 12».
Errores comunes
- No asignar la variable de retorno. Si dentro de la función nunca escribes
mayor <- ..., la función no tiene un valor definido que devolver. Asegúrate de asignarla en todos los caminos posibles del código. - Confundir Funcion con SubProceso. Si defines un
SubProcesoesperando que «devuelva» un valor con<-, no funcionará: los procedimientos no retornan valores. UsaFuncionpara eso. - Olvidar el FinFuncion. Como todo bloque en PSeInt, la función debe cerrarse con
FinFuncion.
Ver también
- Sintaxis de PSeInt: guía completa
- ¿Qué es PSeInt?
- Ejercicios resueltos de PSeInt
- SubProceso en PSeInt: sintaxis y Por Referencia
- MOD en PSeInt: resto de división
- Comentarios en PSeInt: sintaxis //
Preguntas frecuentes
