トラック
/
Go
Go
/
演習
/
利息は面白い
利息は面白い

利息は面白い

学習演習

はじめに

浮動小数点数は、小数点以下に0桁以上の数字がある数値です。例えば-2.4、0.1、3.14、5.、16.984025、1024.0などがあります。

浮動小数点型が異なれば、小数点以下に格納できる桁数も異なります。これをその型の精度と呼びます。

Goには2つの浮動小数点型があります。

  • float32: 32ビット(精度は約6〜9桁)。
  • float64: 64ビット(精度は約15〜17桁)。 これがデフォルトの浮動小数点型です。

ご覧のとおり、どちらの型も格納できる桁数が異なります。つまり、float32に円周率を格納しようとしても、最初の6〜9桁しか格納されません(最後の桁は丸められます)。

デフォルトでは、Goは浮動小数点数にfloat64を使います。ただし、その浮動小数点数が次のいずれかに当てはまる場合を除きます。

  1. 型がfloat32の変数に代入される場合
  2. 戻り値の型がfloat32の関数から返される場合
  3. float32()関数に引数として渡される場合

mathパッケージには、便利な数学関数がたくさん用意されています。

説明

この演習では、貯蓄口座を扱います。 貯蓄口座の残高は、毎年、その利率に基づいて更新されます。 銀行が提示する利率は、口座に入っているお金の額(残高)によって決まります。

  • 残高が0ドル未満の場合は3.213%(残高がさらにマイナスになります)。
  • 残高が0ドル以上1000ドル未満の場合は0.5%。
  • 残高が1000ドル以上5000ドル未満の場合は1.621%。
  • 残高が5000ドル以上の場合は2.475%。

この演習には4つのタスクがあり、それぞれで残高と利率を扱います。

1. 利率を計算する

指定された残高に基づいて利率を計算するInterestRate()関数を実装しましょう。

InterestRate(200.75)
// => 0.5

戻り値はfloat32であることに注意してください。

2. 利息を計算する

指定された残高に基づいて利息を計算するInterest()関数を実装しましょう。

Interest(200.75)
// => 1.003750

戻り値はfloat64であることに注意してください。

3. 年間の残高更新を計算する

利率を考慮して、年間の残高更新を計算するAnnualBalanceUpdate()関数を実装しましょう。

AnnualBalanceUpdate(200.75)
// => 201.75375

戻り値はfloat64であることに注意してください。

4. 目標残高に到達するまでの年数を計算する

毎年、残高に利息が加わることを考慮して、目標残高に到達するまでに必要な最小年数を計算するYearsBeforeDesiredBalance()関数を実装しましょう。 つまり、1年後の残高は、最初の残高と、それに対する利息を足したものです。 2年後の残高は、1年後の残高と、それに対する利息を足したものです。 これを、その年の残高が目標残高以上になるまで繰り返します。

balance := 200.75
targetBalance := 214.88
YearsBeforeDesiredBalance(balance, targetBalance)
// => 14

戻り値はintであることに注意してください。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Go Exercism

利息は面白いを始める準備はできましたか?

Exercismに登録すれば、34個のコンセプト166個の演習、そして本物の人間によるメンタリングとともに、Goを学んでマスターできます。すべて無料です。