Está en la página 1de 5

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

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

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; Procedure Geometria (Longitud, Anchura : Real; Var Area, Permetro : Real); Begin Area := Longitud * Anchura; Perimetro := 2 * (Longitud + Anchura) 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.

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 3

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 4

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.

Ing. Nahiby Castillo

También podría gustarte