Paco
Página 1 de 5
1.- Realizar una función llamada par, que toma un número entero como parámetro, y devuelve 1 si es par o devuelve 0 si es impar. NOTA: Para saber si un número entero es par, al dividirlo entre 2 su resto debe ser 0.
/* mpar.c: Permite probar la función par. */ #include int par(int); // o int par(int numero); int main() { intnumero, resultado; printf(“Introduzca un número:\n”); scanf(“%i”,&numero); resultado=par(numero); if (resultado==1) printf(“Es par.\n”); else printf(“Es impar.\n”); return(0); } /* Función par: Devuelve un valor indicando si un número entero es par o no. */ int par(int numero) { if((numero%2)==0) return(1); else return(0); }
- Si la función se llama par, tendrá el prototipo con la siguienteestructura: par(); - Si nos dicen que toma un parámetro que es un número entero, quiere decir que es de tipo int el único parámetro que tiene, además deberemos inventarnos un nombre para esa variable que va entre paréntesis, por ejemplo numero, así tendrá el prototipo: par(int numero); - Si nos dicen que devuelve 1 o 0, en función de si es par o no, quiere decir que el tipo del dato que devuelve es eltipo del 1 o el 0, es decir devuelve un número entero, por tanto de tipo int, quedando finalmente así el prototipo de la función: int par(int numero); - Si nos dicen que la función devuelve algo, quiere decir que en algún momento debe devolver con una función return un valor, por tanto, si debe devolver 0 o 1, en algún sitio debe haber un return(0); o un return(1); - Si nos dicen que la funcióndevuelve algo, ese algo que devolverá deberá recogerse desde la función main en una variable del mismo tipo que el valor devuelto. En nuestro caso, como par devuelve un número entero (0 o 1) deberemos declarar en la función main una variable entera en la que luego se almacenará el valor devuelto por par. int main() { int resultado; … resultado=par(numero); …
NOTA: Lo lógico si se programa unafunción que detecta si un número es par, es que devuelva un SÍ si es par o un NO si no es par, el problema es que el lenguaje C no tiene este tipo de valores; así que se suelen devolver un 1 como SÍ y un 0 como NO, en cualquier función que tenga que responder SÍ o NO a algo (por ejemplo, una función que diga si un número es negativo, devolverá 1 si sí lo es y un 0 si no lo es).
EJEMPLOS DEPROGRAMACIÓN DE FUNCIONES EN C:
2.- Realizar una función llamada media2, que toma dos números reales como parámetros, y devuelve un número real que es la media de los dos números pasados como parámetros. NOTA: Para calcular la media de dos números, se suman, y ese resultado se divide entre 2. /* mmedia2.c: Permite probar la función media2. */ #include float media2(float,float); //o float media2(floatn1, float n2); int main() { float n1, n2, resultado; printf(“Introduzca un número real:\n”); scanf(“%f”,&n1); printf(“Introduzca otro número real:\n”); scanf(“%f”,&n2); resultado=media2(n1,n2); printf(“La media es: %f.\n”,resultado); return(0); } // Función media2: Devuelve la media de 2 números. float media2(float n1, float n2) { float resultado; resultado=(n1+n2)/2; return(resultado); } 3.-Realizar una función llamada media3, que toma tres números reales como parámetros, y no devuelve nada. Esa función debe calcular la media de los tres números pasados como parámetros y mostrar con un mensaje cuál es la media calculada. NOTA: Para calcular la media de tres números, se suman, y ese resultado se divide entre 3. /* mmedia3.c: Permite probar la función media3. */ #include voidmedia3(float,float,float); //o void media3(float n1,float n2,float n3); int main() { float n1, n2, n3; printf(“Introduzca un número real:\n”); scanf(“%f”,&n1); printf(“Introduzca otro número real:\n”); scanf(“%f”,&n2); printf(“Introduzca otro número real:\n”); scanf(“%f”,&n3); media3(n1,n2,n3); return(0); }
Página 2 de 5
// Función media3: Informa de la media de 3 números. void media3(float n1, float n2,...
Regístrate para leer el documento completo.