Está en la página 1de 5

Ing.

Nahiby Castillo
1
8.1.- FUNCIONES Y PROCEDIMIENTOS DEFINIDOS POR EL USUARIO EN TURBO
PASCAL.
PROCEDIMIENTOS. CONCEPTO
Un procedimiento es un programa que realiza una tarea especfica. Puede recibir cero o ms
valores del programa que llama y devolver cero o ms 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.

Declaracin de un procedimiento
Al igual que los identificadores, los procedimientos deben declararse dentro del cuerpo del
programa. La declaracin de un procedimiento NO indica a la computadora que ejecute las
instrucciones dadas, sino que indica a la computadora cules son estas instrucciones y
dnde estn localizadas cuando sea necesario.

El formato del procedimiento es el siguiente:
Procedure nombreproc;
Declaraciones locales
Begin
Cuerpo del procedimiento
End;

Variables Locales: son las variables que se encuentran dentro de un procedimiento.
Variables Globales: son las que se ubican en el cuerpo principal, fuera de los
procedimientos.

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 parmetros formales.
Ing. Nahiby Castillo
2
Una seccin de declaracin: que puede contener constantes, variables e incluso otros
procedimientos.
Una seccin ejecutable: el cuerpo del procedimiento.
Ejemplo:
Program Recuadro;
Var I : Integer;
Procedure Estrellas;
(* Este procedimiento visualiza 15 asteriscos *)
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 organizacin de un programa en procedimientos lo hace ms fcil de escribir y
depurar. Los procedimientos no deben exceder de 25 lneas.
Las ventajas de utilizar procedimientos son:
Facilita el diseo descendente.
Los procedimientos se pueden ejecutar ms de una vez en un programa y/o en diferentes
programas, ahorrando tiempo de programacin.
El uso de procedimientos facilita la divisin de las tareas entre un equipo de
programadores y se pueden comprobar individualmente.

PARMETROS. CONCEPTO
Un parmetro es un mtodo para pasar informacin (valores a variables) del programa
principal a un procedimiento y viceversa.
Ing. Nahiby Castillo
3
Un parmetro es, prcticamente, una variable cuyo valor debe ser ya sea proporcionado por
el programa principal al procedimiento o ser devuelto desde el procedimiento hasta el
programa principal. Por consiguiente, existen dos tipos de parmetros:
Parmetros de entrada: Sus valores deben ser proporcionados por el programa principal.
Parmetros de salida: Son parmetros cuyos valores se calcularn en el procedimiento y se
deben devolver al programa principal para su proceso posterior.

Transferencia de informacin desde y/o hasta los procedimientos
Existen dos tipos de procedimientos:
Procedimientos sin parmetros: No existe comunicacin entre el programa principal y los
procedimientos ni viceversa.
Procedimientos con parmetros: Existe comunicacin entre el programa principal y los
procedimientos o entre dos procedimientos.
Ejemplo 1:
(Parmetros de entrada)
Procedure RecuadroDos (N : Integer);
Var
J : Integer;
Begin
For J := 1 to N do
Write(`*)
End;

Ejemplo 2:
(Parmetros de entrada/salida)
El procedimiento Geometra recibe la longitud y
anchura de un rectngulo, calcula el rea y
permetro del rectngulo y devuelve los valores
obtenidos al programa principal.

Procedure Geometria (Longitud, Anchura : Real;
Var Area, Permetro : Real);
Begin
Area := Longitud * Anchura;
Perimetro := 2 * (Longitud + Anchura)
End;


FUNCIONES EN TURBO PASCAL
Una funcin es un subprograma que recibe como argumentos o parmetros datos de un tipo
numrico o no numrico (char, string, bolean u otros) y devuelve un resultado. Esta
caracterstica le diferencia de un procedimiento.
Ing. Nahiby Castillo
4
El pseudocdigo es el siguiente:
Nombre_funcin (argumento1,argumento2,...);
Los argumentos es lo que se conoce en Pascal como parmetros. Para poder calcular el
valor o resultado de la funcin, todo lo que se necesita conocer es el valor o valores de los
parmetros respectivos.

Funciones definidas por el usuario
Adems de las funciones predefinidas citadas anteriormente, es posible que el usuario pueda
declarar sus propias funciones de igual modo que declara sus procedimientos.

Una funcin es un subprograma que devuelve un nico resultado al programa o subprograma
que le llam.

EXISTEN 3 CLASES USUALES DE FUNCIONES.
Las primeras son de tipo computacional que son diseadas para realizar operaciones con
los argumentos y regresan un valor basado en el resultado de esa operacin.
Las segundas funciones son aquellas que manipulan informacin y regresan un valor que
indican la terminacin o la falla de esa manipulacin.
Las terceras son aquellas que no regresan ningn valor, es decir son estrictamente
procedurales.


La sintaxis es muy similar a la de un procedimiento.
Function nombre (parmetros): tipo
(declaracin de variables locales)
begin
<cuerpo de la funcin>
nombre de la funcin := valor de la funcin
end;
p1,p2,... lista de parmetros formales
tipo tipo de dato del resultado
que devuelve la funcin
Ing. Nahiby Castillo
5
Comparacin entre funciones y procedimientos
En vez de la palabra procedure se debe utilizar la palabra function
Al igual que en los procedimientos, el nombre de una funcin es un identificador. Sin
embargo, el nombre de la funcin se refiere a la posicin de memoria que contiene el
valor devuelto por la funcin.
La lista de los parmetros formales son los identificadores utilizados para recibir valores
del programa.
El tipo de datos del resultado coincide con el tipo expresado en la cabecera de la funcin.
En el cuerpo de la funcin tiene que existir una sentencia de asignacin como la siguiente:
Nombre_funcin := valor_funcin
La funcin slo devuelve un valor, el procedimiento puede devolver cero, uno o varios
valores.
El tipo de dato del resultado de la funcin debe estar indicado en la cabecera y puede ser
tipo char, integer, real o bolean.

Ejemplo:
Program Cubo;
Uses
Wincrt;
Var
Num,valor : integer;
Function El_cubo (Numero: integer):integer;
Begin
valor := Num*Num*Num;
End;
Begin
Write ('Digite un nmero entero: ');
Readln (Num);
El_cubo(Num);
Write ('El cubo de ',Num,' es ',valor);
End.

También podría gustarte