Треки
/
Ruby
Ruby
/
Вправи
/
Ощадний рахунок
Ощадний рахунок

Ощадний рахунок

Навчальна вправа

Вступ

Модулі

Досі всі вправи, які ми бачили, використовували класи. Іноді нам не потрібні накладні витрати на створення обʼєкта зі станом, тож замість цього ми використовуємо module.

Модуль дуже схожий на клас (насправді Module є батьком Class в ієрархії обʼєктів), а головна різниця полягає в тому, що замість методів екземпляра ми використовуємо методи класу. Методи класу починаються з self. і викликаються безпосередньо на модулі.

Наприклад:

module Speaker
  def self.echo(something)
    "#{something} ... #{something}"
  end
end

Speaker.echo("Hello")   #=> "Hello ... Hello"

Цикли

У Ruby є кілька способів писати цикли, але оскільки загалом ми частіше використовуємо перебирання, ніж цикли, найпоширенішим циклом, мабуть, є цикл while:

counter = 0

while counter < 5
  counter += 1
end

Також можна використати його побратима until:

counter = 0

until counter == 5
  counter += 1
end

Вказівки

У цій вправі ми будемо працювати з ощадними рахунками. Щороку баланс ощадного рахунку оновлюється залежно від відсоткової ставки. Відсоткова ставка, яку дає банк, залежить від суми грошей на рахунку (його балансу):

  • 0,5% для невідʼємного балансу, меншого за 1000 доларів.
  • 1,621% для додатного балансу, що більший або дорівнює 1000 доларам і менший за 5000 доларів.
  • 2,475% для додатного балансу, що більший або дорівнює 5000 доларам.
  • 3,213% для відʼємного балансу (це дає відʼємні відсотки).

На нас чекають три завдання, і кожне з них стосується балансу та його відсоткової ставки.

1. Обчислити відсоткову ставку

Реалізуйте метод SavingsAccount.interest_rate, щоб обчислити відсоткову ставку на основі заданого балансу:

SavingsAccount.interest_rate(200.75)
#=> 0.5

Зауважте, що повернене значення - це екземпляр Float.

2. Обчислити щорічне оновлення балансу

Реалізуйте метод SavingsAccount.annual_balance_update, щоб обчислити щорічне оновлення балансу з урахуванням відсоткової ставки:

SavingsAccount.annual_balance_update(200.75)
#=> 201.75375

Зауважте, що повернене значення - це екземпляр Float.

3. Обчислити кількість років до досягнення бажаного балансу

Реалізуйте метод SavingsAccount.years_before_desired_balance, щоб обчислити мінімальну кількість років, потрібну для досягнення бажаного балансу:

SavingsAccount.years_before_desired_balance(200.75, 214.88)
#=> 14

Зауважте, що повернене значення - це екземпляр Integer.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Ruby Exercism

Час розпочати Ощадний рахунок?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Ruby, а також 21 концепція121 вправа та справжнє наставництво від людей, і все це безкоштовно.