1.4 Funciones que invocan a otras funciones

El concepto de reutilización es muy importante. El alumno debe saber que las funciones no sólo sirven para dividir un problema en trozos más pequeños sino que también deben servir para no tener que repetir código. Por eso es importante insistir en que las funciones NO terminan con un printf sino con un return. He observado que de forma natural, los alumnos tienden a terminar las funciones con un printf para mostrar el resultado alcanzado, sin entender que esa función es inútil en ese caso.


Cuando los alumnos venían de Bachillerato sabiendo lo que era un número combinatorio, la reutilización de la función factorial era un clásico.

 
1.4.1 Función tal que dados dos números enteros n y m devuelve el número de combinaciones de n tomados de m en m, reutilizando la función 1.3.2






1.4.2 Función tal que dadas las coordenadas de un triángulo en el plano devuelve su perímetro. Este es un ejemplo claro de reutilización de la función 1.2.2. Este problema se podrá generalizar a cualquier polígono y en cualquier dimensión cuando se introduzca el concepto de array.

 








1.4.3 Otro ejemplo de reutilización es si quisiéramos devolver la diferencia en segundos entre dos instantes de tiempo del mismo día. Para ello reutilizando la función 1.2.3 escribiríamos:


 





El alumno debe entender que si las funciones 1.2.3, 1.2.4 y 1.3.2 en vez de tener un return hicieran un printf con el resultado, no podrían ser reutilizadas en otra función y su utilidad sería muy limitada.

No hay comentarios:

Publicar un comentario