Procedimientos Y Funciones
Definición de funciones
Objetivos: Mostrar cómo se puede extender el lenguaje Java con nuevas funciones.
Temas:
•Definición de funciones.
• Invocación de una función.
• Qué es un procedimiento.
• Definición de un procedimiento.
• Procedimientos con efectos laterales.
• Funciones con efectos laterales.
•Funciones que retornan arreglos.
• Término anticipado de una función.
________________________________________
Motivación
Escribir un programa que determine la cantidad de combinaciones que sepueden realizar tomando k elementos distintos de un grupo de n elementos. El número de combinaciones está dado por la siguiente fórmula:
| n | n!
| | = ---------
| k | k! (n-k)!Solución:
• Calcular n!
• Calcular k!
• Calcular (n-k)!
• Entregar resultado final
Calcular el factorial de un número es simple, pero escribir 3 veces el mismo código para calcular el factorialde distintos números es incómodo. Por otra parte, se triplica la probabilidad de cometer algún error.
Definición de funciones
En clases anteriores vimos que Java posee funciones predefinidas paracalcular el seno, la raíz cuadrada, el logaritmo y otras funciones científicas. El problema es que es imposible que un lenguaje de programación suministre todas las funciones que un programador podríanecesitar.
Por esta razón, prácticamente todos los lenguajes incorporan algún mecanismo para que los programadores puedan definir sus propias funciones cuando no existe la función predefinidaapropiada. Para definir una nueva función, el programador debe escribir el código (programa) que calcula esa función.
Por ejemplo, el siguiente programa calcula el número de combinaciones:
classCombinaciones extends Program {
void run() {
print("Ingrese k ? ");
int k= readInt();
print("Ingrese n ? ");
int n= readInt();
int combinaciones=...
Regístrate para leer el documento completo.