Creación de funciones definidad por el usuario

octubre 1, 2007

Las funciones de usuario son, como su nombre indica, las que el propio usuario declara, de igual manera que declara procedimientos. Las funciones nacen con el propósito de ser subprogramas que siempre tienen que devolver algún valor.

Las dos principales diferencias entre procedimientos y funciones son:

  • Las funciones siempre devuelven un valor al programa que las invocó.
  • Para llamar a un procedimiento se escribe su nombre en el cuerpo del programa, y si los necesita, se incluyen los parámetros entre paréntesis. Para invocar una función es necesario hacerlo en una expresión.

Las funciones de usuario vienen definidas por un nombre, seguidas de dos paréntesis () entre los que puede haber o no argumentos. Los argumentos son valores que se le pasan a la función cuando se llama.

Un ejemplo de una función sin argumentos:

#include <stdio.h>

main ()

{

printf (“\nEste mensaje lo muestra la función main()”);

MiFuncion ();

}

/* Definición de la función MiFuncion() */

MiFuncion ()

{

printf (“\nEste otro lo muestra MiFuncion()”);

}

En este ejemplo se utiliza la función MiFuncion() para mostrar en pantalla una frase. Como se ve, MiFuncion() se invoca igual que printf() o scanf(), es decir, simplemente se escribe el nombre de la función y los paréntesis. La definición de MiFuncion() tiene el mismo aspecto que main(): el nombre de la función con los paréntesis y, seguidamente, el cuerpo de la función encerrado entre llaves.

Un ejemplo de una función con argumentos. El programa visualiza el cuadrado de un número entero por medio de una función que recibe dicho número como argumento.

#include <stdio.h>

main ()

{

int num;

printf (“\nTeclee un número entero: “);

scanf (“%d”, &num);

cuadrado (num);

}

/* Definición de la función cuadrado() */

cuadrado (int x)

{

printf (“\nEl cuadrado de %d es %d\n”, x, x * x);

}

Es la declaración de la función cuadrado(). Dentro de los paréntesis se pone la variable que recibirá el valor pasado a cuadrado() y de qué tipo es. Así, si se teclea el valor 6, se almacena en num y al hacer la llamada cuadrado (num), la variable num se copia en la variable x, que es con la que trabaja internamente la función cuadrado().

Es importante mantener claros dos términos:

1. El término Argumento se refiere a la variable usada al llamar la función.

2. El término Parámetro Formal se refiere a la variable de una función que recibe el valor de los argumentos.

También es importante tener claro que la copia de variables se hace sólo en una dirección: del argumento al parámetro formal. Cualquier modificación del parámetro formal realizado dentro de la función no tiene ninguna influencia en el argumento.

Hay que tener en cuenta es que el tipo de argumento que se utiliza para llamar a una función debe ser el mismo que el del parámetro formal que recibe el valor. Así, no debe llamarse a la función cuadrado con un argumento de tipo float.

 

Un ejemplo que utiliza una función que devuelve un valor. El siguiente programa lee dos números enteros del teclado y muestra su producto en pantalla. Para el cálculo se usa una función que recibe los dos números y devuelve el producto de ambos.

#include <stdio.h>

main ()

{

int a, b, producto;

printf (“\nTeclee dos números enteros: “);

scanf (“%d %d”, &a, &b);

producto = multiplica (a, b);

printf (“\nEl resultado es %d”, producto);

}

/* Definición de la función multiplica() */

multiplica (int x, int y)

{

return (x * y);

}

About these ads

2 comentarios to “Creación de funciones definidad por el usuario”

  1. william estrada villa said

    gracias por su contenido y sus esplicacione me ayudaron mucho

  2. ANDREA said

    GRACIAS POR LA INFORMACION
    ME SIRVIO DE MUCHO…
    ECUADOR

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: