Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Αλγοριθμική και Προγραμματισμός => Διερμηνευτής της ΓΛΩΣΣΑΣ => Μήνυμα ξεκίνησε από: nikolasmer στις 11 Δεκ 2019, 04:02:51 ΜΜ

Τίτλος: Τελεστής ^ βγάζει πραγματικό αποτέλεσμα ;
Αποστολή από: nikolasmer στις 11 Δεκ 2019, 04:02:51 ΜΜ
Ανάμεσα σε ακέραιες τιμές , ο τελεστής της δυναμης (^) γιατί δε βγάζει ακέραιο αποτέλεσμα;
Τίτλος: Απ: Τελεστής ^ βγάζει πραγματικό αποτέλεσμα ;
Αποστολή από: alkisg στις 11 Δεκ 2019, 04:08:23 ΜΜ
https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Τελεστές/ (https://alkisg.mysch.gr/%CE%93%CE%9B%CE%A9%CE%A3%CE%A3%CE%91/%CE%A4%CE%B5%CE%BB%CE%B5%CF%83%CF%84%CE%AD%CF%82/)
Τίτλος: Απ: Τελεστής ^ βγάζει πραγματικό αποτέλεσμα ;
Αποστολή από: nikolasmer στις 11 Δεκ 2019, 04:15:19 ΜΜ
MM;(//)
Τίτλος: Απ: Τελεστής ^ βγάζει πραγματικό αποτέλεσμα ;
Αποστολή από: ikariofil στις 11 Δεκ 2019, 04:22:57 ΜΜ
Το Υ πρέπει να δηλωθεί σαν πραγματική μεταβλητή. Αν Χ < 0 ....
Τίτλος: Απ: Τελεστής ^ βγάζει πραγματικό αποτέλεσμα ;
Αποστολή από: nikolasmer στις 11 Δεκ 2019, 05:00:18 ΜΜ
Παράθεση από: ikariofil στις 11 Δεκ 2019, 04:22:57 ΜΜ
Το Υ πρέπει να δηλωθεί σαν πραγματική μεταβλητή. Αν Χ < 0 ....
Ωωω!!! Ευχαριστώ .
Τίτλος: Απ: Τελεστής ^ βγάζει πραγματικό αποτέλεσμα ;
Αποστολή από: nikolasmer στις 11 Δεκ 2019, 05:34:26 ΜΜ
Παράθεση από: alkisg στις 11 Δεκ 2019, 04:08:23 ΜΜ
https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Τελεστές/ (https://alkisg.mysch.gr/%CE%93%CE%9B%CE%A9%CE%A3%CE%A3%CE%91/%CE%A4%CE%B5%CE%BB%CE%B5%CF%83%CF%84%CE%AD%CF%82/)
Δε θυμάμαι αλλά κάπου είχα δει να δουλεύει αυτό. Μάλλον σε pascal. Επίσης η pow(a,b) στη. C και c++  δουλεύει κανονικά. Αυτό σημαίνει ότι είναι υπερφορτωμενη;
Τίτλος: Απ: Τελεστής ^ βγάζει πραγματικό αποτέλεσμα ;
Αποστολή από: alkisg στις 11 Δεκ 2019, 06:15:31 ΜΜ
Εννοούσα αυτές τις γραμμές:

Παράθεση από: https://alkisg.mysch.gr/ΓΛΩΣΣΑ/Τελεστές/
^ (δύναμη): ισχύει για τους ακέραιους και τους πραγματικούς. Το αποτέλεσμα είναι συνήθως πραγματικός αριθμός, εκτός αν ο εκθέτης είναι θετικός ακέραιος σταθερής αποτίμησης. Για παράδειγμα το 2^2 είναι ακέραιος, ενώ το 2^-2 πραγματικός (= 0.25). Έτσι στην γενική περίπτωση το 2^ι εκλαμβάνεται σαν πραγματικός αριθμός.

Δηλαδή η δύναμη δύο ακεραίων είναι πραγματικός αριθμός, όχι ακέραιος. Για παράδειγμα, το 2^-2 κάνει 0.25.
Αντίθετα, η δύναμη δύο φυσικών αριθμών είναι φυσικός αριθμός, αλλά δεν έχουμε τύπο "φυσικός" στη ΓΛΩΣΣΑ, γι' αυτό και η παραπάνω διαφοροποίηση.
Τίτλος: Απ: Τελεστής ^ βγάζει πραγματικό αποτέλεσμα ;
Αποστολή από: nikolasmer στις 11 Δεκ 2019, 06:21:02 ΜΜ
Ευχαριστώ πολύ.
Επίσης επειδή δεν γνωρίζω πως γίνεται, είναι δύσκολο να καθορίσουμε ανάλογα με τους τελεσταίους άλλοτε να δουλεύει και άλλοτε όχι; Δηλαδή αν καταλάβει ότι έχει τελεσταίους ακέραιους να βγάζει ακέραιο και αν όχι να βγάζει πραγματικό;
Σε επίπεδο διερμηνευτή μιλάω πάντα!
Τίτλος: Απ: Τελεστής ^ βγάζει πραγματικό αποτέλεσμα ;
Αποστολή από: alkisg στις 11 Δεκ 2019, 08:39:48 ΜΜ
Εννοείς αν έχει τελεστέους φυσικούς αριθμούς; Όχι δεν υπάρχει ΦΥΣΙΚΟΣ τύπος δεδομένων στη ΓΛΩΣΣΑ.
Αν έχει τελεστέους ακεραίους, τότε το αποτέλεσμα είναι πραγματικός.
Τέλος, αν θες μετατρέψεις το αποτέλεσμα σε ακέραιο, μπορείς να βάλεις Α_Μ(α^β).

Είναι αντίστοιχο με το 4/2, το οποίο είναι πραγματικός 2.0 και όχι ακέραιος 2.