miércoles, 15 de mayo de 2013

Funciones Definidas Por El Usuario Y Funciones Definidas Por El Lenguaje En Programación C


INTRODUCCIÓN


Las funciones que se han utilizado hasta ahora son funciones que el lenguaje de programación ha predefinido en sus bibliotecas o librerías. Sin embargo, también es posible que el programador defina y utilice sus propias funciones.

FUNCIONES DEFINIDAS POR EL USUARIO Y FUNCIONES DEFINIDAS POR EL LENGUAJE EN PROGRAMACIÓN C


Una función, como ya se ha dicho, es un bloque de código dentro del programa que se encarga de realizar una tarea determinada. Por lo tanto un programa en c debe constar de una o más funciones, y por supuesto no puede faltar la función principal main().
Si un programa, está constituido por más de una función, las llamadas a la misma, pueden realizarse desde cualquier parte del programa, y la definición de ellas debe ser independiente unas de otras.
Por lo tanto sería un grave error el tratar de definir una función dentro de otra.
Una función puede ser llamada desde cualquier parte del programa no sólo una vez, y cuando es llamada, empieza a ejecutar las acciones que están escritas en código. Para mayor comodidad del lector vamos a ver varios ejemplos, del uso de funciones y a medida que vayamos avanzando se volverán más complejos.
El orden será el siguiente:
1.    Funciones que no devuelven ningún valor
2.    Funciones que devuelven un valor entero
3.    Funciones que devuelven un valor Real
4.    Funciones combinadas
5.    Funciones en las que usamos Menú.

Funciones que no devuelven ningún valor

Cómo se ha dicho las funciones pueden o no devolver algún valor, para mi parecer, este tipo de funciones son las más sencillas, ya que cuando se llama la función, esta realiza lecturas, asignaciones, cálculos o impresiones, finaliza la ejecución de la función y el programa continúa normalmente.

Ejemplo 1

Diseñe un programa que dados dos números enteros determine la suma y cual de ellos es mayor, usando dos funciones diferentes.
#include <stdio.h>
#include <conio.h>

void suma (int a, int b); /*Declaración de la función*/
void mayor (int a, int b); /*Tipo de dato, nombre de la función y el tipo y nombre de los argumentos*/
main()
{
int a, b;
printf("Ingrese el valor de a:\n");
scanf("%d", &a);
printf("Ingrese el valor de b:\n");
scanf("%d", &b);
suma(a,b); /*Llamado de la funci¢n*/
mayor(a,b); /*Unicamente el nombre de la funci¢n y de los par metros*/
getch();
return 0;
}
void suma(int a, int b) /*Definición de la función*/
{ /*Abrimos llaves al inicio de la definición*/
int sum; /*Declaración de las variables locales*/
sum=a+b;
printf("El valor de la suma es %d:\n\n", sum);
} /*Fin de la función suma*/
void mayor(int a, int b)
{
if(a==b)

printf("Son iguales\n\n");
else
{
if(a>b)
printf("El valor de a es mayor que el de b\n\n");
else
printf("El valor de b es mayor que el de a\n\n");
}
}

Definición de la Función

La función ha sido declarada, ha sido llamada y por lo tanto deber haber sido definida. Lo cual consta de dos partes, las cuales son:
Que como su nombre lo indica, es la primera línea de la definición de la función y con ella le indicamos al compilador que está en presencia de una función. Su formato es el siguiente:
Tipo_de_dato nombre_de_la_función (tipo y nombre de los argumentos)
·         La Primera Línea
·         Cuerpo de la función
Se inicia con una llave "{", y en ella, se pueden realizar asignaciones, cálculos, impresiones, así como la declaración de las variables locales. Puede estar constituidas por estructuras secuenciales, selectivas, iterativas, anidamientos, se pueden llamar otras funciones, etc; finaliza con "}". Puede devolver uno o ningún valor.
Las funciones que devuelven algún valor, se les llama PROTOTIPOS DE FUNCIONES:
Antes de usar una función C debe tener conocimiento acerca del tipo de dato que regresara y el tipo de los parámetros que la función espera.

El estándar ANSI de C introdujo una nueva (mejor) forma de hacer lo anterior respecto a las versiones previas de C.
La importancia de usar prototipos de funciones es la siguiente:
Se hace el código más estructurado y por lo tanto, más fácil de leer.
Se permite al compilador de C revisar la sintaxis de las funciones llamadas.
Lo anterior es hecho, dependiendo del alcance de la función. Básicamente si una función ha sido definida antes de que sea usada (o llamada), entonces se puede usar la función sin problemas.
Si no es así, entonces la función se debe declarar. La declaración simplemente maneja el tipo de dato que la función regresa y el tipo de parámetros usados por la función.
Es una práctica usual y conveniente escribir el prototipo de todas las funciones al principio del programa, sin embargo esto no es estrictamente necesario.
Para declarar un prototipo de una función se indicara el tipo de dato que regresará la función, el nombre de la función y entre paréntesis la lista del tipo de los parámetros de acuerdo al orden que aparecen en la definición de la función. Por ejemplo:
int longcad(int n); Lo anterior declara una función llamada longcad que regresa un valor entero y acepta otro valor entero como parámetro.
Este método es un poco complejo y puede realizarse de manera más fácil, haciendo uso de las funciones predefinidas en C, de las cuales hablaremos a continuación.
·         Funciones que devuelven un valor entero
·         Funciones que Devuelven un Valor Real
Antes que nada, trataremos las funciones predefinidas en C. Ya que C, posee ciertas funciones que nos ayudan hacer nuestros programas más fáciles y utilizar menos código.
El lenguaje c, cuenta con una serie de funciones de bibliotecas que realizan operaciones y cálculos de uso frecuente.

Para acceder a una función, se realiza mediante el nombre seguido de los argumentos que le servirán a la función a realizar la tarea específica. Podemos realizar muchas otras combinaciones de funciones, según necesitemos y lo solicite nuestro programa.
·         Funciones Combinadas
·         Funciones en las que usamos Menú
En la práctica, muchas veces debemos diseñar programas, que nos permitan elegir la acción o acciones a realizar, es decir haciendo uso de un menú. El cual, no es más ni menos que la aplicación de un selector múltiple. Un switch.

CONCLUSIÓN


El uso de las funciones en C sirve muchas ventajas:

1.            Facilita la programación modular de arriba hacia abajo. En este estilo de programación, el alto nivel del problema general se resuelve primero.

2.            La longitud de un programa de origen se puede reducir mediante el uso de las funciones en un lugar adecuado.

3.            Es fácil de localizar y aislar una función defectuosa de nuevas investigaciones.

4.            Una función puede ser utilizada por muchos otros programas. Esto significa que un programador de C se puede construir sobre lo que otros ya lo han hecho, en lugar de empezar desde cero.



1 comentario: