Anda di halaman 1dari 4

Programacin en Java/Funciones 1

Programacin en Java/Funciones
Queremos depositar todo nuestro dinero ganado como programadores. Hay dos bancos que compiten por nuestros
dividendos. El primero, lo llamamos "Banco A", nos ofrecen un inters con una tasa mensual del 1 % mas una
bonificacin final del 5%. El segundo, el "Banco B", nos ofrece una tasa del 1,5 %.
Como buenos programadores realizamos un algoritmo para obtener el mayor beneficio. El programa calcular el
monto obtenido en un perodo de 12 meses con un clculo de inters compuesto. Para darnos una mejor idea de lo
que tenemos que hacer realizamos el algoritmo principal.

monto = 1200

meses = 12;
for ( int n = 1; n <= meses; n++){
monto = monto + monto * inters / 100;
}

Al monto inicial le sumamos las sucesivas capitalizaciones que ganamos mes a mes, hasta llegar a un perodo de 12
meses.
Con este algoritmo probado, realizamos el programa:

public class ShowMeTheMoney{


public static void main(String args[]){
int meses = 12;
float interesBanco1 = 1f;
float bonificBanco1 = 5f;
float interesBanco2 = 1.5f;
double monto = 10000;
double montoBanco1 = monto;
double montoBanco2 = monto;
for ( int n = 1; n <= meses; n++){
montoBanco1 += montoBanco1 * interesBanco1 / 100;
}
montoBanco1 += montoBanco1 * bonificBanco1 /100;
for ( int n = 1; n <= meses; n++){
montoBanco2 += montoBanco2 * interesBanco2 / 100;
}
System.out.println("Importe final del banco1 : " + montoBanco1);
System.out.println("Importe final del banco2 : " + montoBanco2);
}
}

Si observamos el cdigo, notaremos que repetimos el mismo algoritmo por cada banco. Esto ocurrir cada vez que
tengamos que realizar un clculo de intereses. Si la eleccin se extendiera a, por ejemplo, cinco bancos, tendramos
que copiar el algoritmo para cada uno de ellos. Para no tener que repetir una y otra vez lo mismo, podemos recurrir a
una tcnica muy utilizada en programacin: dividir el cdigo en funciones.
Una funcin es un conjunto de instrucciones que ejecutan una rutina y devuelven un resultado. El resultado puede
depender de parmetros de entrada.
Un funcin se construye de la siguiente manera:
Programacin en Java/Funciones 2

tipo_resultado nombre_funcin (tipo_parmetro nombre_parmetro, ... ) {


sentencia1;
sentencia2;
...
sentenciaN;
}

Se debe definir el tipo de dato del resultado y el nombre que identifica a la funcin. Ademas, opcionalmente se
pueden definir parmetros de entrada con el tipo de dato y su nombre.
Una funcin permite que reutilicemos un algoritmo. En el caso de nuestro problema bancario, podemos reutilizar el
clculo de inters aplicndolo a cada banco. Veamos como se construye esta funcin:

double interesCompuesto(double monto, float tasa, int perodos){


for(int n = 1; n <= perodos; n++ ){
monto += monto * tasa / 100;
}
return monto;
}

Necesitamos definir ciertos datos de entrada para ejecutar el algoritmo. Vamos a necesitar el monto inicial, la tasa de
inters y el perodo. A su vez definimos el tipo de datos del resultado. La funcin nos devuelve el monto final,
entonces el tipo de dato es double. Para identificar a la funcin le hemos puesto el nombre de interesCompuesto.
Para utilizar la funcin en el programa la llamamos por su nombre. Como esta nos devuelve un resultado, tendremos
que almacenarlo en una variable que tenga un tipo de dato compatible con el resultado.

double montoBanco2 = interesCompuesto(10000 , interesBanco2, meses);

Debemos pasar los parmetros como se han definido, en el mismo orden y con el mismo tipo de dato.
Conociendo como se arma y se invoca una funcin, estamos prestos para utilizarla en nuestro programa.

public class ShowMeTheMoney2{


static double interesCompuesto(double monto, float tasa, int perodos){
for(int n = 1; n <= perodos; n++ ){
monto += monto * tasa / 100;
}
return monto;
}
public static void main(String args[]){
int meses = 12;
float interesBanco1 = 1f;
float bonificBanco1 = 5f;
float interesBanco2 = 1.5f;
double monto = 10000;
double montoBanco1 = monto;
double montoBanco2 = monto;
montoBanco1 = interesCompuesto( montoBanco1, interesBanco1, meses );
montoBanco1 += montoBanco1 * bonificBanco1 /100;
montoBanco2 = interesCompuesto( montoBanco2, interesBanco2, meses );
System.out.println("Importe final del banco1 : " + montoBanco1);
System.out.println("Importe final del banco2 : " + montoBanco2);
Programacin en Java/Funciones 3

}
Fuentes y contribuyentes del artculo 4

Fuentes y contribuyentes del artculo


Programacin en Java/Funciones Fuente: http://es.wikibooks.org/w/index.php?oldid=172999 Contribuyentes: Oscarlondono, Pillou, Pirenne, 4 ediciones annimas

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported
//creativecommons.org/licenses/by-sa/3.0/

Anda mungkin juga menyukai