Um número de vírgula flutuante é um número com zero ou mais algarismos depois do separador decimal. Por exemplo: -2.4, 0.1, 3.14, 5., 16.984025 e 1024.0.
Tipos de vírgula flutuante diferentes podem armazenar quantidades diferentes de algarismos depois do separador de algarismos; a isto chama-se precisão.
O Go tem dois tipos de vírgula flutuante:
float32: 32 bits (~6-9 algarismos de precisão).float64: 64 bits (~15-17 algarismos de precisão).
Este é o tipo de vírgula flutuante predefinido.Como se pode ver, os dois tipos podem armazenar um número diferente de algarismos.
Isto significa que tentar armazenar o PI num float32 só vai guardar os primeiros 6 a 9 algarismos (sendo o último arredondado).
Por predefinição, o Go usa float64 para os números de vírgula flutuante, a menos que o número de vírgula flutuante seja:
float32, oufloat32, oufloat32().O pacote math contém muitas funções matemáticas úteis.
Neste exercício vais trabalhar com contas poupança. Todos os anos, o saldo da tua conta poupança é atualizado com base na sua taxa de juro. A taxa de juro que o teu banco te dá depende da quantidade de dinheiro na tua conta (o seu saldo):
0 dólares (o saldo fica ainda mais negativo).0 dólares e inferior a 1000 dólares.1000 dólares e inferior a 5000 dólares.5000 dólares.Tens quatro tarefas, cada uma delas vai lidar com o teu saldo e a sua taxa de juro.
Implementa a função InterestRate() para calcular a taxa de juro com base no saldo indicado:
InterestRate(200.75)
// => 0.5
Repara que o valor devolvido é um float32.
Implementa a função Interest() para calcular os juros com base no saldo indicado:
Interest(200.75)
// => 1.003750
Repara que o valor devolvido é um float64.
Implementa a função AnnualBalanceUpdate() para calcular a atualização anual do saldo, tendo em conta a taxa de juro:
AnnualBalanceUpdate(200.75)
// => 201.75375
Repara que o valor devolvido é um float64.
Implementa a função YearsBeforeDesiredBalance() para calcular o número mínimo de anos necessários para atingir o saldo pretendido, tendo em conta que, a cada ano, os juros são adicionados ao saldo.
Isto significa que o saldo após um ano é: saldo inicial + juros do saldo inicial.
O saldo após o segundo ano é: saldo após um ano + juros do saldo após um ano.
E assim sucessivamente, até que o saldo do ano atual seja maior ou igual ao saldo pretendido.
balance := 200.75
targetBalance := 214.88
YearsBeforeDesiredBalance(balance, targetBalance)
// => 14
Repara que o valor devolvido é um int.
Inscreve-te no Exercism para aprenderes e dominares Go com 34 conceitos166 exercícios, e mentoria humana real, tudo grátis.