Trilhas
/
Ruby
Ruby
/
Exercícios
/
Conta poupança
Conta poupança

Conta poupança

Exercício de aprendizagem

Introdução

Módulos

Até agora, todos os exercícios que você viu usaram classes. Às vezes não precisamos da sobrecarga de criar um objeto com estado, então em vez disso usamos module.

Um módulo é muito parecido com uma classe (na verdade, Module é o pai de Class na hierarquia de objetos), e a principal diferença é que, em vez de usar métodos de instância, usamos métodos de classe. Os métodos de classe começam com self. e são chamados diretamente em um módulo.

Por exemplo:

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

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

Laços

Há várias formas de escrever laços em Ruby, mas como tendemos a usar enumeração em vez de laços de modo geral, talvez o laço mais comum seja o laço while:

counter = 0

while counter < 5
  counter += 1
end

Você também pode usar o until, que é o irmão dele.

counter = 0

until counter == 5
  counter += 1
end

Instruções

Neste exercício, você vai trabalhar com contas poupança. A cada ano, o saldo de uma conta poupança é atualizado com base na taxa de juros. A taxa de juros que o banco oferece depende da quantidade de dinheiro na conta (o saldo dela):

  • 0,5% para um saldo não negativo menor que 1000 dólares.
  • 1,621% para um saldo positivo maior ou igual a 1000 dólares e menor que 5000 dólares.
  • 2,475% para um saldo positivo maior ou igual a 5000 dólares.
  • 3,213% para um saldo negativo (resulta em juros negativos).

Você tem três tarefas, e cada uma delas envolve o saldo e a taxa de juros.

1. Calcule a taxa de juros

Implemente o método SavingsAccount.interest_rate para calcular a taxa de juros com base no saldo informado:

SavingsAccount.interest_rate(200.75)
#=> 0.5

Repare que o valor retornado é uma instância de Float.

2. Calcule a atualização anual do saldo

Implemente o método SavingsAccount.annual_balance_update para calcular a atualização anual do saldo, levando em conta a taxa de juros:

SavingsAccount.annual_balance_update(200.75)
#=> 201.75375

Repare que o valor retornado é uma instância de Float.

3. Calcule os anos antes de atingir o saldo desejado

Implemente o método SavingsAccount.years_before_desired_balance para calcular o número mínimo de anos necessários para atingir o saldo desejado:

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

Repare que o valor retornado é uma instância de Integer.

Editar via GitHub O link abre em uma nova janela ou aba
Ruby Exercism

Tudo pronto para começar Conta poupança?

Crie sua conta no Exercism para aprender e dominar Ruby com 21 conceitos121 exercícios e mentoria humana de verdade, tudo de graça.