Tracks
/
F#
F#
/
Übungen
/
Zinsen sind interessant
Zinsen sind interessant

Zinsen sind interessant

Lernübung

Einführung

Gleitkommazahlen

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

F# kennt drei Gleitkommatypen:

  • single: 4 Byte (~6-9 Stellen Genauigkeit). Wird als 2.45f geschrieben.
  • float: 8 Byte (~15-17 Stellen Genauigkeit). Das ist der häufigste Typ. Wird als 2.45 geschrieben.
  • decimal: 16 Byte (28-29 Stellen Genauigkeit). Wird normalerweise für Geldbeträge verwendet, weil seine Genauigkeit zu weniger Rundungsfehlern führt. Wird als 2.45m geschrieben.

Verschiedene Gleitkommatypen können unterschiedlich viele Ziffern nach dem Dezimaltrennzeichen speichern. Das nennt man ihre Genauigkeit. Wenn du also versuchst, PI in einem single zu speichern, werden nur die ersten 6 bis 9 Ziffern gespeichert (wobei die letzte Ziffer gerundet wird).

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 (deinem Kontostand):

  • 3,213 % bei einem negativen Kontostand (führt zu negativen Zinsen).
  • 0,5 % bei einem positiven Kontostand unter 1000 Dollar.
  • 1,621 % bei einem positiven Kontostand ab 1000 Dollar und unter 5000 Dollar.
  • 2,475 % bei einem positiven Kontostand ab 5000 Dollar.

Jedes Jahr erlaubt dir der Staat, einen prozentualen Anteil deines Geldes steuerfrei an wohltätige Organisationen zu spenden. Weil du ein netter Mensch bist, verdoppelst du diesen steuerfreien Prozentsatz, wenn dein Kontostand am Ende des Jahres positiv ist, und rundest dabei auf den nächsten ganzen Dollar ab. Es macht dir nichts aus, für die zweite Hälfte der Spende Steuern zu zahlen.

Du hast drei Aufgaben, die sich jeweils mit deinem Kontostand und dessen Zinssatz befassen.

1. Berechne den Zinssatz

Implementiere die Funktion interestRate, um den Zinssatz anhand des angegebenen Kontostands zu berechnen:

interestRate 200.75m
// => 0.5f

Beachte, dass der zurückgegebene Wert vom Typ single ist.

2. Berechne die Zinsen

Implementiere die Methode interest, um die Zinsen anhand des angegebenen Kontostands zu berechnen:

interest 200.75m
// => 1.00375m

Beachte, dass der zurückgegebene Wert vom Typ decimal ist.

3. Berechne die jährliche Aktualisierung des Kontostands

Implementiere die Funktion annualBalanceUpdate, um die jährliche Aktualisierung des Kontostands unter Berücksichtigung des Zinssatzes zu berechnen:

annualBalanceUpdate 200.75m
// => 201.75375m

Beachte, dass der zurückgegebene Wert vom Typ decimal ist.

4. Berechne, wie viel Geld du spenden sollst

Implementiere die Funktion amountToDonate, um anhand des Kontostands und des steuerfreien Prozentsatzes, den der Staat erlaubt, zu berechnen, wie viel Geld du an wohltätige Organisationen spenden sollst:

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

Beachte, dass der zurückgegebene Wert vom Typ int ist.

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

Bereit, mit Zinsen sind interessant zu starten?

Melde dich bei Exercism an, um F# mit 18 Konzepte148 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.