Rutas
/
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 por self. y se llaman directamente sobre 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 tendemos a usar la enumeración en lugar del bucle en general, quizá el bucle más habitual sea el bucle while:

counter = 0

while counter < 5
  counter += 1
end

También puedes usar su variante 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 el tipo de interés. El tipo de interés que da el banco depende de la cantidad de dinero que haya en la cuenta (su saldo):

  • 0,5% para un saldo no negativo inferior a 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 lugar a un interés negativo).

Tienes tres tareas, y cada una de ellas trata con el saldo y su tipo de interés.

1. Calcula el tipo de interés

Implementa el método SavingsAccount.interest_rate para calcular el tipo de interés a partir del saldo especificado:

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 el tipo 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 que faltan para alcanzar el saldo deseado

Implementa el método SavingsAccount.years_before_desired_balance para calcular el número mínimo 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 pestaña nueva
Ruby Exercism

¿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.