住宅ローンを組むとき、「毎月の返済額はいくら?」「何年で完済できる?」といった計算が必要になります。
本記事では、Fortranを使って住宅ローンの計算ができるプログラムを作成し、毎月の返済額や総支払額を求める方法を解説します。
住宅ローンの計算方法
住宅ローンの毎月の返済額(M
)は、以下の元利均等返済の計算式を使って求められます。 M=P×r(1+r)N(1+r)N−1M = P \times \frac{r (1 + r)^N}{(1 + r)^N – 1}
変数の意味:
M
= 毎月の返済額P
= 借入金額(ローンの元本)r
= 月利(年利を12で割ったもの)N
= 返済回数(月数)(例:30年ローンならN = 30 × 12 = 360
)
✅ この計算式をFortranで実装してみましょう!
住宅ローン計算プログラム(基本版)
💻 プログラム
program mortgage_calculator
implicit none
! 変数の宣言
real :: P, annual_rate, monthly_rate, M
integer :: years, N
! ユーザー入力
print *, "借入金額を入力してください(円): "
read *, P
print *, "年利率(%)を入力してください: "
read *, annual_rate
print *, "返済期間(年)を入力してください: "
read *, years
! 計算用の変数
N = years * 12 ! 返済回数(月)
monthly_rate = (annual_rate / 100.0) / 12 ! 月利(年利を12で割る)
! 毎月の返済額の計算
M = P * (monthly_rate * (1 + monthly_rate)**N) / ((1 + monthly_rate)**N - 1)
! 結果の出力
print *, "毎月の返済額(円): ", M
print *, "総支払額(円): ", M * N
end program mortgage_calculator
プログラムの解説
📌 変数の宣言
real :: P, annual_rate, monthly_rate, M
integer :: years, N
P
(借入金額)annual_rate
(年利)monthly_rate
(月利 =annual_rate / 12
)M
(毎月の返済額)years
(返済期間(年))N
(返済回数(years * 12
))
📌 ユーザーからの入力
print *, "借入金額を入力してください(円): "
read *, P
print *, "年利率(%)を入力してください: "
read *, annual_rate
print *, "返済期間(年)を入力してください: "
read *, years
💡 read *
でユーザーが金額・金利・返済期間を入力できるようにする!
📌 返済額の計算
N = years * 12
monthly_rate = (annual_rate / 100.0) / 12
M = P * (monthly_rate * (1 + monthly_rate)**N) / ((1 + monthly_rate)**N - 1)
💡 monthly_rate
は年利を12で割って求める
💡 N = years * 12
で総返済回数(月数)を求める
📌 計算結果の出力
print *, "毎月の返済額(円): ", M
print *, "総支払額(円): ", M * N
💡 総支払額 = 毎月の返済額 × 返済回数
実行例
💰 3000万円の住宅ローン、金利 1.5%、30年ローンの場合
借入金額を入力してください(円):
30000000
年利率(%)を入力してください:
1.5
返済期間(年)を入力してください:
30
毎月の返済額(円): 103515.7
総支払額(円): 37265652.0
✅ 毎月の返済額:約 103,515円
✅ 総支払額:約 3,726万円
さらに改良! 途中でローン残高を確認できるようにする
次に、各年ごとのローン残高を表示する機能を追加してみましょう!
💻 改良版プログラム
program mortgage_calculator_with_balance
implicit none
! 変数の宣言
real :: P, annual_rate, monthly_rate, M, balance, interest, principal
integer :: years, N, i
! ユーザー入力
print *, "借入金額を入力してください(円): "
read *, P
print *, "年利率(%)を入力してください: "
read *, annual_rate
print *, "返済期間(年)を入力してください: "
read *, years
! 計算用の変数
N = years * 12
monthly_rate = (annual_rate / 100.0) / 12
M = P * (monthly_rate * (1 + monthly_rate)**N) / ((1 + monthly_rate)**N - 1)
! 初期残高
balance = P
! 結果の出力
print *, "毎月の返済額(円): ", M
print *, "総支払額(円): ", M * N
print *, "年ごとのローン残高: "
! 年ごとのローン残高を計算
do i = 1, years
interest = balance * monthly_rate * 12 ! 1年間の利息
principal = M * 12 - interest ! 1年間の元金返済額
balance = balance - principal ! 新しい残高
print *, "年", i, ": 残高(円)", balance
end do
end program mortgage_calculator_with_balance
まとめ
✅ Fortranで住宅ローン計算機を作れる!
✅ 基本版では、毎月の返済額と総支払額を計算!
✅ 改良版では、年ごとのローン残高も表示!
Fortranを使うと、シンプルなコードで金融計算を行うことができます。
🚀 ぜひ、自分の住宅ローンの試算に使ってみてください! 🚀
コメント