Tracks
/
Ruby
Ruby
/
Ejercicios
/
Cuenta de ahorros
Cuenta de ahorros

Cuenta de ahorros

Ejercicio de aprendizaje

Introducción

Módulos

Hasta ahora, todos los ejercicios que has visto han usado clases. A veces no necesitamos la sobrecarga de crear un objeto con estado, así que en su lugar usamos module.

Un módulo es muy similar a una clase (de hecho, Module es el padre de Class en la jerarquía de objetos). La principal diferencia es que, en lugar de usar métodos de instancia, usamos métodos de clase. Los métodos de clase empiezan con self. y se llaman directamente en un módulo.

Por ejemplo:

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

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

Bucles

Hay varias formas de escribir bucles en Ruby, pero como en general tendemos a usar enumeración en lugar de bucles, el bucle que quizá veas con más frecuencia es el bucle while:

counter = 0

while counter < 5
  counter += 1
end

También puedes usar su hermano until:

counter = 0

until counter == 5
  counter += 1
end

Instrucciones

En este ejercicio vas a trabajar con cuentas de ahorro. Cada año, el saldo de una cuenta de ahorro se actualiza según la tasa de interés. La tasa de interés que da el banco depende de la cantidad de dinero que hay en la cuenta (su saldo):

  • 0.5% para un saldo no negativo menor que 1000 dólares.
  • 1.621% para un saldo positivo mayor o igual que 1000 dólares y menor que 5000 dólares.
  • 2.475% para un saldo positivo mayor o igual que 5000 dólares.
  • 3.213% para un saldo negativo (da como resultado un interés negativo).

Tienes tres tareas, y cada una trata sobre el saldo y su tasa de interés.

1. Calcula la tasa de interés

Implementa el método SavingsAccount.interest_rate para calcular la tasa de interés según el saldo indicado:

SavingsAccount.interest_rate(200.75)
#=> 0.5

Ten en cuenta que el valor devuelto es una instancia de Float.

2. Calcula la actualización anual del saldo

Implementa el método SavingsAccount.annual_balance_update para calcular la actualización anual del saldo, teniendo en cuenta la tasa de interés:

SavingsAccount.annual_balance_update(200.75)
#=> 201.75375

Ten en cuenta que el valor devuelto es una instancia de Float.

3. Calcula los años antes de alcanzar el saldo deseado

Implementa el método SavingsAccount.years_before_desired_balance para calcular la cantidad mínima de años necesarios para alcanzar el saldo deseado:

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

Ten en cuenta que el valor devuelto es una instancia de Integer.

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Ruby Exercism

¿Todo listo para empezar Cuenta de ahorros?

Regístrate en Exercism para aprender y dominar Ruby con 21 conceptos121 ejercicios y mentoría humana real, todo gratis.