Funciones (introducción)

Anuncio
Funciones (introducción)
●
Las funciones se pueden clasificar en dos tipos:
–
Intrínsecas. Funciones que todo C debe tener y que
fueron programadas por alguien mas.
●
–
Ejemplos, funciones matemáticas, funciones de
entrada/salida.
Funciones declaradas por el usuario.
●
El programador puede formar funciones, de hecho
es MUY recomendable hacerlo.
Funciones (cont.)
●
Las funciones en programación nos ayudan a:
–
Dividir tareas grandes en varias más pequeñas.
–
Reusar código escrito por nosotros o por alguien
mas.
2
Funciones (Reglas de uso)
●
●
Un programa puede contener tantas funciones
como sea necesario.
Para crear una función se debe tener claro:
–
–
–
–
Lo que la función tiene que hacer.
Cuales y de que tipo son los argumentos de
entrada.
La necesidad o no de usar argumentos de salida.
De que tipo es el valor de salida.
3
Funciones (sintaxis)
●
Hay dos partes que se tienen que escribir al
hacer una función:
–
Declaración de la función, o también llamada
prototipo o encabezado:
tipo_de_dato nombre_funcion(vacio, void, o lista de
argumentos con su tipo de dato, con o sin nombres);
●
●
Por ejemplo:
int hora();
int fecha(void);
double area_circulo(double);
int min(int x, int y);
Aquí solo se indica el tipo de dato de salida, el
nombre de la función y el o los tipos de argumentos 4
usados.
Funciones (sintaxis, cont.)
–
Definición de la función, o también llamado
implementación:
tipo_de_dato nombre_funcion(vacio, void, o lista de
argumentos con su tipo de dato y nombres)
{
cuerpo de la función;
//El valor de regreso debe coincidir en tipo
//con el declarado en la función.
return valor_de_regreso;
}
●
●
●
Note que el ; de la primera linea no aparece, esto es
distinto a la declaración.
En este caso los nombres de los argumentos son
obligatorios
Los parámetros en la declaración y en la definición
DEBEN coincidir en número y en tipo. Los nombres no
tienen por que ser los mismos.
5
Funciones (llamadas a)
●
Para invocar (o llamar) a una función la sintaxis es la
siguiente:
<nombre_de_variable>=nombre_funcion(lista de variables,
constantes, expresiones o funciones);
–
Ejemplos:
x=sin(y);
x=tan(1.2);
x=cos(fabs(y));
asin(x);
●
El número, tipo y orden de argumentos DEBE coincidir con los
indicados en la declaración, si no coinciden el compilador indicará un
error.
6
Funciones intrínsecas:
●
Agrupadas por “temas”, al agrupamiento
se le llama biblioteca.
–
Bibliotecas:
●
●
●
●
stdio.h
math.h
string.h
stdlib.h
estandar I/O.
matemáticas.
manejo de cadenas de caracteres.
manejo de memoria dinámica.
7
Funciones intrinsecas de
matemáticas (math.h)
Función Arg entrada Arg sal.
acos(x)
double
double
asin(x)
double
double
atan(x)
double
double
atan2(y,x) double
double
cos(x)
double
double
cosh(x)
double
double
sin(x)
double
double
sinh(x)
double
double
tan(x)
double
double
tanh(x)
double
double
ceil(x)
double
double
exp(x)
double
double
fabs(x)
double
double
floor(x) double
double
fmod(x)
double
double
log(x)
double
double
log10(x) double
double
pow(x,y) double
double
rand()
int
int
sqrt(x)
double
double
srand(i) unsigned int nada
salida
arco coseno de x, salida en radianes.
arco seno de x, salida en radianes.
arco tangente de x, salida en radianes.
arco tangente, salida entre +-Pi
coseno de x (x expreseada en radianes).
coseno hiperbólico de x (x expreseada en radianes).
seno de x (x expreseada en radianes).
seno hiperbólico de x (x expreseada en radianes).
tangente de x (x expreseada en radianes).
tangente hiperbólica de x (x expreseada en radianes).
El numero entero más pequeño menor o igual a x.
e^x.
valor absoluto de x.
El numero entero más pequeño mayor o igual a x.
residuo de x/y.
logaritmo natural de x.
logaritmo base 10 de x.
x^y
numero pseudoaleatorio entre [0,RAND_MAX]
Raíz cuadrada de x.
Reinicialización de la semilla para rand()
Funciones intrínsecas de
entrada/salida (stdio.h)
Función
fclose
fflush
fgets
fopen
fprintf
fscanf
printf
scanf
sprintf
Arg entrada Arg sal.
FILE *
int
FILE *
int
char*, int, FILE * char *
char *, char* FILE *
variable
int
variable
int
variable
int
variable
int
variable
int
salida
Cierra un arch. Regresa un 0 con exito, EOF si no.
Limpia una entrada.Regresa un 0 con exito, EOF si no.
Obtiene una cadena de un archivo. Apuntador a cadena
Abre un arch. Regresa un apuntador con exito, EOF si no.
Esc. salida con formato a un archivo. Regresa # caract. impresos
Lee de un archivo de texto. Regresa # valores leidos.
Esc. salida con formato a pantalla. Regresa # caract. impresos
Lee desde el teclado con formato. Regresa # valores leidos.
Esc. salida con formato a buffer. Regresa # caract. impresos
Descargar