Академический Документы
Профессиональный Документы
Культура Документы
2
Funciones: ventajas
3
Funciones: Especificación formal
tipo nombre_funcion(lista de parámetros){
cuerpo de la función
}
4
La sentencia return
5
Funciones
6
Funciones: modos de uso
1.- Funciones diseñadas para realizar
operaciones a partir de sus argumentos y
devolver un valor basado en sus cálculos.
2.- Funciones que no reciben argumentos,
realizan un proceso y devuelven un valor .
3.- Funciones que no tienen argumentos ni
valor de retorno explícito, operan sobre el
entorno de variables globales o atributos del
sistema operativo.
7
Función main()
9
Argumentos de funciones
• Son variables locales conocidas como parámetros
formales y se utilizan como un medio para
entregarle información a la función.
• Los parámetros formales reciben sus valores
iniciales desde los parámetros reales, es decir desde
los valores que se les pasan a traveś de la llamada.
Ejemplo:
Parámetro real (llamada)
main( ){ Parámetro formal (declaración)
imprimeEntero(5);
}
void imprimeEntero(int x){
printf(“%d\n”, x);/* x vale 5 */
}
10
Transferencia de Información
11
Ejemplo
12
Solución
#include <stdio.h>
main(){
int i,resultado;
for (i=0;i<10;i++){
resultado = cuadrado (i);
printf("Cuadrado de %d: %d\n",i,resultado);
}
return 0;
}
13
Ejemplo
14
Solución ?
#include <stdio.h>
int sumaImpares(-------){
------------------
return r;
}
15
Ejemplo
16
Solución con error ¿porqué?
#include <stdio.h>
void intercambio(int x, int y){
int temp;
temp=x;
x=y;
y=temp;
printf(“ x=%d y=%d temp=%d\n“,x,y,temp);
}
main(){
int a=1,b=2;
printf("a=%d b=%d\n",a,b);
intercambio(a,b);
printf("a=%d b=%d\n",a,b);
return 0;
}
17
Solución correcta
#include <stdio.h>
void intercambio(int *x, int *y){
int temp;
temp=*x;
*x=*y;
*y=temp;
printf(“ x=%d y=%d temp=%d\n“,*x,*y,temp);
}
main(){
int a=1,b=2;
printf("a=%d b=%d\n",a,b);
intercambio (&a,&b);
printf("a=%d b=%d\n",a,b);
return 0;
}
18
Ejemplo
19
Programa
#include <stdio.h>
int buscar(int x,int k){
int i,n;
if (k<=0 || x<0) return -1;
for (i=0;i<k-1;i++)
x=x/10;
return (x%10);
}
void main(){
int n,k,digito;
printf("Ingrese numero y posicion:");
scanf("%d %d",&n,&k);
digito=buscar(n,k);
if (digito<0) printf("No encontrado\n");
else printf("El digito encontrado es: %d\n",digito);
return 0;
}
20
Prototipos
• Uso:
– Identificar el tipo de retorno de la función.
– Especificar el tipo y el número de argumentos que
utiliza la función.
• El prototipo debe aparecer antes de que se
haga cualquier llamada a la función.
• No es necesario incluir los nombres reales de
los parámetros.
21
Prototipo (cont.)
#include <stdio.h>
22
Prototipo (cont.)
#include <stdio.h>
void intercambio(int *, int *) /*Prototipo*/
main(){
int a=5,b=3;
printf("a=%d b=%d\n",a,b);
intercambio (&a,&b);
printf("a=%d b=%d\n",a,b);
return 0;
}
void intercambio(int *x, int *y){
int temp;
temp=*x;
*x=*y;
*y=temp;
}
23