EJERCICIOS DE FUNCIONES Indica qué aparece en pantalla cuándo se compilan y ejecutan los siguientes programas. Código 1. #include <stdio.h> int f1(int x){ x=x+5; return x; } main(){ int a=2, b; b = f1(a); printf("a=%d y b=%d", a, b); } Código 2. #include <stdio.h> int f1(int y, int x){ return x * y; } main(){ int a=3, b=5; printf("%d, %d, %d", a, b, f1(a,b)); } Código 3. #include <stdio.h> int funcion1(int x){ x++; return x; } int funcion2(int x, int y){ return x + y; } main(){ int a=3, b=4, n1, n2, n3; n1 = funcion1(a); n2 = funcion1(b); n3 = funcion2(n1,n2); printf("%d",n3); } Código 4. #include <stdio.h> int resta1(int x){ x--; return x; } int producto(int x, int y){ return x*y; } main(){ int a=8, b=5; printf("%d", producto(resta1(a),resta1(b)); } Código 5. #include <stdio.h> int una(int x){ x=2*x; return x; } int otra(int x, int y){ int r; r= x*x + y*y; return r; } main(){ int a=2, b=5, result; result= una(otra(a,b)); printf("%d", result); } Código 6. #include <stdio.h> int primera(int x){ x=x*x; return x; } int segunda(int m, int n){ m = primera(m); n = primera(n); return m+n; } main(){ int a=2, b=5, c; c= segunda(a,b); printf("%d", c); } Código 7. #include <stdio.h> int funcion1(int x){ int y; y=x*x+x; return y; } int funcion2(int x, int y){ x++; y--; return x*y; } main(){ int a=2, b=5; printf("%d",funcion2(funcion1(a),b)); } Código 8. #include <stdio.h> int funcion(int x){ if (x%2==0){ return x+1; }else{ return x-1; } } main(){ int a=5; printf("%d",funcion(funcion(a)); } Código 9. #include <stdio.h> int funcion(int x){ while(x<20){ x=2*x; } return x; } main(){ int a=3; printf("%d",funcion(a)); } Código 10 (Recursividad: función que se llama a sí misma). #include <stdio.h> int funcion(int x){ if (x==0){ return 1; }else{ x=x+funcion(x-1); return x; } } main(){ int a=5; printf("%d",funcion(a)); } Código 11. #include <stdio.h> int funcion(int x){ if (x<=0){ return 0; }else if(x%2==0){ x=x+funcion(x-1); return x; }else{ x=x+funcion(x-3); return x; } } main(){ int a=5; printf("%d",funcion(a)); } Ejercicios para programar. Para cada función escribe un main() sencillo para comprobar que la función es correcta. 1. Función sumatorio que suma los números enteros entre dos dados. 2. Función aMetrosPorSegundo que convierte km/h en m/s. 3. Función primo que determina si un número es primo. 4. Función sumaDivisores que calcula la suma de los divisores de un número. 5. Función nMultiplos que calcula la suma de los n primeros múltiplos de un número. 6. Función mayor que el mayor de tres números. 7. Función potencia que devuelve la enésima potencia de un número. 8. Función areaTriangulo que devuelve el área de un triángulo conocidos sus lados. 9. Función factorial que devuelve el factorial de un número. Este es un buen ejemplo de recursividad. 10. Función cocienteEntero que devuelve el cociente entero de una división.