Trilhas
/
F#
F#
/
Exercícios
/
Juros são interessantes
Juros são interessantes

Juros são interessantes

Exercício de aprendizagem

Introdução

Números de ponto flutuante

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

O F# tem três tipos de ponto flutuante:

  • single: 4 bytes (precisão de ~6 a 9 dígitos). Escrito como 2.45f.
  • float: 8 bytes (precisão de ~15 a 17 dígitos). É o tipo mais comum. Escrito como 2.45.
  • decimal: 16 bytes (precisão de 28 a 29 dígitos). Normalmente usado ao trabalhar com dados monetários, pois sua precisão gera menos erros de arredondamento. Escrito como 2.45m.

Tipos de ponto flutuante diferentes podem armazenar quantidades diferentes de dígitos depois do separador decimal. Isso é o que se chama de precisão. Isso significa que tentar armazenar PI em um single vai armazenar apenas os 6 a 9 primeiros dígitos (com o último dígito arredondado).

Instruções

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

  • 3.213% para um saldo negativo (o que resulta em juros negativos).
  • 0.5% para um saldo positivo 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.

A cada ano, o governo permite que você doe uma porcentagem do seu dinheiro para instituições de caridade, sem pagar impostos. Como você é uma pessoa gentil, se o seu saldo ficar positivo no fim do ano, você pega a porcentagem isenta de impostos e dobra, arredondando para baixo até o dólar inteiro mais próximo. Você não se importa em pagar imposto sobre a segunda metade da doação.

Você tem três tarefas, e cada uma delas lida com o seu saldo e a sua taxa de juros.

1. Calcular a taxa de juros

Implemente a função interestRate para calcular a taxa de juros com base no saldo informado:

interestRate 200.75m
// => 0.5f

Repare que o valor retornado é um single.

2. Calcular os juros

Implemente o método interest para calcular os juros com base no saldo informado:

interest 200.75m
// => 1.00375m

Repare que o valor retornado é um decimal.

3. Calcular 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.75m
// => 201.75375m

Repare que o valor retornado é um decimal.

4. Calcular quanto dinheiro doar

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

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

Repare que o valor retornado é um int.

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

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

Crie sua conta no Exercism para aprender e dominar F# com 18 conceitos148 exercícios e mentoria humana de verdade, tudo de graça.