Está en la página 1de 36

FUNCIONES EN C

Ana Rodríguez Hoyos


FUNCIONES
 Tipo de retorno void
void nombre_Funcion(parámetros); ///declarada

void main()
{
nombre_Funcion(argumentos); ///invocada

///definida
void nombre_Funcion(parámetros)
{

return;
}
FUNCIONES
 Tipo de retorno void
void nombre_Funcion(parámetros); ///declarada
void main()
{ nombre_Funcion(argumentos); ///invocada

///definida
void nombre_Funcion(parámetros)
{ - Similar a declarar una variable
- Tienen ámbito local
- Puede ser una o más variables, deben estar
return; separadas por coma.
- int a, float b, char c
} - Deben ser utilizados dentro de la función
FUNCIONES
 Tipo de retorno void
void nombre_Funcion(int a,float b,char c); ///declarada
void main()
{ nombre_Funcion(argumentos); ///invocada

}
///definida
void nombre_Funcion(int a, float b, char c)
{
if(c==‘y’)
{ - Similar a declarar una variable
b=sqrt(a); - Tienen ámbito local
- Puede ser una o más variables, deben estar
}
separadas por coma.
return; - int a, float b, char c
} - Deben ser utilizados dentro de la función
FUNCIONES
 Tipo de retorno void
void nombre_Funcion(int a, float b); ///declarada
void main()
{
int a;
float b;
printf(“Ingrese los valores: ”);
scanf(“%d %f”,&a ,&b);
nombre_Funcion(a,b); ///invocada
nombre_Funcion(2,3.5); ///invocada
Argumentos
}
- Pueden ser variables que tenga ya asignado
///definida un valor.
void nombre_Funcion(int a, float b) - Puede ser un valor, de acuerdo al tipo de
{ dato definido en el parámetro.
- El número de argumentos es igual al número
return;
de parámetros.
}
FUNCIONES
 Tipo de retorno int
int nombre_Funcion(int a,int b); ///declarada
void main()
{
int f,g=7,c=5;
f=nombre_Funcion(g,c); ///invocada
}
- Si el tipo de retorno es int  la función
///definida puede ser almacenada en una variable
int nombre_Funcion(int a,int b) entera.
{
int s;
s=a+b;
return s; - Si el tipo de retorno es int  la función debe
} retornar un valor entero.
FUNCIONES
 Tipo de retorno int
int nombre_Funcion(int a,int b); ///declarada
void main()
{
printf(“valor es: %d”, nombre_Funcion(7,8)); ///invocada
}
- Si el tipo de retorno es int  la función
///definida puede ser invocada en otra función, por
int nombre_Funcion(int a,int b) ejemplo printf() para mostrar su resultado.
{
int s;
s=a+b;
return s; - Si el tipo de retorno es int  la función debe
retornar un valor entero.
}
FUNCIONES
 Tipo de retorno int
int nombre_Funcion(parámetros); ///declarada
void main()
{
int z;
z=nombre_Funcion(argumentos); ///invocada

///definida
int nombre_Funcion(parámetros) - Similar a declarar una variable
{ - Tienen ámbito local
- Puede ser una o más variables, deben estar
int a;
separadas por coma.
return a; - int a, float b, char c
} - Deben ser utilizados dentro de la función
FUNCIONES
 Tipo de retorno int
int nombre_Funcion(int a, int b, char c); ///declarada
void main()
{
int z;
z=nombre_Funcion(argumentos); ///invocada

}
///definida
int nombre_Funcion(int a, int b, char c)
{
if(c==‘y’)
{ - Similar a declarar una variable
b=sqrt(a); - Tienen ámbito local
} - Puede ser una o más variables, deben estar
return b; separadas por coma.
- int a, float b, char c
} - Deben ser utilizados dentro de la función
FUNCIONES
 Tipo de retorno int
int nombre_Funcion(int a, float b); ///declarada
void main()
{
int a,b,z,y;
printf(“Ingrese los valores: ”);
scanf(“%d %d”,&a ,&b);
z=nombre_Funcion(a,b); ///invocada
y=nombre_Funcion(2,5); ///invocada

}
Argumentos
///definida
int nombre_Funcion(int a, float b) - Pueden ser variables que tenga ya asignado
{ un valor.
int suma; - Puede ser un valor, de acuerdo al tipo de
suma = a+b; dato definido en el parámetro.
return suma; - El número de argumentos es igual al número
} de parámetros.
FUNCIONES
 Tipo de retorno float
float nombre_Funcion(int a,int b); ///declarada
void main()
{
float f;
int g=7,c=5;
f=nombre_Funcion(g,c); ///invocada
}
- Si el tipo de retorno es float  la función
///definida puede ser almacenada en una variable
flotante.
float nombre_Funcion(int a,int b)
{
float s;
s=a/b;
return s; - Si el tipo de retorno es float  la función
debe retornar un valor flotante-real.
}
FUNCIONES
 Tipo de retorno float
float nombre_Funcion(int a,int b); ///declarada
void main()
{
printf(“valor es: %f”, nombre_Funcion(7,8)); ///invocada
}
- Si el tipo de retorno es float  la función
///definida puede ser invocada en otra función, por
float nombre_Funcion(int a,int b) ejemplo printf() para mostrar su resultado.
{
float s;
s=a/b;
return s; - Si el tipo de retorno es float  la función
debe retornar un valor flotante-real.
}
FUNCIONES
 Tipo de retorno float
float nombre_Funcion(parámetros); ///declarada
void main()
{
float z;
z=nombre_Funcion(argumentos); ///invocada

///definida
float nombre_Funcion(parámetros) - Similar a declarar una variable
{ - Tienen ámbito local
- Puede ser una o más variables, deben estar
float s;
separadas por coma.
return s; - int a, float b, char c
} - Deben ser utilizados dentro de la función
FUNCIONES
 Tipo de retorno float
float nombre_Funcion(int a, float b, char c); ///declarada
void main()
{
float z;
z=nombre_Funcion(argumentos); ///invocada

}
///definida
float nombre_Funcion(int a, float b, char c)
{
if(c==‘y’)
{ - Similar a declarar una variable
b=sqrt(a); - Tienen ámbito local
} - Puede ser una o más variables, deben estar
return b; separadas por coma.
- int a, float b, char c
} - Deben ser utilizados dentro de la función
FUNCIONES
 Tipo de retorno float
float nombre_Funcion(int a, int b); ///declarada
void main()
{
int a,b;
float z,y;
printf(“Ingrese los valores: ”);
scanf(“%d %d”,&a ,&b);
z=nombre_Funcion(a,b); ///invocada
y=nombre_Funcion(2,5); ///invocada
} Argumentos
///definida
float nombre_Funcion(int a, int b) - Pueden ser variables que tenga ya asignado
{ un valor.
float s; - Puede ser un valor, de acuerdo al tipo de
s = a/b; dato definido en el parámetro.
return s; - El número de argumentos es igual al número
} de parámetros.
FUNCIONES
 Tipo de retorno char
char nombre_Funcion(int a,int b); ///declarada
void main()
{
char f;
int g=7,c=5;
f=nombre_Funcion(g,c); ///invocada
}

///definida
char nombre_Funcion(int a,int b) - Si el tipo de retorno es char  la función
{ puede ser almacenada en una variable char.
char s;
if (a>b)
{
s=‘m’;
}
- Si el tipo de retorno es char  la función
return s;
debe retornar un caracter.
}
FUNCIONES
 Tipo de retorno char
char nombre_Funcion(int a,int b); ///declarada
void main()
{
printf(“valor es: %c”, nombre_Funcion(7,8)); ///invocada
}
- Si el tipo de retorno es char  la función
///definida puede ser invocada en otra función, por
char nombre_Funcion(int a,int b) ejemplo printf() para mostrar su resultado.
{
char s;
………
return s; - Si el tipo de retorno es char  la función
debe retornar un carácter es decir una letra.
}
FUNCIONES
 Tipo de retorno char
char nombre_Funcion(parámetros); ///declarada
void main()
{
char z;
z=nombre_Funcion(argumentos); ///invocada
}
///definida
char nombre_Funcion(parámetros)
{
char s;
if (a>b)
{ - Similar a declarar una variable
- Tienen ámbito local
s=‘m’;
- Puede ser una o más variables, deben estar
}
separadas por coma.
return s; - int a, float b, char c
} - Deben ser utilizados dentro de la función
FUNCIONES
 Tipo de retorno char
char nombre_Funcion(int a, int b); ///declarada
void main()
{
char z;
z=nombre_Funcion(argumentos); ///invocada

}
///definida
char nombre_Funcion(int a, int b)
{
char s;
if (a>b)
- Similar a declarar una variable
{
- Tienen ámbito local
s=‘m’;
- Puede ser una o más variables, deben estar
} separadas por coma.
return s; - int a, float b, char c
} - Deben ser utilizados dentro de la función
FUNCIONES
 Tipo de retorno char
char nombre_Funcion(int a, int b); ///declarada
void main()
{
int a,b;
char z,y;
printf(“Ingrese los valores: ”);
scanf(“%d %d”,&a ,&b);
z=nombre_Funcion(a,b); ///invocada
y=nombre_Funcion(2,5); ///invocada
} Argumentos
///definida
char nombre_Funcion(int a, int b) - Pueden ser variables que tenga ya asignado
{ un valor.
char s; - Puede ser un valor, de acuerdo al tipo de
…………… dato definido en el parámetro.
return s; - El número de argumentos es igual al número
} de parámetros.
FUNCIONES
 Tipo de retorno bool
bool nombre_Funcion(int a); ///declarada
void main()
{
int a=3,b=5;
if(nombre_Funcion(a)==true) ///invocada
{
printf("correcto");
}
}
- Si el tipo de retorno es bool  la función
///definida
puede ser utilizada dentro de una condición
bool nombre_Funcion(int a)
para ser validada.
{
………..
return true;
…………. - Si el tipo de retorno es bool  la función
return false; debe retornar un valor booleano, es decir
} true or false
FUNCIONES
 Tipo de retorno bool
bool nombre_Funcion(int a); ///declarada
void main()
{
int a=3,b=5;
if(nombre_Funcion(a)==false) ///invocada
{
printf("correcto");
}
}
- Si el tipo de retorno es bool  la función
///definida
puede ser utilizada dentro de una condición
bool nombre_Funcion(int a)
para ser validada.
{
………..
return true;
…………. - Si el tipo de retorno es bool  la función
return false; debe retornar un valor booleano, es decir
} true or false
FUNCIONES
 Tipo de retorno bool
bool nombre_Funcion(parámetros); ///declarada
void main()
{
if(nombre_Funcion(……)==false) ///invocada
{
printf("correcto");
}
}
///definida
bool nombre_Funcion(parámetros)
{
……….. - Similar a declarar una variable
return true; - Tienen ámbito local
- Puede ser una o más variables, deben estar
………….
separadas por coma.
return false; - int a, float b, char c
} - Deben ser utilizados dentro de la función
FUNCIONES
 Tipo de retorno bool
bool nombre_Funcion(int a); ///declarada
void main()
{
int a=3,b=5;
if(nombre_Funcion(a)==true) ///invocada
{
printf("correcto");
}
}
///definida
bool nombre_Funcion(int a)
{
if(a>=0)
{
return true;
- Similar a declarar una variable
}
- Tienen ámbito local
else - Puede ser una o más variables, deben estar
{ separadas por coma.
return false; } - int a, float b, char c
} - Deben ser utilizados dentro de la función
FUNCIONES
 Tipo de retorno bool
bool nombre_Funcion(int a); ///declarada
void main()
{
int a=3,b=5;
if(nombre_Funcion(a)==true) ///invocada
{
printf("correcto");
}
}
///definida Argumentos
bool nombre_Funcion(int a)
{ - Pueden ser variables que tenga ya asignado
……. un valor.
return true; - Puede ser un valor, de acuerdo al tipo de
…………… dato definido en el parámetro.
return false; - El número de argumentos es igual al número
} de parámetros.
Arreglos
void SumaVectores(int d, int v[d],int c[d],int r[d]);
void main()
{
int dimensión=4,vectorA[4]={1,4,5,1},vectorB[4]={1,4,5,1},vectorC[dimension];
SumaVectores(dimension,vectorA,vectorB,vectorC);
En el vectorC, se almacenará el
} resultado para ser utilizado cuando se
void SumaVectores(int d, int v[d],int c[d],int r[d]) necesite
{
int i;
for(i=0;i<d;i++)
{ En el vector r, se
r[i]=v[i]+c[i]; almacenará el resultado
} para ser utilizado cuando
se necesite
}
Arreglos
int SumaElementosVector(int d, int v[d]);
void main()
{
int dimensión=4,vectorA[4]={1,4,5,1},suma;
suma=SumaElementosVector(dimension,vectorA);
Un arreglo sólo debe ser invocado con su
} nombre
int SumaElementosVector(int d, int v[d])
{
int i, suma=0;
for(i=0;i<d;i++)
{
suma=suma+v[i];
} Siempre que se defina un vector como
return suma; parámetro primero debe estar definida la
} dimensión
Arreglos
• Vectores
Posición: 0 1 2 3 4 5 6

3 7 9 10 30 0 9

Valores de i : i=0 i=1 i=2 i=3 i=4 i=5 i=6


int SumaElementosVector(int d, int v[d])
{
int i, suma=0;
for(i=0;i<d;i++)
{ El lazo permite recorrer cada posición del vector.
suma=suma+v[i];
Al acceder a cada posición del vector se puede
recuperar el valor de esa posición o almacenar un
}
valor en determinada posición.
return suma;
}
Arreglos
• Vectores
Posición: 0 1 2 3 4 5 6

3 7 9 10 30 0 9

Valores de i : i=0 i=1 i=2 i=3 i=4 i=5 i=6


int SumaElementosVector(int d, int v[d])
{
int i, suma=0; v[0]=3
for(i=0;i<d;i++) v[1]=7
{ v[2]=9
suma=suma+v[i]; v[3]=10
v[4]=30
}
v[5]=0
return suma;
v[6]=9
}
Arreglos
• Matrices
COLUMNAS
j=0 j=1 j=2

i=0 3 7 9
FILAS i=1 6 12 11
i=2 23 45 89
Columnas  se
representan con la
posición de j

Filas  se representan
con la posición de i
Arreglos
• Matrices
COLUMNAS
Columnas  se
j=0 j=1 j=2 representan con la
posición de j
i=0 [0,0]=3 [0,1]=7 [0,2]=9
FILAS i=1 [1,0]=6 [1,1]=12 [1,2]=11
i=2 [2,0]=23 [2,1]=45 [2,2]=89

Filas  se representan
con la posición de i

Para acceder a una Celda o


posición de la matriz,
indicamos la posición [i,j]
Arreglos
• Matrices
COLUMNAS
j=0 j=1 j=2

i=0 3 7 9
FILAS i=1 6 12 11
i=2 23 45 89

COLUMNAS
j=0 j=1 j=2

i=0 [0,0] [0,1] [0,2]


FILAS i=1 [1,0] [1,1] [1,2] Posiciones de cada celda de
la matriz
i=2 [2,0] [2,1] [2,2]
Arreglos
• Matrices COLUMNAS
j=0 j=1 j=2
i=0 3 7 9
FILAS i=1 6 12 11
i=2 23 45 89

int SumaElementosMatriz(int filas,int columnas int matriz[filas][columnas])


{ int i,j,suma=0;
for (i=0;i<filas;i++)
{
for(j=0;j<columnas;j++)
El lazo-anidado permite recorrer cada posición de la
{
matriz.
suma=suma+matriz[i][j]; Al acceder a cada posición de la matriz se puede
} recuperar el valor de esa posición o almacenar un
} valor en determinada posición.
return suma;
}
Arreglos
• Matrices COLUMNAS
j=0 j=1 j=2
Valores de j al ejecutarse
i=0 3 7 9 lazo-interno
FILAS i=1 6 12 11
i=2 23 45 89

int SumaElementosMatriz(int filas,int columnas int matriz[filas][columnas])


{ int i,j,suma=0;
for (i=0;i<filas;i++)
{
for(j=0;j<columnas;j++)
{
suma=suma+matriz[i][j];
Cuando i=0 Valor i Valor de j Posición Valor
Primera i=0 j=0 [0][0] 3
}
Ejecución
}
Lazo-externo i=0 j=1 [0][1] 7
return suma; i=0 j=2 [0][2] 9
}
Arreglos
• Matrices COLUMNAS
j=0 j=1 j=2
Valores de j al ejecutarse
i=0 3 7 9 lazo-interno
FILAS i=1 6 12 11
i=2 23 45 89

int SumaElementosMatriz(int filas,int columnas int matriz[filas][columnas])


{ int i,j,suma=0;
for (i=0;i<filas;i++)
{
for(j=0;j<columnas;j++)
{
suma=suma+matriz[i][j];
Cuando i=1 Valor i Valor de j posición Valor
Segunda i=1 j=0 [1][0] 6
}
Ejecución
}
Lazo-externo i=1 j=1 [1][1] 12
return suma; i=1 j=2 [1][2] 11
}
Arreglos
• Matrices COLUMNAS
j=0 j=1 j=2
Valores de j al ejecutarse
i=0 3 7 9 lazo-interno
FILAS i=1 6 12 11
i=2 23 45 89

int SumaElementosMatriz(int filas,int columnas int matriz[filas][columnas])


{ int i,j,suma=0;
for (i=0;i<filas;i++)
{
for(j=0;j<columnas;j++)
{
suma=suma+matriz[i][j];
Cuando i=2 Valor i Valor de j posición Valor
Tercera i=1 j=0 [2][0] 23
}
Ejecución
}
Lazo-externo i=1 j=1 [2][1] 45
return suma; i=1 j=2 [2][2] 89
}

También podría gustarte