Funciones
Enviado por lupiiss • 28 de Agosto de 2012 • 3.717 Palabras (15 Páginas) • 679 Visitas
Funciones
6.1 INTRODUCCIÓN
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.
Una función es un tipo de subprograma que calcula como resultado un valor simple y único a partir de otros valores dados como argumentos.
En líneas generales, una función se asemeja bastante a la idea matemática de función con argumentos.
Definición de funciones:
o El primer paso en el manejo de una función es declarar su interfaz. Esta declaración incluye su nombre, los argumentos que necesita con el correspondiente tipo para cada uno de ellos, y el tipo de resultado que proporciona.
o Cabecera de función:PROCEDURE Nombre( Argumentos: Tipo; ...) : TipoResultado
Es frecuente que los lenguajes de programación utilicen la palabra PROCEDURE para designar procedimientos, y la palabra FUNCTION para designar funciones. MODULA-2 es un caso especial, y utiliza la palabra PROCEDURE para designar cualquiera de las dos clases de subprogramas.
Estas cabeceras representan la interfaz entre la definición de la función y su utilización posterior. Los nombres de los argumentos son formales, esto quiere decir, que no son variables del programa, sino solo nombres simbólicos que sirven para formalizar la definición posterior de la función, permitiendo hacer referencia a los argumentos en la definición de los cálculos.
Estas cabeceras representan la interfaz entre la definición de la función y su utilización posterior. Los nombres de los argumentos son formales, esto quiere decir que no son variables del programa, sino solo nombres simbólicos que sirven para formalizar la definición posterior de la función, permitiendo hacer referencia a los argumentos en la definición de los cálculos.
La definición completa de una función se compone de la cabecera, seguida de un cuerpo que tiene la misma estructura que un bloque de programa completo. Este bloque comienza con una parte declarativa y continua con una parte ejecutiva introducida con la palabra clave BEGIN. En la parte declarativa se declaran las constantes y variable para el uso local de la función. La parte ejecutiva estará constituida por una secuencia de sentencias. La función finalizara con la palabra clave END y a continuación nuevamente el nombre de la función seguida de un punto y coma ( ; )
En las sentencias que constituyen la función se puede y se debe hacer uso de los argumentos formales declarados en su interfaz. Esto permite parametrizar los cálculos de la función para valores particulares de los argumentos.
6.2 FUNCIONES ESTÁNDAR
Todas aquellas funciones que estén implementadas para algún generador de GeneXus se denomina Funciones Estándar y las mismas se clasifican en:
Normales: Funciones que existen para todos los generadores. Ejemplo: YMDTOD, GXMLines.
No Portables: Funciones que existen solo para algunos generadores. Ejemplo: WriteRegKey, funciones para manejo de texto: dfw y dfr.
Discontinuadas (Deprecated): Funciones para las cuales existe otra nueva que la sustituye, por ejemplo: XTOD, UDF.
Las mismas se diferencian con distintos colores en el editor GeneXus. Las Normales aparecen en Marrón, las No Portables en Rojo y las Discontinuadas en Marrón claro.
Para poder grabar funciones NO estándar será necesario modificar la preference/propiedad “Function”, ya sea a nivel de modelo u objeto. De lo contrario aparecerá el mensaje “Error: Not valid function” al salvar o especificar el objeto.
Las funciones definidas en módulos estándar se denominan funciones estándar y pueden ser utilizadas sin necesidad de escribir su definición, pero hay que indicar expresamente que se van a utilizar dichas funciones mediante una declaración IMPORT del modulo que las contenga.
o En lo referente a funciones matemáticas, se dispone de un modulo estándar llamado MathLib0.
o Las funciones matemáticas disponibles en este modulo son las siguientes
o Exp (x): Exponencial
o Ln (x): Logaritmo neperiano de X
o Sin (x): Seno de X
o Cos (x): Coseno de X
o Arctan (x): Arcotangente de X
o sqrt (x): Raiz cuadrada de X
o Entier (x): Mayor entero de x
Todas estas funciones tienen un argumento REAL y devuelven un valor REAL, excepto entier, que devuelve un valor INTEGER.
6. 3 ENTRADA Y SALIDA DE DATOS
Una operación de Entrada y Salida de Datos (E/S) se define como el conjunto de acciones necesarias para la transferencia de un conjunto de datos, es decir, una transferencia completa de todos los datos. El subsistema de ENTRADA/SALIDA (E/S) suministra al computador un mecanismo eficiente de comunicación entre el procesador central y el entorno exterior.
La conexión de dispositivos periféricos a un computador no puede llevarse a cabo de forma directa haciendo uso del bus del procesador, esta restricción es debida fundamentalmente a tres razones importantes: existe una gran variedad de dispositivos con distintos modos de operación, el ritmo de transferencia de datos es, en casi todos los casos, mucho menor que hay entre la CPU y la memoria principal y en ocasiones, el periférico requiere que los datos le sean suministrados en formatos distintos al utilizado por la CPU.
Se define una transferencia elemental de información como la transmisión de una sola unidad de información (normalmente un byte) entre el procesador y el periférico o viceversa. Para efectuar una transferencia elemental de información son precisas las siguientes funciones: establecimiento de una comunicación física entre el procesador y el periférico para la transmisión de la unidad de información y control de los periféricos, en que se incluyen operaciones como prueba y modificación del estado del periférico.
Para realizar estas funciones la CPU gestionará las líneas de control necesarias. En cuestión de dispositivos de transferencia de datos la tecnología esta todos los días innovando maneras cada vez más eficientes de transportar e intercambiar paquetes de datos cada vez mayores.
6. 4 FUNCIONES DEFINIDAS POR EL USUARIO
Al igual que las funciones
...