Διαδρομές
/
Ruby
Ruby
/
Ασκήσεις
/
Λογαριασμός ταμιευτηρίου
Λογαριασμός ταμιευτηρίου

Λογαριασμός ταμιευτηρίου

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

Εισαγωγή

Αρθρώματα

Μέχρι τώρα, όλες οι ασκήσεις που έχεις δει χρησιμοποιούν κλάσεις. Μερικές φορές δεν χρειαζόμαστε την επιβάρυνση της δημιουργίας ενός αντικειμένου με κατάσταση, οπότε αντί γι' αυτό χρησιμοποιούμε module.

Ένα άρθρωμα μοιάζει πολύ με μια κλάση (στην πραγματικότητα, το Module είναι ο γονέας του Class στην ιεραρχία των αντικειμένων) και η κύρια διαφορά είναι ότι αντί να χρησιμοποιούμε μεθόδους στιγμιοτύπων, χρησιμοποιούμε μεθόδους κλάσης. Οι μέθοδοι κλάσης ξεκινούν με self. και καλούνται απευθείας πάνω σε ένα άρθρωμα.

Για παράδειγμα:

module Speaker
  def self.echo(something)
    "#{something} ... #{something}"
  end
end

Speaker.echo("Hello")   #=> "Hello ... Hello"

Βρόχοι

Υπάρχουν αρκετοί τρόποι να γράψεις βρόχους στη Ruby, αλλά καθώς γενικά τείνουμε να χρησιμοποιούμε απαρίθμηση αντί για βρόχους, ο βρόχος που συναντάς πιο συχνά είναι ίσως ο while βρόχος:

counter = 0

while counter < 5
  counter += 1
end

Μπορείς επίσης να χρησιμοποιήσεις τον αδερφό του, until

counter = 0

until counter == 5
  counter += 1
end

Οδηγίες

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

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

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

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

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

SavingsAccount.interest_rate(200.75)
#=> 0.5

Σημείωσε ότι η τιμή που επιστρέφεται είναι στιγμιότυπο της κλάσης Float.

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

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

SavingsAccount.annual_balance_update(200.75)
#=> 201.75375

Σημείωσε ότι η τιμή που επιστρέφεται είναι στιγμιότυπο της κλάσης Float.

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

Υλοποίησε τη μέθοδο SavingsAccount.years_before_desired_balance για να υπολογίσεις τον ελάχιστο αριθμό ετών που απαιτούνται για να φτάσεις στο επιθυμητό υπόλοιπο:

SavingsAccount.years_before_desired_balance(200.75, 214.88)
#=> 14

Σημείωσε ότι η τιμή που επιστρέφεται είναι στιγμιότυπο της κλάσης Integer.

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

Έτοιμος να ξεκινήσεις την άσκηση Λογαριασμός ταμιευτηρίου;

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