Ένας αριθμός κινητής υποδιαστολής είναι ένας αριθμός με μηδέν ή περισσότερα ψηφία μετά την υποδιαστολή. Παραδείγματα είναι οι -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);
Σε αυτή την άσκηση θα δουλέψεις με λογαριασμούς ταμιευτηρίου. Κάθε χρόνο, το υπόλοιπο του λογαριασμού ταμιευτηρίου σου ενημερώνεται με βάση το επιτόκιό του. Το επιτόκιο που σου δίνει η τράπεζά σου εξαρτάται από το ποσό των χρημάτων στον λογαριασμό σου (το υπόλοιπό του):
1000 δολάρια.1000 δολάρια και μικρότερο από 5000 δολάρια.5000 δολάρια.Έχεις τέσσερις εργασίες, καθεμία από τις οποίες θα ασχοληθεί με το υπόλοιπό σου και το επιτόκιό του.
Υλοποίησε τη μέθοδο (static) SavingsAccount.InterestRate() για να υπολογίσεις το επιτόκιο με βάση το καθορισμένο υπόλοιπο:
SavingsAccount.InterestRate(balance: 200.75m)
// 0.5f
Σημείωσε ότι η τιμή που επιστρέφεται είναι float.
Υλοποίησε τη μέθοδο (static) SavingsAccount.Interest() για να υπολογίσεις τον τόκο με βάση το καθορισμένο υπόλοιπο:
SavingsAccount.Interest(balance: 200.75m)
// 1.00375m
Σημείωσε ότι η τιμή που επιστρέφεται είναι decimal.
Υλοποίησε τη μέθοδο (static) SavingsAccount.AnnualBalanceUpdate() για να υπολογίσεις το ενημερωμένο ετήσιο υπόλοιπο, λαμβάνοντας υπόψη το επιτόκιο:
SavingsAccount.AnnualBalanceUpdate(balance: 200.75m)
// 201.75375m
Σημείωσε ότι η τιμή που επιστρέφεται είναι decimal.
Υλοποίησε τη μέθοδο (static) SavingsAccount.YearsBeforeDesiredBalance() για να υπολογίσεις τον ελάχιστο αριθμό ετών που απαιτούνται για να φτάσεις στο επιθυμητό υπόλοιπο, δεδομένου ετήσιου ανατοκισμού:
SavingsAccount.YearsBeforeDesiredBalance(balance: 200.75m, targetBalance: 214.88m)
// 14
Σημείωσε ότι η τιμή που επιστρέφεται είναι int.
Όταν εφαρμόζεται απλός τόκος σε ένα αρχικό κεφάλαιο, το υπόλοιπο πολλαπλασιάζεται με το επιτόκιο και το γινόμενο των δύο είναι το ποσό του τόκου.
Ο σύνθετος τόκος από την άλλη γίνεται εφαρμόζοντας τόκο σε επαναλαμβανόμενη βάση. Σε κάθε εφαρμογή, το ποσό του τόκου υπολογίζεται και προστίθεται στο αρχικό κεφάλαιο, ώστε οι επόμενοι υπολογισμοί τόκου να γίνονται σε μεγαλύτερο αρχικό κεφάλαιο.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις C# με 62 έννοιες178 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.