Percursos
/
F#
F#
/
Exercícios
/
Os juros são interessantes
Os juros são interessantes

Os juros são interessantes

Exercício de aprendizagem

Introdução

Números de vírgula flutuante

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

O F# tem três tipos de números de vírgula flutuante:

  • single: 4 bytes (precisão de ~6 a 9 algarismos). Escreve-se 2.45f.
  • float: 8 bytes (precisão de ~15 a 17 algarismos). É o tipo mais comum. Escreve-se 2.45.
  • decimal: 16 bytes (precisão de 28 a 29 algarismos). Normalmente usa-se quando se trabalha com dados monetários, pois a sua precisão dá origem a menos erros de arredondamento. Escreve-se 2.45m.

Tipos de vírgula flutuante diferentes podem armazenar quantidades diferentes de algarismos depois do separador de algarismos. É a isto que se chama a sua precisão. Isto significa que, ao tentar armazenar o PI num single, só se armazenam os primeiros 6 a 9 algarismos (sendo o último arredondado).

Instruções

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 saldo):

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

Todos os anos o governo permite-te doar uma percentagem do teu dinheiro a instituições de caridade, livre de impostos. Como és uma pessoa simpática, se o teu saldo ficar positivo no final do ano, pegas na percentagem livre de impostos, duplicas e arredondas para baixo até ao dólar inteiro mais próximo. Não te importas de pagar impostos sobre a segunda metade da doação.

Tens três tarefas, cada uma delas vai lidar com o teu saldo e a sua taxa de juro.

1. Calcula a taxa de juro

Implementa a função interestRate para calcular a taxa de juro com base no saldo indicado:

interestRate 200.75m
// => 0.5f

Repara que o valor devolvido é um single.

2. Calcula os juros

Implementa o método interest para calcular os juros com base no saldo indicado:

interest 200.75m
// => 1.00375m

Repara que o valor devolvido é um decimal.

3. Calcula a atualização do saldo anual

Implementa a função annualBalanceUpdate para calcular a atualização do saldo anual, tendo em conta a taxa de juro:

annualBalanceUpdate 200.75m
// => 201.75375m

Repara que o valor devolvido é um decimal.

4. Calcula quanto dinheiro doar

Implementa a função amountToDonate para calcular quanto dinheiro doar a instituições de caridade, com base no saldo e na percentagem livre de impostos que o governo permite:

let balance = 550.5m
let taxFreePercentage = 2.5
amountToDonate balance taxFreePercentage
// => 27

Repara que o valor devolvido é um int.

Editar via GitHub A ligação abre numa nova janela ou separador
F# Exercism

Estás pronto para começar Os juros são interessantes?

Inscreve-te no Exercism para aprenderes e dominares F# com 18 conceitos148 exercícios, e mentoria humana real, tudo grátis.