Track
/
F#
F#
/
Esercizi
/
L'interesse è interessante
L'interesse è interessante

L'interesse è interessante

Esercizio di apprendimento

Introduzione

Numeri in virgola mobile

Un numero in virgola mobile è un numero con zero o più cifre dopo il separatore decimale. Alcuni esempi sono -2.4, 0.1, 3.14, 16.984025 e 1024.0.

F# ha tre tipi in virgola mobile:

  • single: 4 byte (precisione di circa 6-9 cifre). Si scrive 2.45f.
  • float: 8 byte (precisione di circa 15-17 cifre). È il tipo più comune. Si scrive 2.45.
  • decimal: 16 byte (precisione di 28-29 cifre). Si usa normalmente quando si lavora con dati monetari, perché la sua precisione comporta meno errori di arrotondamento. Si scrive 2.45m.

Tipi diversi in virgola mobile possono memorizzare un numero diverso di cifre dopo il separatore decimale: è quella che viene chiamata precisione. Questo significa che, provando a memorizzare PI in un single, verranno memorizzate soltanto le prime 6-9 cifre (con l'ultima cifra arrotondata).

Istruzioni

In questo esercizio lavorerai con i conti di risparmio. Ogni anno, il saldo del tuo conto di risparmio viene aggiornato in base al suo tasso di interesse. Il tasso di interesse che la tua banca ti offre dipende dalla quantità di denaro presente sul conto (il suo saldo):

  • 3,213% per un saldo negativo (che comporta un interesse negativo).
  • 0,5% per un saldo positivo inferiore a 1000 dollari.
  • 1,621% per un saldo positivo maggiore o uguale a 1000 dollari e inferiore a 5000 dollari.
  • 2,475% per un saldo positivo maggiore o uguale a 5000 dollari.

Ogni anno il governo ti permette di donare in beneficenza una percentuale del tuo denaro, esentasse. Dato che sei una brava persona, se alla fine dell'anno il tuo saldo risulta positivo prendi la percentuale esentasse e la raddoppi, arrotondando per difetto al dollaro intero più vicino. Non ti dispiace pagare le tasse sulla seconda metà della donazione.

Hai tre attività, ognuna delle quali riguarderà il tuo saldo e il suo tasso di interesse.

1. Calcola il tasso di interesse

Implementa la funzione interestRate per calcolare il tasso di interesse in base al saldo indicato:

interestRate 200.75m
// => 0.5f

Nota che il valore restituito è un single.

2. Calcola l'interesse

Implementa il metodo interest per calcolare l'interesse in base al saldo indicato:

interest 200.75m
// => 1.00375m

Nota che il valore restituito è un decimal.

3. Calcola l'aggiornamento annuale del saldo

Implementa la funzione annualBalanceUpdate per calcolare l'aggiornamento annuale del saldo, tenendo conto del tasso di interesse:

annualBalanceUpdate 200.75m
// => 201.75375m

Nota che il valore restituito è un decimal.

4. Calcola quanti soldi donare

Implementa la funzione amountToDonate per calcolare quanti soldi donare in beneficenza, in base al saldo e alla percentuale esentasse che il governo concede:

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

Nota che il valore restituito è un int.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
F# Exercism

Vuoi iniziare L'interesse è interessante?

Iscriviti a Exercism per imparare e padroneggiare F# con 18 concetti148 esercizi e il mentoring di persone reali, tutto gratis.