Tracks
/
Go
Go
/
Übungen
/
Zinsen sind interessant
Zinsen sind interessant

Zinsen sind interessant

Lernübung

Einführung

Eine Gleitkommazahl ist eine Zahl mit null oder mehr Ziffern hinter dem Dezimaltrennzeichen. Beispiele sind -2.4, 0.1, 3.14, 5., 16.984025 und 1024.0.

Verschiedene Gleitkommatypen können unterschiedlich viele Ziffern hinter dem Trennzeichen speichern. Das nennt man ihre Genauigkeit.

Go hat zwei Gleitkommatypen:

  • float32: 32 Bit (Genauigkeit von ~6-9 Ziffern).
  • float64: 64 Bit (Genauigkeit von ~15-17 Ziffern). Das ist der Standard-Gleitkommatyp.

Wie man sieht, können beide Typen unterschiedlich viele Ziffern speichern. Das bedeutet, dass beim Speichern von PI in einem float32 nur die ersten 6 bis 9 Ziffern gespeichert werden (wobei die letzte Ziffer gerundet wird).

Standardmäßig verwendet Go für Gleitkommazahlen float64. Etwas anderes gilt nur, wenn die Gleitkommazahl:

  1. einer Variablen mit dem Typ float32 zugewiesen wird, oder
  2. aus einer Funktion mit dem Rückgabetyp float32 zurückgegeben wird, oder
  3. als Argument an die Funktion float32() übergeben wird.

Das math package enthält viele hilfreiche mathematische Funktionen.

Anleitung

In dieser Übung arbeitest du mit Sparkonten. Jedes Jahr wird der Kontostand deines Sparkontos anhand seines Zinssatzes aktualisiert. Der Zinssatz, den dir deine Bank gewährt, hängt davon ab, wie viel Geld auf deinem Konto liegt (der Kontostand):

  • 3,213 % bei einem Kontostand von weniger als 0 Dollar (der Kontostand wird stärker negativ).
  • 0,5 % bei einem Kontostand von mindestens 0 Dollar und weniger als 1000 Dollar.
  • 1,621 % bei einem Kontostand von mindestens 1000 Dollar und weniger als 5000 Dollar.
  • 2,475 % bei einem Kontostand von mindestens 5000 Dollar.

Du hast vier Aufgaben, die sich jeweils mit deinem Kontostand und seinem Zinssatz befassen.

1. Berechne den Zinssatz

Implementiere die Funktion InterestRate(), um den Zinssatz anhand des angegebenen Kontostands zu berechnen:

InterestRate(200.75)
// => 0.5

Beachte, dass der Rückgabewert ein float32 ist.

2. Berechne die Zinsen

Implementiere die Funktion Interest(), um die Zinsen anhand des angegebenen Kontostands zu berechnen:

Interest(200.75)
// => 1.003750

Beachte, dass der Rückgabewert ein float64 ist.

3. Berechne die jährliche Aktualisierung des Kontostands

Implementiere die Funktion AnnualBalanceUpdate(), um die jährliche Aktualisierung des Kontostands zu berechnen, wobei der Zinssatz berücksichtigt wird:

AnnualBalanceUpdate(200.75)
// => 201.75375

Beachte, dass der Rückgabewert ein float64 ist.

4. Berechne die Jahre bis zum Erreichen des gewünschten Kontostands

Implementiere die Funktion YearsBeforeDesiredBalance(), um die minimale Anzahl von Jahren zu berechnen, die nötig ist, um den gewünschten Kontostand zu erreichen, wobei berücksichtigt wird, dass jedes Jahr Zinsen zum Kontostand hinzugefügt werden. Das bedeutet, dass der Kontostand nach einem Jahr folgender ist: Anfangskontostand + Zinsen für den Anfangskontostand. Der Kontostand nach dem zweiten Jahr ist: Kontostand nach einem Jahr + Zinsen für den Kontostand nach einem Jahr. Und so weiter, bis der Kontostand des aktuellen Jahres größer oder gleich dem Zielkontostand ist.

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

Beachte, dass der Rückgabewert ein int ist.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Go Exercism

Bereit, mit Zinsen sind interessant zu starten?

Melde dich bei Exercism an, um Go mit 34 Konzepte166 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.