Funciones

Páginas: 9 (2163 palabras) Publicado: 27 de octubre de 2011
FUNCIONES
En programación, una función es un grupo de instrucciones con un objetivo en particular y que se ejecuta al ser llamada desde otra función o procedimiento. Una función puede llamarse múltiples veces e incluso llamarse a sí misma (función recurrente).
Las funciones pueden recibir datos desde afuera al ser llamadas a través de los parámetros y deben entregar un resultado.Se diferencian de los procedimientos porque estos no devuelven un resultado.
En general las funciones deben tener un nombre único en el ámbito para poder ser llamadas, un tipo de dato de resultado, una lista de parámetros de entrada y su código.

FUNCIONES RECURSIVAS
Tipo de función de programación más compleja. Una función común es llamada desde otra función; pero es posible crearfunciones que puedan llamarse a sí mismas, las funciones recursivas.
Una función puede ser recursiva tanto de forma directa (si es llamada a sí misma) o de forma indirecta (si llama a una función que luego la llama).
Existen algunos problemas que pueden ser resueltos de forma más eficiente (o su resolución puede ser más naturalmente pensada) utilizando funciones recursivas.
Unafunción recursiva puede dar origen a un típico problema en programación, la recursión infinita (bucle infinito), que es cuando una función se llama a sí misma infinitas veces. Esto detiene el normal funcionamiento de un programa.

FUNCIONES INCORPORADAS EN PASCAL
É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 serinvocada para poder obtener el resultado que de ella se espera.
Si recordamos la estructura de un programa en Pascal:
Program<Nombre>;
[UsesCrt;
][Const<CONS_1> = expresión;
...
<CONS_N> = expresión;
][Var<var1> : Tipo;
...
<varN> : Tipo;
]Begin [ Sentencia1;
....
SentenciaN;
]
End.
Vamos a completarlo para ver dónde hemos de colocar lasfunciones dentro del mismo:
Program<Nombre>;
[UsesCrt;
][Const<CONS_1> = expresión;
...
<CONS_N> = expresión;
][Var<var1> : Tipo;
...
<varN> : Tipo;
][Function <nombreFuncion> (<lista de parámetros>): Tipo;
[Var
<var1> : Tipo;
...
<varN> : 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 <nombre>(var1:Tipo; var2:Tipo; ...; varN:Tipo): Tipo;
[Var<var1> : Tipo;
...
<varN> : Tipo;]Begin {Cuerpo de la función}
[ Sentencia1;
....
SentenciaN;
]
End;
Una función debe tener un nombre 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 denuestra función. Todos los tipos implicados dentro de un subprograma deben de ser simples, es decir, no se puede pasar ningún tipo a la función que no sea simple o definido por el usuario dentro de la secciónType 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 lafunción por medio de una sentencia de asignación, es decir, dentro del cuerpo de la función el nombre de la misma 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...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • La Función De La Función
  • Funciones
  • Funciones del estado
  • Funciones
  • Funciones
  • Funciones
  • Funciones
  • Funcion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS