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

Γενικό Λύκειο => Αλγοριθμική και Προγραμματισμός => Διερμηνευτής της ΓΛΩΣΣΑΣ => Μήνυμα ξεκίνησε από: nikolasmer στις 22 Απρ 2026, 10:21:39 ΠΜ

Τίτλος: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: nikolasmer στις 22 Απρ 2026, 10:21:39 ΠΜ
Η παράσταση  παράδειγμα 10^100 βγάζει Ακέραιο αποτέλεσμα .
Όμως η παράσταση 10^(100-χ) για παράδειγμα βγάζει πραγματικού τύπου, με το χ ακέραιος
Γιατί; Έχω χάσει κάτι;
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: evry στις 22 Απρ 2026, 10:40:49 ΠΜ
Τι θα γίνει αν x=101;
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: nikolasmer στις 22 Απρ 2026, 10:47:08 ΠΜ
Παράθεση από: evry στις 22 Απρ 2026, 10:40:49 ΠΜΤι θα γίνει αν x=101;
Περίμενε. 
Αρχικά....
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: nikolasmer στις 22 Απρ 2026, 10:47:27 ΠΜ
Έπειτα...
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: nikolasmer στις 22 Απρ 2026, 10:48:09 ΠΜ
και τελικά πότε σταμάτησε ο διερμηνευτής να υποστηρίζει εντολη΄εξόδου με κλήση συνάρτησης;
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: nikolasmer στις 22 Απρ 2026, 10:55:40 ΠΜ
Παράθεση από: evry στις 22 Απρ 2026, 10:40:49 ΠΜΤι θα γίνει αν x=101;
Αρχικά είχα χρησιμοποιήσει α_μ και δε με δούλευε. ξανα έγραψα κώδικα και τώρα δουλεύει. 

Κάποιο λάθος θα εκανα. Τί να πω.
Επίσης ...αν έκανα έλεγχο εγκυρότητας στη μεταβλητή Χ ώστε να μην παίρνει τιμές πάνω από 100 , μεταγλωτίζεται;
Στον παραπάνω κώδικα με την κληση συνάρτηση το θ παίρνει τιμές μέχρι 4 άρα δεν υπάρχει πιθανότητα αρνητικής δύναμης. Το λάθος που βγάζει είναι συντακτικό. Το γεγονός οτι δεν καταλαβαίνει η συνάρτηση το ευρος τιμών της Ι να υποθέσω οτι οφείλεται στις παραμέτρους περιορισμένης εμβέλειας;
Και αν εγώ έβαζα έλεγχο εγκυρότητας  για το Θ μέσα στη συνάρτηση θα έφευγε το λάθος;
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: alkisg στις 22 Απρ 2026, 12:15:30 ΜΜ
Ο έλεγχος εγκυρότητας είναι runtime.
Ο (σημασιολογικός) έλεγχος συμβατότητας τύπων δεδομένων είναι compile time.

Δεν μπορείς με έλεγχο εγκυρότητας να παρακάμψεις θέματα μεταγλώττισης.

Αν η ΓΛΩΣΣΑ είχε τύπο δεδομένων "ΘΕΤΙΚΟΣ: n", τότε το ακέραιος^n θα ήταν κι αυτό ακέραιος.
Τώρα που έχει μόνο "ΑΚΕΡΑΙΟΣ: n", δεν υπάρχει τρόπος το ακέραιος^n να είναι ακέραιος, αφού το n μπορεί να είναι αρνητικός. θα χρειαστείς και την συνάρτηση Α_Μ.

Για την "ΓΡΑΨΕ" στο εσωτερικό συναρτήσεων, αν θες να ενεργοποιήσεις αυτήν την δυνατότητα που είναι εκτός ύλης, πήγαινε στο μενού Εργαλεία → Επιλογές → Ασάφειες.
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: nikolasmer στις 22 Απρ 2026, 12:23:53 ΜΜ
Παράθεση από: alkisg στις 22 Απρ 2026, 12:15:30 ΜΜΓια την "ΓΡΑΨΕ" στο εσωτερικό συναρτήσεων, αν θες να ενεργοποιήσεις αυτήν την δυνατότητα που είναι εκτός ύλης, πήγαινε στο μενού Εργαλεία → Επιλογές → Ασάφειες.
Στο παραπάνω πρόγραμμα εννούσα το ΓΡΑΨΕ μέσα στο πρόγραμμα 
Γραψε Συναρτηση_ταδε(τάδε)
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: nikolasmer στις 22 Απρ 2026, 12:24:32 ΜΜ
Παράθεση από: alkisg στις 22 Απρ 2026, 12:15:30 ΜΜΟ έλεγχος εγκυρότητας είναι runtime.
Ο (σημασιολογικός) έλεγχος συμβατότητας τύπων δεδομένων είναι compile time.

Δεν μπορείς με έλεγχο εγκυρότητας να παρακάμψεις θέματα μεταγλώττισης.

Αν η ΓΛΩΣΣΑ είχε τύπο δεδομένων "ΘΕΤΙΚΟΣ: n", τότε το ακέραιος^n θα ήταν κι αυτό ακέραιος.
Τώρα που έχει μόνο "ΑΚΕΡΑΙΟΣ: n", δεν υπάρχει τρόπος το ακέραιος^n να είναι ακέραιος, αφού το n μπορεί να είναι αρνητικός. θα χρειαστείς και την συνάρτηση Α_Μ.
Ευχαριστώ πολύ. 
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: alkisg στις 22 Απρ 2026, 12:27:24 ΜΜ
Παράθεση από: nikolasmer στις 22 Απρ 2026, 12:23:53 ΜΜΣτο παραπάνω πρόγραμμα εννούσα το ΓΡΑΨΕ μέσα στο πρόγραμμα
Γραψε Συναρτηση_ταδε(τάδε)

Αυτό επιτρέπεται, ποιον κώδικα δοκίμασες και σου έβγαλε πρόβλημα;
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: nikolasmer στις 22 Απρ 2026, 12:31:41 ΜΜ
(https://alkisg.mysch.gr/steki/index.php?action=dlattach;attach=7547;image)
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: nikolasmer στις 22 Απρ 2026, 12:35:06 ΜΜ
Βασικά το ξανα μεταγλώττισα και δουλεύει. :o Κάποιο λάθος θα έκανα πριν. 
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: alkisg στις 22 Απρ 2026, 12:37:11 ΜΜ
Εμένα πάντως μου βγάζει το συνημμένο, που είναι το αναμενόμενο.
Μήπως κάποιο τυπογραφικό λάθος;
Αν σου ξαναβγάλει θέμα, κάνε copy/paste τον κώδικα, όχι screenshot...

Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: nikolasmer στις 22 Απρ 2026, 12:39:16 ΜΜ
Παράθεση από: alkisg στις 22 Απρ 2026, 12:37:11 ΜΜΕμένα πάντως μου βγάζει αυτό, που είναι το αναμενόμενο:
Η Α_Μ είναι προτιμότερο να μπεί στη δύναμη ή σε όλο τον διαιρέτη; Μαθηματικά μιλώντας ή δεν παίζει ρόλο;
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: alkisg στις 22 Απρ 2026, 12:40:58 ΜΜ
Εγώ θα το έγραφα στο ακριβές σημείο που θέλω να μετατρέψω έναν πραγματικό σε ακέραιο, δηλαδή:

Κώδικας [Επιλογή]
ΨΗΦΙΟ <- Ν DIV Α_Μ(10^(4 - Θ)) MOD 10
Τίτλος: Απ: Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;
Αποστολή από: nikolasmer στις 22 Απρ 2026, 12:41:54 ΜΜ
Παράθεση από: alkisg στις 22 Απρ 2026, 12:40:58 ΜΜΕγώ θα το έγραφα στο ακριβές σημείο που θέλω να μετατρέψω έναν πραγματικό σε ακέραιο, δηλαδή:

Κώδικας [Επιλογή]
ΨΗΦΙΟ <- Ν DIV Α_Μ(10^(4 - Θ)) MOD 10

και πάλι ευχαριστώ!