Hola a todos, hoy os explicare a como utilizar las funciones en pseudocódigo.
Como hemos visto hasta ahora, los algoritmos son cortos, pero los programas tienen muchas líneas, por lo que se utilizan las funciones, para dividir el problema en partes, pueden haber tantas funciones como nosotros queramos.
Estas funciones utilizan el mismo código que hemos visto hasta ahora.
El algoritmo principal llama o invoca a la función, se ejecuta y devuelve un resultado. Se puede usar en varios programas.
Una función es un subprograma que acepta parámetros y devuelve un único resultado Los parámetros serán los datos de entrada para realizar la función.
En la cabecera de la función se debe indicar los parámetros formales, indicando su tipo, y el tipo de valor que devolverá la función. También debemos declarar las variables que se vayan a usar y devolver un valor, que corresponda al tipo de variable.
Esta es su sintaxis en papel:
[code] Función nombre (lista parámetros formales):tipoVar: declaración de variables
Inicio
Instrucciones
devolver valor
Fin-Función
[/code]
Veamos un ejemplo practico, para saber el doble de un numero:
[code] Función doble (numero: numerica):numericaVar: resultado: numerica
Inicio
resultado<-numero*2
devolver resultado
Fin-Función
[/code]
Ya tenemos la función, ahora para poder usarlo, debemos invocarlo en el algoritmo principal, para que tenga efecto, debemos guardarlo en alguna variable. Esto seria su sintaxis:
[code]variable<-nombreFuncion (parámetros reales)
[/code]Vamos a invocar la funcion de antes, en un algoritmo:
[code] Var numero, resultado: numericaInicio
Leer numero
resultado<-doble(numero)
Escribir resultado
Fin
[/code]
Si os dais cuenta, tanto en la función como en el algoritmo principal, hemos usado una variable resultado. Las variables son totalmente independientes.
También, si os fijáis en la función los parámetros formales es una variable del algoritmo principal . Puede ser mas de un parámetro formal, se separan mediante una coma.
Si usamos PseInt, la sintaxis es distinta que en papel:
[code] SubProceso variable_de_retorno <- Nombre ( Argumentos )Intrucciones
FinSubProceso
[/code]
Tenemos varias diferencias, no es necesario escribir la operación devolver y debemos escribir que variable de dentro de la función contiene el resultado que queremos devolver. La forma de llamar a la función es exactamente igual que en papel.
Veamos el mismo ejemplo de doblar un numero pero en PSeInt.
[code] SubProceso resultado <- doble ( numero )resultado<-numero*2
FinSubProceso
Proceso
leer numero
resultado<-doble(numero)
escribir resultado
FinProceso
[/code]
Los parámetros, tanto formales como reales, no es necesario que sean variables, pueden ser constantes o números.
Recuerda que si el parámetro real y el formal no son de tipos compatibles, se producirá un error en la llamada. También fallara la llamada, si devolvemos una variable de tipo distinto a la que debe devolver (el tipo de variable de aparece después del paréntesis donde se encuentran los parámetros formales).
En las funciones, hemos visto que hay una operación llamada devolver, normalmente se suele usar una por función pero se puede usar mas de uno siempre y cuando solo se pueda ejecutar uno, por ejemplo, en una estructura condicional según un valor devuelva un valor u otro.
Por ultimo, veremos un ejemplo completo y sencillo, tanto en papel como en PSeInt.
Escribe una función en pseudocódigo que devuelva el área de un rectángulo dada su base y su altura, llama a la función en el algoritmo principal.
Papel:
[code] Funcion area_rectangulo (base: numerica, altura: numerica):numericaVar area: numerica
Inicio
area<-base*altura
devolver area
Fin-Funcion
algoritmo principal
Var base, altura: numerica
Inicio
Escribir «Introduce la base»
leer base
Escribir «Introduce la altura»
Leer altura
area<-area_rectangulo(base, altura)
escribir area
Fin
[/code]
PSeInt:
[code] SubProceso area <- area_rectangulo ( base, altura )area<-base*altura
FinSubProceso
Proceso ejemplo
Escribir «Introduce la base»
leer base
Escribir «Introduce la altura»
Leer altura
area<-area_rectangulo(base, altura)
escribir area
FinProceso
[/code]
¡Tenemos curso en udemy y tutellus!
[ufwp id=»2474572″]También esta disponible en tutellus con una increíble oferta: ¡6€!
En youtube tenemos un curso completo de Pseudocódigo con PseInt:
Espero que os sea de ayuda.
Hola, claro que puedes poner cualquier estructura dentro de una función. Ya puede ser el Segun, un Para, un Si, el que tu quieras.
Gracias por tu comentario.
Buenas tardes tengo una pregunta y espero que me puedan ayudar tengo que hacer un Algoritmo de un parqueadero en Pseint y el Algoritmo debe gestionar
1= ingreso y espacio de motos y coches
2 =5 espacios para motos y 10 para coches
3 =El valor de 15 min de parqueo de un coche 600 y el de motos es 300
4= lo mínimo que se cobrara son 15 min igualmente se cobra de 15 en 15, 20 min equivalen es igual a 30 min
5=Ningún vehículo puede ocupar en espacio de otro
6= los espacios disponibles pueden ser ocupados por otro vehículo
La pregunta es la siguiente para saber el valor del tiempo que duro cada vehículo en el parqueadero ay alguna función en Pseint que calcule la hora sin necesidad de hacer un reloj y como se manejaría esta función,
Si no ay alguna función que debería hacer en este caso
hola como estas una pregunta en la funcion cuando creas tu program principal no tiene que ser diferente el nombre el nombre de la variable de la cabezera que de cuando lees la variable del programa principal
Necesito ayuda con este problema
Una Empresa de refresco tiene puntos de reparto de refrescos que se pretende funcionen de la siguiente manera. Cada día, empezar con 1000 refresco disponibles y a través de un programa que controla las entregas avisar si el inventario baja de 200 unidades. Desarrollar pseudocódigo y diagrama de flujo del ejercicio.