ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Funciones En C++


Enviado por   •  18 de Junio de 2014  •  4.310 Palabras (18 Páginas)  •  303 Visitas

Página 1 de 18

MODULO DE FUNCIONES

1. GENERALIDADES.

La utilización de funciones creadas por el programador permite dividir un programa grande en un cierto número de componentes más pequeñas (llamados en ocasiones subprogramas), cada una de las cuales posee un propósito único que lo diferencian de los demás. Por tanto, un programa en C se puede modularizar mediante el uso de las funciones. (C no incluye otras formas de desarrollo modular de programas, como los procedimientos en Pascal.

Hay varias ventajas de desarrollar en forma modular los programas. Por ejemplo, muchos programas requieren acceder repetidamente a un grupo determinado de instrucciones desde varias partes distintas del programa. Las instrucciones repetidas se pueden incluir dentro de una sola función, a la que se puede acceder cuando sea necesario. Además, se puede transferir un conjunto de datos diferente a la función cada vez que se accede a ella. Por tanto, el uso de funciones evita la necesidad de repetir las mismas instrucciones de forma redundante (como ocurre en los lenguajes de programación lineal).

De igual forma es importante la claridad lógica resultante de la descomposición de un programa en varias funciones concisas, representando de cada función una parte bien definida del problema global. Estos programas son más fáciles de escribir y de depurar, y su estructura lógica es más fácil de entender que la de aquellos programas que carecen de este tipo de estructuras. Esto es especialmente cierto en programas grandes y complicados. La mayoría de los programas en C se modularizan de esta manera, aún cuando no impliquen la ejecución repetida de las mismas tareas. De hecho, la descomposición de un programa en módulos individuales se considera generalmente parte de la buena práctica de la programación.

Cada subprograma se puede separar como una función individual y almacenar en un archivo de librería especial. Si un programa requiere de una determina rutina, se puede añadir la correspondiente función de librería al programa durante el proceso de compilación. Por tanto, muchos programas distintos pueden utilizar una misma función. Esto evita la reescritura del código de las funciones (una ventaja de la programación modular, es la REUTILIZACÓN DE CÓDIGO cuando se generan funciones que pueden ser implementadas en diferentes programas). Además favorece la portabilidad, ya que se pueden escribir programas sin prestar atención a las características dependientes del sistema.

En este módulo veremos cómo se definen las funciones y cómo se puede acceder a ellas desde diferentes partes de un programa en C. Veremos también cómo se puede pasar información a una función, trataremos la utilización de prototipos de funciones recomendada por el estándar ANSI (Instituto Nacional Americano de Estándares), actual. Y finalmente, discutiremos una importante e interesante técnica de programación conocida como recursividad, en la que una función puede acceder a sí misma de forma repetida.

Una función es un segmento de programa que realiza determinadas tareas bien definidas. Todo programa en C consta de una o más funciones. Una de estas funciones se debe llamar main. La ejecución del programa siempre comenzará por las instrucciones contenidas en main. Se puede subordinar funciones adicionales a main, y posiblemente unas a otras. Se debe tener en cuenta que los archivos de cabecera (*.h) no poseen la función main; dado que sus funciones se construyen para ser implementadas en otros programas.

Cuando se accede a una función desde alguna determinada parte del programa (llamado a una función), se ejecutan las instrucciones de que consta. Se puede acceder a una misma función desde varios lugares distintos del programa. Una vez que se ha completado la ejecución de una función, se devuelve el control al punto desde el que se accedió a ella.

Generalmente, una función procesa la información que le es pasada desde el punto del programa en donde se accede a ella y devolverá un sólo valor. La información se le pasa a la función mediante unos identificadores especiales llamados argumentos (también denominados parámetros) y es devuelta por medio de la instrucción return (retornar). Sin embargo, algunas funciones aceptan información pero no devuelven nada (por ejemplo, la función de librería printf), mientas que otras funciones (la función de biblioteca scanf) devuelven varios valores.

2. DEFINICIÓN DE UNA FUNCIÓN

La definición de una función tiene dos componentes principales: La primera línea (incluyendo las declaraciones de los argumentos) y el cuerpo de la función.

La primera línea de la definición de una función contiene la especificación del tipo de valor devuelto por la función, seguido del nombre de la función y (opcionalmente) un conjunto de argumentos, separados por comas y encerrados entre paréntesis. Cada argumento viene precedido por su declaración de tipo. Deben seguir al nombre de la función un par de paréntesis vacíos sí la definición de la función no incluye ningún argumento.

En términos generales, la primera línea se puede escribir así:

tipo_de_dato nombre_de_función(tipo1 arg1, tipo2 arg2, ....., tipon argn)

en donde tipo_de_dato presenta el tipo de dato del valor que devuelve la función y nombre_de_función es el nombre de la función, y tipo1, tipo2, ... , tipon representa los tipos de datos de los argumentos arg1, arg2, ..... , argn. Es de aclarar que los tipos de datos de los argumentos pueden ser iguales o diferentes. Los tipos de datos se suponen enteros cuando no se indican explícitamente. Sin embargo, la omisión de los tipos de datos se considera una práctica de programación pobre, aún cuando estos sean enteros.

Los argumentos se denominan argumentos formales, ya que representan los nombres de los elementos que se transfieren a la función desde la parte del programa que hace la llamada, también se llaman parámetros o parámetros formales. (Los argumentos correspondientes en referencia a la función se denominan argumentos reales, ya que definen la información que realmente se transfiere. Algunos autores llaman argumentos simplemente a los argumentos reales.) Los identificadores utilizados como argumentos formales son "locales" en el sentido de que no son reconocidos fuera de la función. Por tanto, los nombres de los argumentos formales no tienen por qué coincidir con los nombres de los argumentos reales en la parte del programa que hace la llamada. Sin embargo, cada

...

Descargar como (para miembros actualizados)  txt (26.9 Kb)  
Leer 17 páginas más »
Disponible sólo en Clubensayos.com