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:
float32, oufloat32, oufloat32().O math package contém muitas funções matemáticas úteis.
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):
0 dólares (o saldo fica ainda mais negativo).0 dólares e menor que 1000 dólares.1000 dólares e menor que 5000 dólares.5000 dólares.Você tem quatro tarefas, e cada uma delas vai lidar com o saldo da sua conta e 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.
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.
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.
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.
Crie sua conta no Exercism para aprender e dominar Go com 34 conceitos166 exercícios e mentoria humana de verdade, tudo de graça.