Está en la página 1de 4

PSEINT FUNCIONES Y SUBPROCESOS

¿Qué es un procedimiento o una función?


SUBPROCESOS:

Son en realidad subrutinas o conjunto de instrucciones que se repiten en varias


oportunidades dentro de nuestro programa. En muchas oportunidades, nos encontraremos
con tareas que tenemos que repetir varias veces en distintos puntos de nuestro programa. Al
repetir varias veces esas líneas de código logramos construir un programa con demasiadas
líneas de código, muchas veces poco entendibles y con más posibilidades de cometer
errores, en definitiva poco eficiente. Por estos motivos, es preferible que nuestro programa
NO contenga código repetitivo. Una de las formas de evitarlo es usar "subrutinas", una
posibilidad que la mayoría de lenguajes de programación permiten, y que en ocasiones
recibe el nombre de "procedimientos" o de "funciones" .

PseInt permite definir "subrutinas" (o "funciones") dentro del pseudocódigo llamándolos


"subprocesos". Veamos un ejemplo de su uso:

Supongamos que tuviéramos que realizar una aplicación donde después de cada línea de
texto, tuviéramos que subrayarla, el programa quedaría de la siguiente manera:

Algoritmo subrayar1
Escribir " Primera línea de texto"
Para x <- 1 Hasta 30 Hacer
Escribir Sin Saltar "-"
FinPara
Escribir ""
Escribir " Segunda línea de texto"
Para x <- 1 Hasta 30 Hacer
Escribir Sin Saltar "-"
FinPara
Escribir ""
Escribir " Tercer línea de texto "
Para x <- 1 Hasta 30 Hacer
Escribir Sin Saltar "-"
FinPara
Escribir ""
FinAlgoritmo

1
PSEINT FUNCIONES Y SUBPROCESOS

Si ejecutas este programa observarás lo siguiente:

Como podrás observar, la línea de subrayado quedó muy larga, se necesitará modificar 30
por 24 y este valor deberá modificarse en cada uno de los ciclos repetitivos para, ni
contemplar si las supuestas líneas de texto fueran 20 o más!!!!. Si dicho valor no se
modificara en todos los ciclos la ejecución del programa no será la correcta. Para evitar este
posible error u otros y hacer más eficiente nuestra creación, programaremos de la siguiente
manera:

Algoritmo subrayar1
Escribir " Primer línea de texto "
Subrayar
Escribir " Segundo línea de texto "
Subrayar
Escribir " Tercer línea de texto "
Subrayar
FinAlgoritmo

Subproceso Subrayar
Para x <- 1 Hasta 24 Hacer
Escribir Sin Saltar "-"
FinPara
Escribir ""
FinSubproceso

En este último caso, hemos podido modificar el valor de la repetición de 30 a 24 guiones


modificando un solo valor. Pero aún no es un programa del todo eficiente.

2
PSEINT FUNCIONES Y SUBPROCESOS

Observa la siguiente solución:

Algoritmo subrayar1
Subrayar("Primera línea de texto")
Subrayar("Segunda línea de texto del programa")
Subrayar("Tercera línea de texto de este eficiente programa")
FinAlgoritmo
Subproceso Subrayar(texto)
Escribir texto
Para x <- 1 Hasta longitud(texto) Hacer
Escribir Sin Saltar "-"
FinPara
Escribir ""
FinSubproceso

En este caso en la zona del algoritmo lo único que se hace es invocar al subproceso pero
ingresándole un parámetro, en este caso el texto que deberá subrayar. Otra de las mejoras es
que no sólo dibuje 24 guiones o líneas sino que realice la cantidad de guiones necesarios de
acuerdo a la longitud de la cadena de caracteres.

La ejecución del programa quedará así:

Ejercicios propuestos:

a) Realizar una aplicación que contenga una subrutina que reciba como parámetro un
texto y lo escriba con un espacio adicional tras cada letra. Por ejemplo, "Hoy es
martes" y se escribiría "H o y e s m a r t e s ".

3
PSEINT FUNCIONES Y SUBPROCESOS

b) Inventa una aplicación donde debas utilizar subrutina/s.

FUNCIONES:

Hasta este momento, hemos realizado subrutinas que hacían determinadas acciones pero
que no devolvían un valor aritmético, sino que solamente realizaban una serie de pasos. Las
subrutinas que devuelven un resultado producto de la ejecución de ciertos procesos las
llamaremos FUNCIONES

Podremos realizar una función para saber si un número es par o impar

Algoritmo par_impar
Escribir "Ingresa un número"
leer numero
Escribir "El número ", numero," es:"
Escribir Evaluoparoimpar(numero);
FinAlgoritmo

Funcion resultado <- Evaluoparoimpar(numero)


Si numero mod 2 = 0 Entonces
resultado <- "Par"
Sino
resultado <- "Impar"
FinSi
FinFuncion

Su desarrollo se parece mucho a las subrutinas con la diferencia de que en una función se
debe seleccionar una variable que será la encargada de guardar el resultado de la función.
En nuestro ejemplo, la variable se llamó “resultado”.

Ejercicios propuestos:

a) Realiza una aplicación utilizando una función que indique cuál es el mayor de dos
números.
b) Realizar una aplicación que pueda afirmar o negar si un número es o no primo.
c) Realizar una aplicación que contenga una función que reciba un número entero y
devuelva la cantidad de divisores (por ejemplo, para el número 25, sus divisores son
1, 5, 25 por lo que la respuesta debería ser 3).
d) Inventa una aplicación donde debas utilizar funciones.
4

También podría gustarte