Επιστημονική αριθμομηχανή: Δυνάμεις, ρίζες, λογάριθμοι
Επιστημονική αριθμομηχανή online με δυνάμεις, ρίζες, λογαρίθμους και ln, ημίτονο, συνημίτονο και εφαπτομένη σε μοίρες ή ακτίνια, παραγοντικά, ποσοστά και μνήμη.
Scientific Calculator
Evaluates a typed or tapped expression with the usual order of operations, including powers, roots, logarithms, trigonometry and factorials.
Keypad
How this calculator reads an expression
History
No calculations yet. Press = to add one.
Τεκμηρίωση
Επιστημονική αριθμομηχανή
Μια επιστημονική αριθμομηχανή υπολογίζει την τιμή μιας γραπτής μαθηματικής έκφρασης. Η συγκεκριμένη διαβάζει δυνάμεις, ρίζες, λογαρίθμους, τριγωνομετρικές συναρτήσεις, παραγοντικά και ποσοστά, εφαρμόζει την τυπική σειρά πράξεων και εμφανίζει μία απάντηση.
Τι κάνει ο υπολογιστής
Μια έκφραση πληκτρολογείται στο πλαίσιο Expression ή δημιουργείται με το πληκτρολόγιο. Η αριθμομηχανή την διαβάζει μόλις αλλάξει, επομένως δεν χρειάζεται πλήκτρο ίσον για να εμφανιστεί η απάντηση. Το πλήκτρο = προσθέτει αντίθετα τον υπολογισμό σε μια λίστα ιστορικού.
Δέχεται:
- τα ψηφία, την υποδιαστολή και αριθμούς σε εκθετική μορφή, όπως
1.5e-3· - τους τελεστές
+,-,*,/και^(δύναμη), καθώς και παρενθέσεις· - τις σταθερές
piκαιe· - τις συναρτήσεις
sin,cos,tan,asin,acos,atan,log,ln,sqrtκαιcbrt· - τα επιθετικά σύμβολα
!(παραγοντικό) και%(ποσοστό).
Τα σύμβολα του πληκτρολογίου μεταφράζονται στα απλά ισοδύναμά τους, επομένως τα ×, ÷, − και π σημαίνουν το ίδιο με τα *, /, - και pi.
Το log είναι ο λογάριθμος με βάση 10 και το ln είναι ο φυσικός λογάριθμος, με βάση e. Αυτή είναι η σήμανση που χρησιμοποιείται στις επιστημονικές αριθμομηχανές TI και Casio, καθώς και στην ενότητα 4,2 της Ψηφιακής βιβλιοθήκης μαθηματικών συναρτήσεων του NIST.
Η σειρά των πράξεων
Ο κανόνας που καθορίζει τι σημαίνει μια έκφραση είναι η σειρά των πράξεων. Αυτή η αριθμομηχανή χρησιμοποιεί την παρακάτω γραμματική. Κάθε γραμμή καλεί τη γραμμή κάτω από αυτήν, επομένως η ένθεση είναι ο πίνακας προτεραιότητας: η τελευταία γραμμή συνδέεται πιο ισχυρά και υπολογίζεται πρώτη.
1expression := term (('+' | '-') term)*
2term := unary (('*' | '/' | juxtaposition) unary)*
3unary := ('-' | '+') unary | power
4power := postfix ('^' unary)?
5postfix := primary ('!' | '%')*
6primary := number | constant | name '(' expression ')' | '(' expression ')'
7Σε μορφή λίστας, από την πρώτη πράξη που υπολογίζεται έως την τελευταία:
- οτιδήποτε βρίσκεται μέσα σε παρενθέσεις, καθώς και μια συνάρτηση που εφαρμόζεται σε παρενθέσεις·
- τα
!και%· - το
^· - ένα αρχικό πρόσημο
-ή+· - τα
*,/και δύο στοιχεία γραμμένα το ένα δίπλα στο άλλο· - τα
+και-.
Οι συμβάσεις που προκύπτουν συμφωνούν με το ISO 80000-2:2019 και το άρθρο «Order of operations» στη Wikipedia:
| Γραπτή μορφή | Διαβάζεται ως | Τιμή |
|---|---|---|
2^3^2 | 2^(3^2) | 512 |
-2^2 | -(2^2) | -4 |
2^-2 | 2^(-2) | 0,25 |
2^3! | 2^(3!) | 64 |
100+10% | 100 + (10/100) | 100,1 |
1/2pi | (1/2) * pi | 1,57079632679 |
6/2(1+2) | (6/2) * (1+2) | 9 |
Δύο αριθμοί ή ονόματα γραμμένα το ένα δίπλα στο άλλο πολλαπλασιάζονται, πράγμα που κάνει τα 2pi, 2(3+4) και 3sin(30) να λειτουργούν. Αυτός ο υπονοούμενος πολλαπλασιασμός έχει την ίδια προτεραιότητα με τα * και /, επομένως η παράθεση και η διαίρεση διαβάζονται από αριστερά προς τα δεξιά. Πολλές φορητές επιστημονικές αριθμομηχανές δίνουν στην παράθεση μεγαλύτερη προτεραιότητα από τη διαίρεση και διαβάζουν το 1/2pi ως 1/(2*pi), που δίνει διαφορετική απάντηση. Η Wikipedia περιγράφει αυτή τη διαφορά στο «Calculator input methods». Οι παρενθέσεις επιλύουν κάθε περίπτωση όπου η διαφορά έχει σημασία.
Το % διαιρεί με 100 όπου και αν βρίσκεται. Έτσι, το 20% είναι 0,2 και το 200*15% είναι 30. Δεν είναι το πλήκτρο «ποσοστό του τρέχοντος συνόλου» μιας ταμειακής μηχανής και δεν είναι τελεστής υπολοίπου.
Λυμένο παράδειγμα
Η έκφραση sin(30)+2^3*ln(4), στη λειτουργία Μοιρών, υπολογίζεται με την εξής σειρά:
- Το
sin(30)είναι 0,5, επειδή οι 30 μοίρες είναι το μισό μιας ορθής γωνίας και το ημίτονό τους είναι ένα δεύτερο. - Το
2^3είναι 8. Οι δυνάμεις υπολογίζονται πριν από τον πολλαπλασιασμό. - Το
ln(4)είναι 1,38629436112. - Το
8 * 1.38629436112είναι 11,090354889. - Το
0.5 + 11.090354889είναι 11,590354889.
Η αριθμομηχανή εμφανίζει 11,590354889.
Ένα δεύτερο παράδειγμα δείχνει τον κανόνα από αριστερά προς τα δεξιά. Στο 6/2(1+2) η παρένθεση υπολογίζεται πρώτη, δίνοντας 6/2*3. Η διαίρεση και ο υπονοούμενος πολλαπλασιασμός έχουν την ίδια προτεραιότητα, επομένως η διαίρεση εκτελείται πρώτη: το 6/2 είναι 3 και το 3*3 είναι 9.
Μοίρες και ακτίνια
Η ρύθμιση μονάδας γωνίας καθορίζει πώς τα sin, cos και tan διαβάζουν την είσοδό τους και ποια μονάδα επιστρέφουν τα asin, acos και atan. Στη λειτουργία Μοιρών, μια πλήρης περιστροφή είναι 360. Στη λειτουργία Ακτινίων, μια πλήρης περιστροφή είναι 2pi, περίπου 6,28318530718. Η ίδια έκφραση μπορεί να δώσει πολύ διαφορετικές απαντήσεις στις δύο λειτουργίες: το sin(30) είναι 0,5 στη λειτουργία Μοιρών και -0,988031624093 στη λειτουργία Ακτινίων.
Πώς αποθηκεύονται και εμφανίζονται οι αριθμοί
Κάθε τιμή είναι ένας δυαδικός αριθμός διπλής ακρίβειας binary64 του IEEE 754, ο τύπος αριθμού που περιγράφεται στην προδιαγραφή γλώσσας ECMAScript, ECMA-262, ενότητα 6,1.6,1. Ένας αριθμός double περιέχει περίπου 15 έως 17 δεκαδικά ψηφία. Η απάντηση στρογγυλοποιείται μία φορά, μόνο για την οθόνη, σε 12 σημαντικά ψηφία. Τιμές μικρότερες από 0,000001 ή ίσες με ή μεγαλύτερες από 1.000.000.000.000 εμφανίζονται σε εκθετική μορφή, έτσι το 0.0000001 διαβάζεται ως 1E-7.
Ο αποθηκευμένος αριθμός διατηρεί πλήρη ακρίβεια. Η μνήμη αποθηκεύει το ακριβές αποτέλεσμα, όχι τα 12 ψηφία της οθόνης, και το MR επαναφέρει το συντομότερο κείμενο που διαβάζεται ως ο ίδιος αριθμός. Μια αρνητική τιμή μνήμης επικολλάται μέσα σε παρενθέσεις, επομένως η ανάκλησή της μετά από ένα 2 διαβάζεται ως πολλαπλασιασμός και όχι ως αφαίρεση.
Η στρογγυλοποίηση δεν χρησιμοποιείται ποτέ για τη λήψη αποφάσεων. Ένα μικροσκοπικό υπόλοιπο από προηγούμενες πράξεις είναι πραγματικός αριθμός και αντιμετωπίζεται ως τέτοιος. Το 0.1*3-0.3 δεν είναι μηδέν σε δυαδική μορφή· είναι περίπου 5,55111512313E-17, επομένως το 5/(0.1*3-0.3) δίνει 9,00719925474E16 αντί για μήνυμα διαίρεσης με το μηδέν.
Για τον ίδιο λόγο, το sin(180) στη λειτουργία Μοιρών εμφανίζει 1,22464679915E-16 και όχι 0. Το σφάλμα είναι περίπου ένα μέρος στα δέκα χιλιάδες τρισεκατομμύρια και παραμένει τόσο μικρό. Η εφαπτομένη αποτελεί εξαίρεση και εξετάζεται παρακάτω.
Τι αρνείται να υπολογίσει ο υπολογιστής
Η αριθμομηχανή εμφανίζει μήνυμα αντί για απάντηση όταν:
- ένας παρονομαστής είναι ακριβώς μηδέν, συμπεριλαμβανομένου ενός γραμμένου αριθμού που είναι υπερβολικά μικρός για αριθμό double, όπως το
1e-400, το οποίο είναι ήδη μηδέν όταν διαβαστεί· - στη
sqrtδίνεται αρνητικός αριθμός· - στη
logή στηlnδίνεται αριθμός που δεν είναι μεγαλύτερος από το μηδέν· - στη
asinή στηacosδίνεται αριθμός εκτός του διαστήματος από -1 έως 1, που είναι το πεδίο ορισμού στην ενότητα 4,14 του NIST DLMF· - χρησιμοποιείται η
tanστις 90 μοίρες ή σε οποιοδήποτε περιττό πολλαπλάσιό τους, όπου δεν έχει τιμή· - ζητείται παραγοντικό για οτιδήποτε άλλο εκτός από ακέραιο από 0 έως 170·
- ένας αριθμός περιέχει δεύτερη υποδιαστολή, όπως στο
1.2.3· - η έκφραση είναι μεγαλύτερη από 512 χαρακτήρες.
Το όριο 170 είναι ιδιότητα του τύπου αριθμού και όχι προτίμηση: το παραγοντικό του 170 είναι περίπου 7,25741561531E306, το οποίο εξακολουθεί να χωρά σε αριθμό double, ενώ το παραγοντικό του 171 δεν χωρά. Το όριο των 512 χαρακτήρων ελέγχεται στον κώδικα, επειδή το μήκος της έκφρασης καθορίζει πόση εργασία εκτελεί η αριθμομηχανή.
Ο έλεγχος της εφαπτομένης στρογγυλοποιεί τη γωνία σε 9 δεκαδικά ψηφία πριν από τη δοκιμή. Έτσι επαναφέρει την απόκλιση από προηγούμενες πράξεις στην ακριβή ασύμπτωτη, με τίμημα ένα παράθυρο απόρριψης πλάτους περίπου 5e-10 μοιρών σε κάθε πλευρά. Το tan(89.9999999994) επιστρέφει 95.493.592.025, ενώ το tan(89.9999999995) απορρίπτεται. Η λειτουργία Ακτινίων δεν κάνει τέτοιον έλεγχο, επειδή μια πληκτρολογημένη τιμή ακτινίων κοντά στο μισό του pi είναι απλώς ένας ακόμη αριθμός χωρίς ειδική σημασία.
Συχνές ερωτήσεις
Τι κάνει εδώ το πλήκτρο %;
Διαιρεί με 100 όπου και αν εμφανίζεται. Το 100+10% είναι 100,1, επειδή σημαίνει 100 συν 0,1. Δεν υπολογίζει ποσοστό οποιουδήποτε προηγείται.
Το 2^3^2 είναι 64 ή 512;
512. Οι δυνάμεις ομαδοποιούνται από τα δεξιά, επομένως σημαίνει 2^(3^2), που είναι 2^9. Αυτό ακολουθεί το ISO 80000-2:2019.
Γιατί το 6/2(1+2) είναι 9 και όχι 1;
Ο υπονοούμενος πολλαπλασιασμός έχει την ίδια προτεραιότητα με τη διαίρεση και οι πράξεις ίδιας προτεραιότητας διαβάζονται από αριστερά προς τα δεξιά. Οι αριθμομηχανές που δίνουν στην παράθεση μεγαλύτερη προτεραιότητα απαντούν 1. Οι παρενθέσεις αίρουν την αμφιβολία.
Γιατί το sin(180) δεν εμφανίζει 0;
Επειδή οι 180 μοίρες μετατρέπονται πρώτα σε ακτίνια και το pi δεν μπορεί να γραφτεί ακριβώς σε δυαδική μορφή. Η απάντηση είναι περίπου 1.2e-16, δηλαδή η πραγματική τιμή του ημιτόνου του αριθμού που χρησιμοποίησε πράγματι η μηχανή.
Ποια είναι η διαφορά μεταξύ log και ln;
Το log έχει βάση 10, επομένως το log(1000) είναι 3. Το ln έχει βάση e, επομένως το ln(e) είναι 1. Οι ενδείξεις του πληκτρολογίου ακολουθούν την ίδια σύμβαση με τις επιστημονικές αριθμομηχανές TI και Casio.
Γιατί απορρίπτεται παραγοντικό πάνω από 170; Το παραγοντικό του 171 είναι μεγαλύτερο από οποιονδήποτε αριθμό μπορεί να αποθηκεύσει ένας αριθμός double, επομένως η απάντηση θα ήταν άπειρο και όχι αριθμός. Η αριθμομηχανή το δηλώνει αντί να εμφανίσει ένα αποτέλεσμα χωρίς νόημα.
Πηγές
- IEEE 754-2019, Πρότυπο IEEE για την αριθμητική κινητής υποδιαστολής.
- ECMA-262, Προδιαγραφή γλώσσας ECMAScript, ενότητα 6.1.6.1, «Ο τύπος Number».
- ISO 80000-2:2019, Μεγέθη και μονάδες, Μέρος 2: Μαθηματικά σημεία και σύμβολα.
- Ψηφιακή βιβλιοθήκη μαθηματικών συναρτήσεων του NIST, ενότητες 4,2 και 4,14.
- Wikipedia, «Order of operations».
- Wikipedia, «Calculator input methods».