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

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

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

Εισαγωγή

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

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

Διαφορετικοί τύποι κινητής υποδιαστολής μπορούν να αποθηκεύσουν διαφορετικό αριθμό ψηφίων μετά την υποδιαστολή. Αυτό αναφέρεται ως η ακρίβειά τους.

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

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

Όπως φαίνεται, κάθε τύπος μπορεί να αποθηκεύσει διαφορετικό αριθμό ψηφίων. Για παράδειγμα, αν προσπαθήσεις να αποθηκεύσεις το PI σε έναν float, θα αποθηκευτούν μόνο τα πρώτα 6 δεκαδικά ψηφία (με το τελευταίο αποθηκευμένο ψηφίο στρογγυλοποιημένο).

Βρόχοι while

Σε αυτή την άσκηση μπορεί να θέλεις να χρησιμοποιήσεις έναν βρόχο. Υπάρχουν αρκετοί τρόποι να γράψεις βρόχους στη C#, αλλά ο βρόχος while είναι ο πιο κατάλληλος εδώ:

int x = 23;

while (x > 10)
{
    // Execute logic if x > 10
    x = x - 2;
}

Βρόχοι do/while

Αν ο κώδικας σε έναν βρόχο πρέπει να εκτελεστεί πάντα τουλάχιστον μία φορά, μπορείς να χρησιμοποιήσεις έναν βρόχο do/while:

int x = 23;

do
{
    // Execute body, repeating only if x > 10
    x = x - 2;
} while (x > 10);

Οδηγίες

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

  • 3,213% για αρνητικό υπόλοιπο (το υπόλοιπο γίνεται πιο αρνητικό).
  • 0,5% για θετικό υπόλοιπο μικρότερο από 1000 δολάρια.
  • 1,621% για θετικό υπόλοιπο μεγαλύτερο ή ίσο με 1000 δολάρια και μικρότερο από 5000 δολάρια.
  • 2,475% για θετικό υπόλοιπο μεγαλύτερο ή ίσο με 5000 δολάρια.

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

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

Υλοποίησε τη μέθοδο (static) SavingsAccount.InterestRate() για να υπολογίσεις το επιτόκιο με βάση το καθορισμένο υπόλοιπο:

SavingsAccount.InterestRate(balance: 200.75m)
// 0.5f

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

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

Υλοποίησε τη μέθοδο (static) SavingsAccount.Interest() για να υπολογίσεις τον τόκο με βάση το καθορισμένο υπόλοιπο:

SavingsAccount.Interest(balance: 200.75m)
// 1.00375m

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

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

Υλοποίησε τη μέθοδο (static) SavingsAccount.AnnualBalanceUpdate() για να υπολογίσεις το ενημερωμένο ετήσιο υπόλοιπο, λαμβάνοντας υπόψη το επιτόκιο:

SavingsAccount.AnnualBalanceUpdate(balance: 200.75m)
// 201.75375m

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

4. Υπολόγισε τα χρόνια μέχρι να φτάσεις στο επιθυμητό υπόλοιπο

Υλοποίησε τη μέθοδο (static) SavingsAccount.YearsBeforeDesiredBalance() για να υπολογίσεις τον ελάχιστο αριθμό ετών που απαιτούνται για να φτάσεις στο επιθυμητό υπόλοιπο, δεδομένου ετήσιου ανατοκισμού:

SavingsAccount.YearsBeforeDesiredBalance(balance: 200.75m, targetBalance: 214.88m)
// 14

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

Note

Όταν εφαρμόζεται απλός τόκος σε ένα αρχικό κεφάλαιο, το υπόλοιπο πολλαπλασιάζεται με το επιτόκιο και το γινόμενο των δύο είναι το ποσό του τόκου.

Ο σύνθετος τόκος από την άλλη γίνεται εφαρμόζοντας τόκο σε επαναλαμβανόμενη βάση. Σε κάθε εφαρμογή, το ποσό του τόκου υπολογίζεται και προστίθεται στο αρχικό κεφάλαιο, ώστε οι επόμενοι υπολογισμοί τόκου να γίνονται σε μεγαλύτερο αρχικό κεφάλαιο.

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

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

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