Trilhas
/
Go
Go
/
Exercícios
/
Juros são interessantes
Juros são interessantes

Juros são interessantes

Exercício de aprendizagem

Introdução

Um número de ponto flutuante é um número com zero ou mais dígitos depois do separador decimal. Alguns exemplos são -2.4, 0.1, 3.14, 5., 16.984025 e 1024.0.

Tipos de ponto flutuante diferentes conseguem armazenar quantidades diferentes de dígitos depois do separador decimal. Isso é chamado de precisão.

O Go tem dois tipos de ponto flutuante:

  • float32: 32 bits (precisão de cerca de 6 a 9 dígitos).
  • float64: 64 bits (precisão de cerca de 15 a 17 dígitos). Esse é o tipo de ponto flutuante padrão.

Como dá para ver, os dois tipos conseguem armazenar uma quantidade diferente de dígitos. Isso significa que tentar armazenar PI em um float32 vai guardar apenas os primeiros 6 a 9 dígitos (com o último dígito arredondado).

Por padrão, o Go usa float64 para números de ponto flutuante, a menos que o número de ponto flutuante seja:

  1. atribuído a uma variável do tipo float32, ou
  2. retornado por uma função com tipo de retorno float32, ou
  3. passado como argumento para a função float32().

O math package contém muitas funções matemáticas úteis.

Instruções

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

  • 3,213% para um saldo menor que 0 dólares (o saldo fica ainda mais negativo).
  • 0,5% para um saldo maior ou igual a 0 dólares e menor que 1000 dólares.
  • 1,621% para um saldo maior ou igual a 1000 dólares e menor que 5000 dólares.
  • 2,475% para um saldo maior ou igual a 5000 dólares.

Você tem quatro tarefas, e cada uma delas vai lidar com o saldo da sua conta e a taxa de juros.

1. Calcule a taxa de juros

Implemente a função InterestRate() para calcular a taxa de juros com base no saldo especificado:

InterestRate(200.75)
// => 0.5

Observe que o valor retornado é um float32.

2. Calcule os juros

Implemente a função Interest() para calcular os juros com base no saldo especificado:

Interest(200.75)
// => 1.003750

Observe que o valor retornado é um float64.

3. Calcule a atualização anual do saldo

Implemente a função AnnualBalanceUpdate() para calcular a atualização anual do saldo, levando em conta a taxa de juros:

AnnualBalanceUpdate(200.75)
// => 201.75375

Observe que o valor retornado é um float64.

4. Calcule os anos antes de alcançar o saldo desejado

Implemente a função YearsBeforeDesiredBalance() para calcular o número mínimo de anos necessários para alcançar o saldo desejado, levando em conta que, a cada ano, os juros são adicionados ao saldo. Isso significa que o saldo após um ano é: saldo inicial + juros sobre o saldo inicial. O saldo após o segundo ano é: saldo após um ano + juros sobre o saldo após um ano. E assim por diante, até que o saldo do ano atual seja maior ou igual ao saldo desejado.

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

Observe que o valor retornado é um int.

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

Tudo pronto para começar Juros são interessantes?

Crie sua conta no Exercism para aprender e dominar Go com 34 conceitos166 exercícios e mentoria humana de verdade, tudo de graça.