|
CarlosPes.com
> Curso
de Diseño de Algoritmos
> Funciones en Pseudocódigo |
|
Funciones en
Pseudocódigo
|
|
|
|
|
¿Cómo
representar funciones en pseudocódigo?
|
|
En pseudocódigo, la sintaxis que se utiliza para
escribir una función es muy
similar
a la que se usa para escribir un procedimiento,
estudiado en el
apartado Procedimientos en
Pseudocódigo. |
|
/* Cabecera */
<tipo_de_dato> funcion
<nombre_de_la_función>(
[ <lista_de_parámetros_formales> ] )
/* Declaraciones */
[ constantes
<declaraciones_de_constantes> ]
[ tipos_de_datos
<declaraciones_de_tipos_de_datos> ]
[ variables
<declaraciones_de_variables> ]
/* Cuerpo */
inicio
<bloque_de_instrucciones>
volver <expresión>
fin |
|
|
Existen
dos diferencias importantes entre la sintaxis de un procedimiento y de
una función:
1. En vez de la palabra reservada procedimiento, se debe escribir la
palabra reservada funcion.
2. Una función devuelve siempre un valor. Por tanto, en una
función siempre debe indicarse el
<tipo_de_dato> del valor que devuelve la
función, y el valor en sí, mediante la
instrucción volver
<expresión>. El
resultado de evaluar la <expresión> puede ser
de cualquier tipo, excepto un array, esto es así en lenguaje
C y, por tanto, también en nuestro pseudocódigo
CEE.
De modo que, si queremos realizar la multiplicación de dos
números enteros por medio de una función, podemos
escribir, por ejemplo: |
|
entero funcion Multiplicar(
E entero n1, n2 )
variables
entero resultado
inicio
resultado ← n1 * n2
volver resultado
fin |
|
|
O
también: |
|
entero funcion Multiplicar(
E entero n1, n2 )
inicio
volver n1 * n2
fin |
|
|
Por
otro lado, para declarar una función en un algoritmo se
utiliza la sintaxis: |
|
<tipo_de_dato>
<nombre_de_la_función>(
<lista_de_tipos_de_datos> ) |
|
|
y,
para hacer una llamada a una función, la sintaxis es: |
|
<nombre_de_la_función>(
[ <lista_de_parámetros_actuales> ] ) |
|
|
En
consecuencia, usando la función Multiplicar, la
solución algorítmica al problema del ejemplo del
apartado Parámetros,
puede ser la siguiente: |
|
algoritmo
Multiplicacion_de_dos_numeros_enteros
subalgoritmos
entero Multiplicar( E entero, entero )
variables
entero a, b
inicio
escribir( "Introduzca el primer número:
" )
leer( a )
escribir( "Introduzca el segundo
número: " )
leer( b )
escribir( "La multiplicación es: ",
Multiplicar( a, b )
fin |
|
|