Διαδρομές
/
F#
F#
/
Ασκήσεις
/
Ο τόκος έχει ενδιαφέρον
Ο τόκος έχει ενδιαφέρον

Ο τόκος έχει ενδιαφέρον

Άσκηση εκμάθησης

Εισαγωγή

Αριθμοί κινητής υποδιαστολής

Ένας αριθμός κινητής υποδιαστολής είναι ένας αριθμός με μηδέν ή περισσότερα ψηφία μετά την υποδιαστολή. Παραδείγματα είναι τα -2.4, 0.1, 3.14, 16.984025 και 1024.0.

Η F# έχει τρεις τύπους κινητής υποδιαστολής:

  • single: 4 byte (ακρίβεια ~6-9 ψηφίων). Γράφεται ως 2.45f.
  • float: 8 byte (ακρίβεια ~15-17 ψηφίων). Αυτός είναι ο πιο συνηθισμένος τύπος. Γράφεται ως 2.45.
  • decimal: 16 byte (ακρίβεια 28-29 ψηφίων). Χρησιμοποιείται συνήθως όταν δουλεύεις με νομισματικά δεδομένα, καθώς η ακρίβειά του οδηγεί σε λιγότερα σφάλματα στρογγυλοποίησης. Γράφεται ως 2.45m.

Διαφορετικοί τύποι κινητής υποδιαστολής μπορούν να αποθηκεύσουν διαφορετικό αριθμό ψηφίων μετά το διαχωριστικό ψηφίων - αυτό αναφέρεται ως η ακρίβειά του. Αυτό σημαίνει ότι αν προσπαθήσεις να αποθηκεύσεις το PI σε ένα single, θα αποθηκευτούν μόνο τα πρώτα 6 έως 9 ψηφία (με στρογγυλοποίηση του τελευταίου ψηφίου).

Οδηγίες

Σε αυτή την άσκηση θα δουλέψεις με λογαριασμούς ταμιευτηρίου. Κάθε χρόνο, το υπόλοιπο του λογαριασμού ταμιευτηρίου σου ενημερώνεται με βάση το επιτόκιό του. Το επιτόκιο που σου δίνει η τράπεζά σου εξαρτάται από το χρηματικό ποσό που υπάρχει στον λογαριασμό σου (το υπόλοιπό του):

  • 3.213% για αρνητικό υπόλοιπο (οδηγεί σε αρνητικό τόκο).
  • 0.5% για θετικό υπόλοιπο μικρότερο από 1000 δολάρια.
  • 1.621% για θετικό υπόλοιπο μεγαλύτερο ή ίσο με 1000 δολάρια και μικρότερο από 5000 δολάρια.
  • 2.475% για θετικό υπόλοιπο μεγαλύτερο ή ίσο με 5000 δολάρια.

Κάθε χρόνο το κράτος σου επιτρέπει να δωρίσεις ένα ποσοστό των χρημάτων σου σε φιλανθρωπικό σκοπό, αφορολόγητα. Επειδή είσαι καλός άνθρωπος, αν το υπόλοιπό σου καταλήξει θετικό στο τέλος του χρόνου, παίρνεις το αφορολόγητο ποσοστό και το διπλασιάζεις, στρογγυλοποιώντας προς τα κάτω στο πλησιέστερο ακέραιο δολάριο. Δεν σε πειράζει να πληρώσεις φόρο για το δεύτερο μισό της δωρεάς.

Έχεις τρεις εργασίες, καθεμία από τις οποίες ασχολείται με το υπόλοιπό σου και το επιτόκιό του.

1. Υπολόγισε το επιτόκιο

Υλοποίησε τη συνάρτηση interestRate για να υπολογίσεις το επιτόκιο με βάση το καθορισμένο υπόλοιπο:

interestRate 200.75m
// => 0.5f

Σημείωσε ότι η τιμή που επιστρέφεται είναι single.

2. Υπολόγισε τον τόκο

Υλοποίησε τη μέθοδο interest για να υπολογίσεις τον τόκο με βάση το καθορισμένο υπόλοιπο:

interest 200.75m
// => 1.00375m

Σημείωσε ότι η τιμή που επιστρέφεται είναι decimal.

3. Υπολόγισε την ετήσια ενημέρωση του υπολοίπου

Υλοποίησε τη συνάρτηση annualBalanceUpdate για να υπολογίσεις την ετήσια ενημέρωση του υπολοίπου, λαμβάνοντας υπόψη το επιτόκιο:

annualBalanceUpdate 200.75m
// => 201.75375m

Σημείωσε ότι η τιμή που επιστρέφεται είναι decimal.

4. Υπολόγισε πόσα χρήματα θα δωρίσεις

Υλοποίησε τη συνάρτηση amountToDonate για να υπολογίσεις πόσα χρήματα θα δωρίσεις σε φιλανθρωπικούς σκοπούς με βάση το υπόλοιπο και το αφορολόγητο ποσοστό που επιτρέπει το κράτος:

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

Σημείωσε ότι η τιμή που επιστρέφεται είναι int.

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
F# Exercism

Έτοιμος να ξεκινήσεις την άσκηση Ο τόκος έχει ενδιαφέρον;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις F# με 18 έννοιες148 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.