Funciones y Procedimientos

Anuncio
Funciones y Procedimientos
Procedimientos
Concepto
Un procedimiento es un programa que realiza una tarea específica. Puede
recibir cero o más valores del programa que llama y devolver cero o más
valores al programa que realizó la llamada. Un procedimiento está compuesto
de un grupo de sentencias a las que se asigna un nombre (identificador) y
constituye una unidad de programa. La tarea asignada al procedimiento se
ejecuta siempre que Pascal encuentra el nombre del procedimiento.
Los procedimientos es obligatorio declararlos y deben ser declarados antes de
que puedan ser referenciados en el cuerpo del programa. En Pascal reciben el
nombre de PROCEDURE.
Declaración de un procedimiento
Al igual que los identificadores, los procedimientos deben declararse dentro del
cuerpo del programa. La declaración de un procedimiento NO indica a la
computadora que ejecute las instrucciones dadas, sino que indica a la
computadora cuáles son estas instrucciones y dónde están localizadas cuando
sea necesario.
El formato del procedimiento es el siguiente:
Procedure nombreprocedimiento;
Declaraciones locales
Begin
Cuerpo del procedimiento
End;
A las variables que se encuentran dentro de un procedimiento se les llaman
Variables Locales y a las que se ubican en el cuerpo principal, fuera de los
procedimientos, se les llama Variables Globales.
En resumen, un procedimiento, al igual que un programa, consta de tres partes:
Una cabecera del procedimiento que proporciona el nombre del mismo y, en
caso de existir, una lista de parámetros formales.
Una sección de declaración que puede contener constantes, variables e incluso
otros procedimientos.
Una sección ejecutable: el cuerpo del procedimiento.
Ejemplo:
Program Recuadro;
Var I : Integer; (* Este procedimiento visualiza 15 asteriscos *)
Procedure Estrellas;
Begin
For I := 1 to 15 do
Write (`*´)
End;
Begin
Estrellas; (* Llamado del procedure *);
Write (`Mensajes´);
Estrellas; (* Nuevo llamado del procedure *);
End.
Ventajas de utilizar procedimientos
La organización de un programa en procedimientos lo hace más fácil de
escribir y depurar. Los procedimientos no deben exceder de 25 líneas.
Las ventajas de utilizar procedimientos son:
Facilita el diseño descendente.
Los procedimientos se pueden ejecutar más de una vez en un programa y/o en
diferentes programas, ahorrando tiempo de programación.
El uso de procedimientos facilita la división de las tareas entre un equipo de
programadores y se pueden comprobar individualmente.
Funciones en Turbo Pascal
Una función es un subprograma que recibe como argumentos o parámetros
datos de un tipo numérico o no numérico (char, string, bolean u otros) y
devuelve un resultado. Esta característica le diferencia de un procedimiento.
El pseudocódigo es el siguiente:
Nombre_función (argumento1,argumento2,...);
Los argumentos es lo que se conoce en Pascal como parámetros. Para poder
calcular el valor o resultado de la función, todo lo que se necesita conocer es el
valor o valores de los parámetros respectivos.
Funciones aritméticas o matemáticas
Ejemplo:
Cuadrado := sqr(num);
esto devuelve el cuadrado de la variable num es
equivalente a decir cuadrado:= num*num;
Funciones definidas por el usuario
Además de las funciones predefinidas citadas anteriormente, es posible que el
usuario pueda declarar sus propias funciones de igual modo que declara sus
procedimientos.
Una función es un subprograma que devuelve un único resultado al programa o
subprograma que le llamó. La sintaxis es muy similar a la de un procedimiento.
Function nombre (parámetros): tipo
(declaración de variables locales)
begin
<cuerpo de la función>
nombre de la función := valor de la función
end;
Comparación entre funciones y procedimientos
En vez de la palabra procedure se debe utilizar la palabra function
1. Al igual que en los procedimientos, el nombre de una función es un
identificador. Sin embargo, el nombre de la función se refiere a la posición de
memoria que contiene el valor devuelto por la función.
2. La lista de los parámetros formales son los identificadores utilizados para
recibir valores del programa.
3. El tipo de datos del resultado coincide con el tipo expresado en la cabecera
de la función.
4. En el cuerpo de la función tiene que existir una sentencia de asignación
como la siguiente:
Nombre_función := valor_función
5. La función sólo devuelve un valor, el procedimiento puede devolver cero, uno
o varios valores.
6. El tipo de dato del resultado de la función debe estar indicado en la
cabecera y puede ser tipo char, integer, real o bolean.
Ejemplo:
Program Cubo;
Uses
crt;
Var
Num,valor : integer;
Function El_cubo (Numero: integer):integer;
Begin
valor := Num*Num*Num;
End;
Begin
Write ('Digite un número entero: ');
Readln (Num);
El_cubo(Num);
Write ('El cubo de ',Num,' es ',valor);
End.
Descargar