Track
/
Go
Go
/
Esercizi
/
L'interesse è interessante
L'interesse è interessante

L'interesse è interessante

Esercizio di apprendimento

Introduzione

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

Tipi diversi di numeri in virgola mobile possono memorizzare un numero diverso di cifre dopo il separatore decimale: questa caratteristica si chiama precisione.

Go ha due tipi di numeri in virgola mobile:

  • float32: 32 bit (circa 6-9 cifre di precisione).
  • float64: 64 bit (circa 15-17 cifre di precisione). È il tipo in virgola mobile predefinito.

Come si può vedere, entrambi i tipi possono memorizzare un numero diverso di cifre. Questo significa che se proviamo a memorizzare PI in un float32, verranno memorizzate soltanto le prime 6-9 cifre (con l'ultima cifra che viene arrotondata).

Per impostazione predefinita, Go usa float64 per i numeri in virgola mobile, a meno che il numero in virgola mobile non sia:

  1. assegnato a una variabile di tipo float32, oppure
  2. restituito da una funzione con tipo restituito float32, oppure
  3. passato come argomento alla funzione float32().

Il math package contiene molte funzioni matematiche utili.

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 tuo conto (il suo saldo):

  • 3.213% per un saldo inferiore a 0 dollari (il saldo diventa più negativo).
  • 0.5% per un saldo maggiore o uguale a 0 dollari e inferiore a 1000 dollari.
  • 1.621% per un saldo maggiore o uguale a 1000 dollari e inferiore a 5000 dollari.
  • 2.475% per un saldo maggiore o uguale a 5000 dollari.

Hai quattro 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.75)
// => 0.5

Nota che il valore restituito è un float32.

2. Calcola gli interessi

Implementa la funzione Interest() per calcolare gli interessi in base al saldo indicato:

Interest(200.75)
// => 1.003750

Nota che il valore restituito è un float64.

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.75)
// => 201.75375

Nota che il valore restituito è un float64.

4. Calcola gli anni necessari per raggiungere il saldo desiderato

Implementa la funzione YearsBeforeDesiredBalance() per calcolare il numero minimo di anni necessari per raggiungere il saldo desiderato, tenendo conto che ogni anno gli interessi vengono aggiunti al saldo. Questo significa che il saldo dopo un anno è: saldo iniziale + interessi sul saldo iniziale. Il saldo dopo il secondo anno è: saldo dopo un anno + interessi sul saldo dopo un anno. E così via, finché il saldo dell'anno corrente non è maggiore o uguale al saldo obiettivo.

balance := 200.75
targetBalance := 214.88
YearsBeforeDesiredBalance(balance, targetBalance)
// => 14

Nota che il valore restituito è un int.

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

Vuoi iniziare L'interesse è interessante?

Iscriviti a Exercism per imparare e padroneggiare Go con 34 concetti166 esercizi e il mentoring di persone reali, tutto gratis.