Manual de programación en C: Funciones.


En esta entrega veremos y aprenderemos a usar funciones. A veces, necesitamos repetir una acción más de una vez, pero a diferencia de un bucle, no la tenemos que repetir un número de veces y se acabó, sino que es un código o un algoritmo que podemos necesitar varias veces en un programa. Por ejemplo, supongamos que programamos una calculadora, y una de las funciones es la potencia. También le ponemos la función de meter números en notación científica (potencias de 10). Como ambas son potencias, no tendría sentido hacer las cosas dos veces, una para cada operación, para eso usaremos las funciones. Definiremos una función que haga la potencia y luego simplemente llamaremos a la función cada vez que la necesitemos.

Las funciones son básicamente eso: bloques de código o algoritmos que podemos necesitar varias veces.

Bien, pues vamos a ver el formato de una función. Algo te sonará ya que lo hemos visto en entregas anteriores del curso.

tipo_salida nombre_de_la_funcion(tipo parámetro1, tipo parámetro2, ..., tipo parámetroN)
{
       código de la función;
}

tipo_salida es el tipo de variable que la función devolverá. Cuando usamos una función, que esta devuelva algo lo puedes ver como que la función se sustituirá por un dato. Podemos usar ese dato, guardarlo en una variable, o si simplemente ejecutamos la función, esta realizará lo que tenga que hacer y el dato de salida se perderá.

nombre_de_la_función es el nombre que nosotros le demos, puede ser lo que sea, pero no puede contener puntos, espacios, empezar con números y algunos otros caracteres reservados, yo recomiendo usar solo letras, números y guiones bajos.

Entre paréntesis ponemos cada parámetro de la función, recordad que a veces la función podía pedir datos para trabajar con ellos, los parámetros son estos datos.

A continuación ponemos lo que la función debe de hacer entre { y }

Vamos e verlo con un ejemplo, haremos, como dije antes, un programa capaz de hallar potencias y representar números en notación científica, es decir, nosotros le metemos la notación y el programa nos devuelve el número completo. Es un poco inútil, pero es bastante fácil y podremos ver el uso de la función.

Haremos una función potencia, es bastante fácil de hacer y solo necesita dos parámetros, la base y el exponente.

#include <stdio.h>

double potencia(int base, int exponente)
{
	int i;
	long double j = base;
	for (i=1;i< exponente;i++)
	{
		j = j * base;
	}
	return j;
}

int main()
{
        double resultado;
	//Menú
	printf("Menú:\n");
	printf("1.-Potencia\n");
	printf("2.-Not.Científica\n");
	int opcion;	scanf("%i", &opcion);

	if (opcion==1)
	{
		int base, exponente;
		printf("Introduce base: ");
		scanf("%i", &base);
		printf("\nIntroduce exponente: ");
		scanf("%i", &exponente);
		double resultado = potencia(base, exponente);
		printf("\nEl resultado de %i elevado a %i es: %f\n", base, exponente, resultado);
	}
	else if(opcion==2)
	{
		float factor;
		int exponente;
		printf("Introduce factor: ");
		scanf("%f", &factor);
		printf("\nIntroduce exponente: ");
		scanf("%i", &exponente);
		double resultado = factor*potencia(10, exponente);
		printf("\nEl resultado de %f·10^%i es: %f\n", factor, exponente, resultado);
	}
	return 0;
}

Primero nos muestra un menú para decidir qué hacer, y luego nos pide los datos para realizar la potencia.

El tipo de salida es double para que los números puedan ser mayores, de modo que cuando hacemos resultado = potencia…, la función devolverá el resultado. Usamos la función return dato; para sacar la salida de una función. En la función potencia, como el resultado está en la variable j, hacemos return j; para que la variable resultado tenga el resultado de la operación.

Esto son las funciones, puedes usarlas para hacer cualquier cosa. En entregas posteriores veremos cómo incluir las funciones desde otros archivos, al igual que hacemos con el #include , de modo que podremos hacer nuestras propias librerías de funciones y nuestro código quedará mucho más limpio.

Ejercicio
Para ver lo que has aprendido, intenta hacer un programa como el que yo he hecho arriba, pero que el menú sea cíclico, es decir te muestre el menú, te pida los datos, te muestre el resultado y te vuelva a mostrar el menú. Pista: tendrás que usar bucles. También tendrás que poner una nueva opción al menú, la opción salir para que cierre el programa. Pista: con la función exit(); cierras el programa, úsala.
Mándame el código para ver qué tal lo has hecho y te pueda corregir fallos o te pueda indicar cómo hacerlo mejor.

Para cualquier duda, comentad o mandadme un correo (sección Contacto).

Licencia de Creative Commons
Manual de C by The Neowriter is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Anuncios
Esta entrada fue publicada en Manual de programación en C, Manuales, Manuales largos y etiquetada , , , , , , . Guarda el enlace permanente.

Una respuesta a Manual de programación en C: Funciones.

  1. Pingback: hola chicos ^^ problema con ecuacion segundo grado

Responder

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