0% encontró este documento útil (0 votos)
87 vistas4 páginas

Funciones Parte 1

Este documento describe cómo declarar funciones y subprocesos en Pseudocódigo. Explica que se pueden declarar funciones utilizando la palabra clave "Función" seguida del tipo de retorno, nombre y parámetros. También describe cómo invocar funciones y los diferentes tipos de paso de parámetros, ya sea por valor o por referencia. Finalmente, incluye varios ejemplos de declaración y uso de funciones.

Cargado por

Diana Montero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
87 vistas4 páginas

Funciones Parte 1

Este documento describe cómo declarar funciones y subprocesos en Pseudocódigo. Explica que se pueden declarar funciones utilizando la palabra clave "Función" seguida del tipo de retorno, nombre y parámetros. También describe cómo invocar funciones y los diferentes tipos de paso de parámetros, ya sea por valor o por referencia. Finalmente, incluye varios ejemplos de declaración y uso de funciones.

Cargado por

Diana Montero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Funciones en “PseInt”

Funciones/Subprocesos en PSeInt

Es necesario activar selección en la configuración del perfil de lenguaje


seleccionado lo permite (ver Opciones del Pseudocódigo), se pueden declarar
nuevas funciones o subprocesos en un algoritmo en Pseudocódigo.

La sintaxis para ello es la siguiente:

Funcion variable_de_retorno = nombre_de_la_funcion ( argumento_1, argumento_2, ... )


acción 1;
acción 1;
.
acción n;
FinFuncion

Comienza con la palabra clave Funcion (alternativamente puede


utilizarSubProceso o SubAlgoritmo, son sinónimos) seguida de la variable de
retorno, el signo de asignación, el nombre del subproceso, y finalmente, la lista
de los argumentos entre paréntesis. Existen variantes para esta estructura. Si la
función no retorna ningún valor, pueden omitirse la variable de retorno y el
signo de asignación. Es decir, se puede colocar directamente el nombre y los
argumentos a continuación de la palabra clave Funcion. Si el subproceso no
recibe ningún valor pueden colocarse los paréntesis vacíos u omitirse,
finalizando la primer línea con el nombre del subproceso. Las reglas para los
nombres de subprocesos, variables de retorno y argumentos son las mismas que
para cualquier identificador en pseudocódigo.

Además, opcionalmente pueden agregarse las palabras claves Por Valor o Por
Referencia para indicar el tipo de paso en cada argumento. Si no se indica, los
arreglos se pasan por referencia, las demás expresiones por valor. El paso por
referencia implica que si la función modifica el argumento, se modificará en
realidad la variable que se utilizó en la llamada, mientras que el paso por valor
implica que la función opera con una copia de la variable (o el resultado de la
expresión) que se utilizó en la llamada, por lo que las modificaciones que
aplique la función no se verán reflejadas fuera de la misma.

Para invocar a la función se debe utilizar su nombre y entre paréntesis los


parámetros, que podrán ser expresiones sólo si el tipo de pasaje es por
referencia. Una llamada puede ser en sí una instrucción, pero si la función
retorna algún valor, también puede utilizarse como operando dentro de una
expresión.

El ejemplo Subprocesos, muestra un programa que declara dos funciones, una


que retorna un valor y que es luego utilizado dentro de una expresión para
mostrar en pantalla, y otra que no recibe argumentos; el ejemplo Potencia,
muestra una función recursiva; y el ejemplo Promedio muestra una función que
recibe un arreglo como argumento

// 0
// funcion que no recibe ni devuelve nada
Funcion Saludar
Escribir "Hola mundo!"
FinFuncion

// funcion que recibe un argumento por valor, y devuelve su doble


Funcion res <- CalcularDoble(num)
Definir res como real
res <- num*2 // retorna el doble
FinFuncion

// funcion que recibe un argumento por referencia, y lo modifica


Funcion Triplicar(num por referencia)
num <- num*3 // modifica la variable duplicando su valor
FinFuncion

// proceso principal, que invoca a las funciones antes declaradas


Algoritmo PruebaFunciones

Definir x Como Real

Escribir "Llamada a la funcion Saludar:"


Saludar // como no recibe argumentos pueden omitirse los paréntesis vacios

Escribir "Ingrese un valor numérico para x:"


Leer x

Escribir "Llamada a la función CalcularDoble (paso por valor)"


Escribir "El doble de ",x," es ", CalcularDoble(x)
Escribir "El valor original de x es ",x
Escribir "Llamada a la función Triplicar (paso por referencia)"
Triplicar(x)
Escribir "El nuevo valor de x es ", x

FinAlgoritmo
// 0

// 1
Funcion ElVector (V,yy)
V[0]=10;V[1]=11;V[2]=12;V[3]=13;V[4]=14;
yy[0]=20; yy[1]=21
FinFuncion

Funcion res2 = AleatorioF()


Definir res2 como Entero
res2 = Azar(1)
FinFuncion

Algoritmo PruebaF
Definir x,yy,F como Entero
Dimension x[5]
Dimension yy[2]
F=AleatorioF
Escribir " F:",F
x[0]=0;x[1]=1;x[2]=2;x[3]=3;x[4]=4;
//Escribir " ",yy[0]," ",yy[1]
Escribir " ",x[0]," ",x[1]," ",x[2]," ",x[3]," ",x[4]
ElVector(x,yy)
Escribir " ",x[0]," ",x[1]," ",x[2]," ",x[3]," ",x[4]
Escribir " ",yy[0]," ",yy[1]
FinAlgoritmo
// 1

// 2
Funcion res1 = Aleatorios()
Definir res1 como Entero
res1 = Azar(7)+3
Mientras res1 % 2 = 0 Hacer
res1 = Azar(7)+3
FinMientras
FinFuncion
Funcion res =Sumar(x,n)
Definir res,i como entero
res=0
para i=0 hasta n-1 hacer
res=res+x[i]
FinPara
FinFuncion
Funcion EscribaVector(x,n)
Definir i Como Entero
Escribir " Vector de :",n," elementos"
Escribir " ... "
Para i<-0 Hasta n-1 Con Paso 1 Hacer
Escribir Sin Saltar x[i]," "
FinPara
Escribir " "
FinFuncion

Algoritmo SubProcesoVector1
Definir i,j,N,S,sum Como Entero
N=Aleatorios();
Dimension S[9]
Para i<-0 Hasta N-1 Con Paso 1 Hacer
S[i]= Azar(80)+20
FinPara
EscribaVector(S,N)
sum=Sumar(S,N)
Escribir sum
FinAlgoritmo
// 2

También podría gustarte