[Tutorial C] III.1 - Funciones simples
Página 1 de 1.
[Tutorial C] III.1 - Funciones simples
Funciones simples
Primero vamos a enternder qúe, cómo y para qué es una función.
Una función sirve para hacer transformaciones personalizadas a las variables, aplicarles ecuaciones y algoritmos. Sirven para solucionar algún problema, tiene distintos niveles de complejidad, y al final retornan un resultado.
Primero se deben declarar, se deben definir en algún sitio (tu propio código, en alguna libreria o cabecera) y luego usarlas.
Su estructura:
Las funciones, al final, retornan una variable, por lo que en tu código puedes tratarlas como una variable. Ya lo veremos bien. Vamos a definir un ejemplo, una función que hace la media de 5 números enteros, en un código completo que podrás compilar si quieres:
Hay mucho que comentar de este código, pero si lo entendéis al completo, habréis entendido las funciones a la perfección. Lo explicaré al máximo:
La función main() no necesita ser declarada, ni se debe llamar a su uso, es la que se ejecuta por defecto, la primera.
Dentro contiene instrucciones printf que dan instrucciones para que introduzcas los datos, la función scanf recoge datos que introduzcas con el teclado, "mete un número y pulsa Enter", así funciona. Al igual que printf, scanf es una variable de texto que tiene argumentos, pero funciona al revés, indicando el tipo %i indicamos que vamos a recoger un int, cualquier otro número o letra dará error. Se almacena en n1 la primera vez, luego en las siguientes. Ya explicaré por qué se pone un símbolo & antes de n1, está relacionado con los punteros, pero todo a su tiempo, a centrarnos en esto.
La variable que se delcara dentro de una función, como aquí es m, solo sirve dentro de la función, fuera no existe, a esa le damos el valor de la media, haciendo esa operación. Luego retornamos la m cuando ya lleva la media calculada, con esto se acaba la función. M es ahora la variable retornada m. Luego la mostramos, y ya está.
Una cosa más, si quieres usar las funciones como una forma de guardar un código que usarás constantemente, y que no devuelva ninguna variable, tiene que ser de tipo void donde ponías int, float, etc. Así:
Primero vamos a enternder qúe, cómo y para qué es una función.
Una función sirve para hacer transformaciones personalizadas a las variables, aplicarles ecuaciones y algoritmos. Sirven para solucionar algún problema, tiene distintos niveles de complejidad, y al final retornan un resultado.
Primero se deben declarar, se deben definir en algún sitio (tu propio código, en alguna libreria o cabecera) y luego usarlas.
Su estructura:
- Código:
// Se declara así
TIPO NOMBRE(ARGUMENTOS);
//Se define así
TIPO NOMBRE(ARGUMENTOS)
{
ALGORITMO
return VALOR A RETORNAR
}
//Se usan así
NOMBRE(VARIABLES PARA ARGUMENTOS);
Las funciones, al final, retornan una variable, por lo que en tu código puedes tratarlas como una variable. Ya lo veremos bien. Vamos a definir un ejemplo, una función que hace la media de 5 números enteros, en un código completo que podrás compilar si quieres:
- Código:
#include <stdio.h>
int n1,n2,n3,n4,n5;
float M;
float media(int a, int b, int c, int d, int e);
int main()
{
printf("Introduce 5 numeros para hacer su media\n");
scanf("%i",&n1);
printf("\n");
scanf("%i",&n2);
printf("\n");
scanf("%i",&n3);
printf("\n");
scanf("%i",&n4);
printf("\n");
scanf("%i",&n5);
M = media(n1,n2,n3,n4,n5);
printf("\n La media es %.2f",M);
return 0;
}
float media (int a, int b, int c, int d, int e)
{
float m = (float) (a+b+c+d+e)/5;
return m;
}
Hay mucho que comentar de este código, pero si lo entendéis al completo, habréis entendido las funciones a la perfección. Lo explicaré al máximo:
- Código:
int n1,n2,n3,n4,n5;
float M;
float media(int a, int b, int c, int d, int e);
La función main() no necesita ser declarada, ni se debe llamar a su uso, es la que se ejecuta por defecto, la primera.
Dentro contiene instrucciones printf que dan instrucciones para que introduzcas los datos, la función scanf recoge datos que introduzcas con el teclado, "mete un número y pulsa Enter", así funciona. Al igual que printf, scanf es una variable de texto que tiene argumentos, pero funciona al revés, indicando el tipo %i indicamos que vamos a recoger un int, cualquier otro número o letra dará error. Se almacena en n1 la primera vez, luego en las siguientes. Ya explicaré por qué se pone un símbolo & antes de n1, está relacionado con los punteros, pero todo a su tiempo, a centrarnos en esto.
- Código:
M = media(n1,n2,n3,n4,n5);
- Código:
float media (int a, int b, int c, int d, int e)
{
float m = (a+b+c+d+e)/5;
return m;
}
La variable que se delcara dentro de una función, como aquí es m, solo sirve dentro de la función, fuera no existe, a esa le damos el valor de la media, haciendo esa operación. Luego retornamos la m cuando ya lleva la media calculada, con esto se acaba la función. M es ahora la variable retornada m. Luego la mostramos, y ya está.
Una cosa más, si quieres usar las funciones como una forma de guardar un código que usarás constantemente, y que no devuelva ninguna variable, tiene que ser de tipo void donde ponías int, float, etc. Así:
- Código:
void iniciarPrograma()
{
codigo....
return;
}
Temas similares
» [Tutorial] II.4 - glutKeyboardFunc()
» [Tutorial C] IV.3 - Estructuras
» [Tutorial C] IV.1 - Punteros
» [Tutorial C++] I - "HelloWorld++"
» [Tutorial] II.2 - glutReshapeFunc()
» [Tutorial C] IV.3 - Estructuras
» [Tutorial C] IV.1 - Punteros
» [Tutorial C++] I - "HelloWorld++"
» [Tutorial] II.2 - glutReshapeFunc()
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|