Διαδρομές
/
MoonScript
MoonScript
/
Ασκήσεις
/
Μιγαδικοί αριθμοί
Μιγαδικοί αριθμοί

Μιγαδικοί αριθμοί

Μέτριο

Οδηγίες

Ένας μιγαδικός αριθμός εκφράζεται με τη μορφή z = a + b * i, όπου:

  • το a είναι το πραγματικό μέρος (ένας πραγματικός αριθμός),

  • το b είναι το φανταστικό μέρος (επίσης ένας πραγματικός αριθμός), και

  • το i είναι η φανταστική μονάδα που ικανοποιεί τη σχέση i^2 = -1.

Πράξεις με Μιγαδικούς Αριθμούς

Συζυγής

Ο συζυγής του μιγαδικού αριθμού z = a + b * i δίνεται από τη σχέση:

zc = a - b * i

Απόλυτη Τιμή

Η απόλυτη τιμή (ή μέτρο) του z ορίζεται ως:

|z| = sqrt(a^2 + b^2)

Το τετράγωνο της απόλυτης τιμής υπολογίζεται ως το γινόμενο του z και του συζυγούς του zc:

|z|^2 = z * zc = a^2 + b^2

Πρόσθεση

Το άθροισμα δύο μιγαδικών αριθμών z1 = a + b * i και z2 = c + d * i υπολογίζεται προσθέτοντας χωριστά τα πραγματικά και τα φανταστικά μέρη τους:

z1 + z2 = (a + b * i) + (c + d * i)
        = (a + c) + (b + d) * i

Αφαίρεση

Η διαφορά δύο μιγαδικών αριθμών προκύπτει αφαιρώντας τα αντίστοιχα μέρη τους:

z1 - z2 = (a + b * i) - (c + d * i)
        = (a - c) + (b - d) * i

Πολλαπλασιασμός

Το γινόμενο δύο μιγαδικών αριθμών ορίζεται ως:

z1 * z2 = (a + b * i) * (c + d * i)
        = (a * c - b * d) + (b * c + a * d) * i

Αντίστροφος

Ο αντίστροφος ενός μη μηδενικού μιγαδικού αριθμού δίνεται από τη σχέση:

1 / z = 1 / (a + b * i)
      = a / (a^2 + b^2) - b / (a^2 + b^2) * i

Διαίρεση

Η διαίρεση ενός μιγαδικού αριθμού με έναν άλλον δίνεται από τη σχέση:

z1 / z2 = z1 * (1 / z2)
        = (a + b * i) / (c + d * i)
        = (a * c + b * d) / (c^2 + d^2) + (b * c - a * d) / (c^2 + d^2) * i

Ύψωση σε Δύναμη

Η ύψωση του e (της βάσης του φυσικού λογάριθμου) σε μιγαδικό εκθέτη μπορεί να εκφραστεί με τον τύπο του Euler:

e^(a + b * i) = e^a * e^(b * i)
              = e^a * (cos(b) + i * sin(b))

Απαιτήσεις Υλοποίησης

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

  • την πρόσθεση δύο μιγαδικών αριθμών
  • την αφαίρεση δύο μιγαδικών αριθμών
  • τον πολλαπλασιασμό δύο μιγαδικών αριθμών
  • τη διαίρεση δύο μιγαδικών αριθμών
  • τον συζυγή ενός μιγαδικού αριθμού
  • την απόλυτη τιμή ενός μιγαδικού αριθμού
  • την ύψωση σε δύναμη του e (της βάσης του φυσικού λογάριθμου) σε μιγαδικό αριθμό

Ειδικές οδηγίες για τη MoonScript

Αυτή είναι μια άσκηση αντικειμενοστρεφούς προγραμματισμού: υλοποιείς το ComplexNumbers ως κλάση.

Τα τεστ θα συγκρίνουν δύο στιγμιότυπα μιγαδικών αριθμών ως προς την ισότητα. Αυτό σημαίνει ότι η κλάση σου θα πρέπει να υλοποιήσει τη __eq μεταμέθοδο.

Τα τεστ εκτελούν επίσης αριθμητικές πράξεις σε μιγαδικούς αριθμούς, οπότε υπάρχουν αριθμητικές μεταμέθοδοι που πρέπει να υλοποιήσεις.

Caution

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


Πηγή

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

Έτοιμος να ξεκινήσεις την άσκηση Μιγαδικοί αριθμοί;

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