Gyakorlati alapok
Kamatos kamatszámítás egyszerű adatbekéréssel
A kamatos kamatszámítás alapja az előző fejezetben ismertetett százalékszámítás (Százalékszámítás egyszerű adatbekéréssel című fejezet). Az érthetőség kedvéért ismételjük meg a benne foglalt meghatározásokat!
A százalékszámítás az egyik leggyakrabban alkalmazott pénzügyi művelet, de jól modellezi az élet sok más folyamatát is.
Általában mennyiségek vagy számokkal megfogalmazható minőségek változásának leírására használatos. Kiindulópontja egy adott mennyiség, amelyet 100 százaléknak kiáltunk ki (jelölése ekkor 100%) és ez változik meg a százalék mértékében, amely voltaképpen a 100 százalék valamilyen mértékű aránya.
Például 100 egység 25%-os gyarapodása 125 egységet fog eredményezni, 25%-os csökkenése pedig 75 egységet. Gyakran nem is a változás, hanem az arány mértéke a fontos, például:
-
100 egység 25%-a 25 (1/4 arány),
-
200 egység 25%-a 50 (1/4 arány).
A kamatos kamat fogalma az igen általánosan felhasználható százalékszámítást egyértelműen a pénzügy felé tereli. Ennek során a bankba betett és lekötött pénzünk, mint alaptőkénk (optimális esetben) évente valamilyen mértékben (százalékos arányban) kamatozik és ezáltal adódik hozzá magához az alaptőkéhez. Tehát a százalékszámítás eredetileg 2 bemeneti adata (100% + százalékos arány) a kamatos kamat számításánál 3 db bemeneti adatra bővül (100% + százalékos arány + futamidő). A futamidő tipikus implementációs megoldása egy olyan for ciklus lehet, amelynek fejléce, mint működtető motor a futamidő mértékét tartalmazza (for(int i = 1; i <= ev; i ++)).
Ugyanakkor fontos azt is észrevennünk, hogy ellentétben Százalékszámítás egyszerű adatbekéréssel című fejezetben ismertetett kódtartalommal, ebben az esetben nincs szükségünk minden kimeneti adatra. A kamatos kamat számításánál voltaképpen minket egyetlen dolog érdekel: évente mennyit kamatozott a pénzünk, illetve a futamidő végén mennyi lesz teljes pénzügyi gyarapodásunk. Ennek képlete 1 évre következő:
(toke + (toke * (kamat / 100)))
X évre pedig:
tokeEmelt = toke;
for(int i = 1; i <= X; i++){
tokeEmelt += (tokeEmelt * (kamat / 100));
}
Láthatjuk, hogy kezdetben az alaptőkénk megegyezik az emelt tőkével (tokeEmelt = toke;). Az utóbbit a hozzáadásos művelet (tokeEmelt +=) emeli a kamat és a futamidő mértéke szerint.
További praktikus ötlet, ha a kamat típusát double típusra állítjuk, hiszen így egyrészről lebegőpontos kamatszámot is fogadhatunk (például 2,5%), másrészről az alaptőke szintén double típusú (double toke).
Nézzük meg a futtatható Java-kódot!
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Kérem, hogy adja meg az alaptőkét!");
String a = in.nextLine();
double toke = Double.parseDouble(a);
System.out.println("Kérem, hogy adja meg az éves kamat
mértékét (%)!");
String b = in.nextLine();
double kamat = Double.parseDouble(b);
System.out.println("Kérem, hogy adja meg a futamidőt (év)!");
String c = in.nextLine();
int ev = Integer.parseInt(c);
double tokeEmelt = toke;
System.out.println();
for(int i = 1; i <= ev; i++){
tokeEmelt += (tokeEmelt * (kamat /
100));
System.out.println("A tőkenövekedés
a(z) " + i + ". évben: " + tokeEmelt);
}
}
}
Végeredmény:
Kérem, hogy adja meg az alaptőkét!
100000
Kérem, hogy adja meg az éves kamat mértékét (%)!
2.5
Kérem, hogy adja meg a futamidőt (év)!
10
A tőkenövekedés a(z) 1. évben: 102500.0
A tőkenövekedés a(z) 2. évben: 105062.5
A tőkenövekedés a(z) 3. évben: 107689.0625
A tőkenövekedés a(z) 4. évben: 110381.2890625
A tőkenövekedés a(z) 5. évben: 113140.8212890625
A tőkenövekedés a(z) 6. évben: 115969.34182128907
A tőkenövekedés a(z) 7. évben: 118868.5753668213
A tőkenövekedés a(z) 8. évben: 121840.28975099183
A tőkenövekedés a(z) 9. évben: 124886.29699476663
A tőkenövekedés a(z) 10. évben: 128008.45441963579