Funciones, procedimientos y arrays en turbo pascal
1.- INTRODUCCIÓN En la presente práctica se pretende dar las nociones y sintaxis para poder incluir procedimientos, funciones y arrays dentro de los programas escritos en el lenguaje Pascal. Desde este momento nuestros programas no vas a estar constituidos únicamente por un cuerpo de ejecución, habrá tantos cuerpos de ejecución como subprogramastengamos escritos dentro de nuestro código. 2.- FUNCIONES Éste es el primer subprograma que vamos a describir. Debemos tener presente donde hay que incluir el código de una función y cómo debe ser invocada para poder obtener el resultado que de ella se espera. Si recordamos la estructura de un programa en Pascal: Program ; [Uses Crt; ] [Const = expresión; ... = expresión; ] [Var : Tipo; ... :Tipo; ] Begin [ Sentencia1; .... SentenciaN; ] End. Vamos a completarlo para ver dónde hemos de colocar las funciones dentro del mismo:
-1-
Program ; [Uses Crt; ] [Const = expresión; ... = expresión; ] [Var : Tipo; ... : Tipo; ] [Function (): Tipo; [Var : Tipo; ... : Tipo; ] Begin {Cuerpo de la función} [ Sentencia1; .... SentenciaN; ] End; ] Begin {Cuerpo del programa principal} [Sentencia1; .... SentenciaN; ] End.
Esto quiere decir que las funciones se deben escribir antes del cuerpo del programa principal. Ahora vamos a pasar a repasar de una forma más precisa la sintaxis de una función:
Function (var1:Tipo; var2:Tipo; ...; varN:Tipo): Tipo; [Var : Tipo; ... : Tipo; ] Begin {Cuerpo de la función} [ Sentencia1; .... SentenciaN; ] End;
Una función debe tener unnombre y una lista de parámetros donde se colocan los nombres de cada uno de sus parámetros formales así como los tipos de los mismos. Todos los parámetros formales se separan por “;”. Una vez finalizada la declaración de los parámetros formales se debe poner el tipo de retorno de nuestra función. Todos los tipos implicados dentro de un subprograma deben de ser simples, es decir, no se puede pasarningún tipo a la función que no sea simple o definido por el usuario dentro de la sección Type que pasará a describirse más adelante. Como la función debe retornar un valor no debemos de olvidar que dentro de las sentencias de la función debe asignarse este valor al nombre de la función por medio de una
-2-
sentencia de asignación, es decir, dentro del cuerpo de la función el nombre de lamisma es como una variable más y para devolver el valor se debe asignar el mismo como si se tratara de una variable más dentro del programa. Lo más cómodo es que la última sentencia de nuestra función tuviera la forma siguiente: nombreFuncion := ValorDeRetorno; Dentro de la función las únicas variables que tienen sentido para nosotros son los parámetros formales de la función así como las nuevasvariables que definamos dentro de la sección Var de la propia función. Cualquier otra variable no podrá ser utilizada para la resolución de la función. Para poder llamar a una función previamente definida deben realizarse los siguientes pasos: 1. La función debe estar escrita anteriormente a su llamada, es decir, si una función llama a otra función la función que es llamada debe haberse escritodentro del programa Pascal antes que la que realiza la llamada. Si sólo se llama a la función dentro del programa principal esta comprobación es superflua pues por la sintaxis hemos de tener escrita la función antes de poder escribir el cuerpo principal de nuestro programa. 2. Dentro de la sentencia donde se invoca a la función debemos asegurarnos que la misma se encuentra dentro de una expresióncorrecta y la invocación se realizará: NombreFuncion(para1,para2,...,paraN) Donde la lista de parámetros con la que se invoca la función deben ser variables o valores calculables dentro del cuerpo de ejecución donde queremos llamar a nuestra función y además deben coincidir con el tipo de los parámetros formales previamente escritos en la definición de la misma. 2.- PROCEDIMIENTOS Éste es el segundo...
Regístrate para leer el documento completo.