Algoritmo con funciones y
procedimientos
FUNCIONES
La función es una estructura autónoma similar a los módulos. La diferencia radica en que la función se usa para devolver un solo valor de un tipo de dato simple a su punto de referencia. La función se relaciona especificando su nombre en una expresión, como si fuera una variable ordinaria de tipo simple. Las funciones se dividen en estándares y definidas por el usuario.
La declaración de una función requiere una serie de pasos que la definen. Una función como tal subalgoritmo o subprograma tiene una constitución similar a los algoritmos, por consiguiente, constará de una cabecera que comenzará con el tipo del valor devuelto por la función, seguido dela palabra función y del nombre y argumento de dicha función.
A continuación irá el cuerpo de la función, que será una serie de acciones o instrucciones cuya ejecución hará que se asigne un valor al nombre de la función. Esto determina el valor particular del resultado que ha de devolverse al programa llamador.
<Tipo de resultado> FUNCION<nombre_funcion> (lista de parámetros)
declaraciones locales
Inicio
<Acciones>
Devolver (<expresión>)
Fin función
Supongamos que queremos calcular el valor total de un
pedido a partir de la simple suma de los precios de cada uno de los artículos.
Podríamos definir una función suma en nuestro lenguaje ficticio:
Entero función suma (art1, art2, art3)
Entero art1, art2, art3
Inicion
suma=art1+art2+art3
devolver (suma)
fin funcion
suma=art1+art2+art3
devolver (suma)
fin funcion
PROCEDIMIENTOS
Las funciones son muy útiles
como herramientas de programación, pero tienen una seria limitación: sólo pueden devolver un resultado al
algoritmo que las invoca. Y en muchas ocasiones es necesario devolver más de un resultado.
Para eso existen los procedimientos, también llamados subrutinas, que son, en esencia,
iguales a las funciones.
DECLRACIÓN
DE PROCEDIMIENTOS
Los procedimientos son, por lo tanto, módulos más generales que
las funciones. La declaración de un procedimiento es similar a la de una
función, pero sustituyendo la palabra función por procedimiento y sin indicar el
tipo de datos del resultado; tampoco tienen sentencia devolver al final del
código:
Procedimiento nombre_del_procedimiento [( lista
de parámetros ) ]
[Variables locales]
Inicio
< Instrucciones >
Fin procedimiento
Procedimiento división (E entero: Dividendo, divisor; S entero: Cociente, Resto)
Inicio
Cociente<-Dividendo DIV
divisor
Resto<-Dividendo
–cociente*divisor
Fin procedimiento
LLAMADO
DE UN PROCEDIMIENTO
El procedimiento se llama mediante la instrucción.
[llamar_a] nombre del procedimiento [lista de parámetros
actuales]
Ejemplo
//Algoritmo aritmética
Entero M, N,
P, Q, S, T
Inicion
Leer (M,
N)
llamar_a división (M, N, P, Q)
Escribir
(P, Q)
No hay comentarios:
Publicar un comentario