Υπολογισμός Δύναμης δίνει πραγματικό αποτέλεσμα;

Ξεκίνησε από nikolasmer, 22 Απρ 2026, 10:21:39 ΠΜ

« προηγούμενο - επόμενο »

nikolasmer

Η παράσταση  παράδειγμα 10^100 βγάζει Ακέραιο αποτέλεσμα .
Όμως η παράσταση 10^(100-χ) για παράδειγμα βγάζει πραγματικού τύπου, με το χ ακέραιος
Γιατί; Έχω χάσει κάτι;
Μερεντίτης Νικόλαος
Πληροφορικός

evry

What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

nikolasmer

Μερεντίτης Νικόλαος
Πληροφορικός

nikolasmer

Μερεντίτης Νικόλαος
Πληροφορικός

nikolasmer

και τελικά πότε σταμάτησε ο διερμηνευτής να υποστηρίζει εντολη΄εξόδου με κλήση συνάρτησης;
Μερεντίτης Νικόλαος
Πληροφορικός

nikolasmer

Παράθεση από: evry στις 22 Απρ 2026, 10:40:49 ΠΜΤι θα γίνει αν x=101;
Αρχικά είχα χρησιμοποιήσει α_μ και δε με δούλευε. ξανα έγραψα κώδικα και τώρα δουλεύει. 

Κάποιο λάθος θα εκανα. Τί να πω.
Επίσης ...αν έκανα έλεγχο εγκυρότητας στη μεταβλητή Χ ώστε να μην παίρνει τιμές πάνω από 100 , μεταγλωτίζεται;
Στον παραπάνω κώδικα με την κληση συνάρτηση το θ παίρνει τιμές μέχρι 4 άρα δεν υπάρχει πιθανότητα αρνητικής δύναμης. Το λάθος που βγάζει είναι συντακτικό. Το γεγονός οτι δεν καταλαβαίνει η συνάρτηση το ευρος τιμών της Ι να υποθέσω οτι οφείλεται στις παραμέτρους περιορισμένης εμβέλειας;
Και αν εγώ έβαζα έλεγχο εγκυρότητας  για το Θ μέσα στη συνάρτηση θα έφευγε το λάθος;
Μερεντίτης Νικόλαος
Πληροφορικός

alkisg

Ο έλεγχος εγκυρότητας είναι runtime.
Ο (σημασιολογικός) έλεγχος συμβατότητας τύπων δεδομένων είναι compile time.

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

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

Για την "ΓΡΑΨΕ" στο εσωτερικό συναρτήσεων, αν θες να ενεργοποιήσεις αυτήν την δυνατότητα που είναι εκτός ύλης, πήγαινε στο μενού Εργαλεία → Επιλογές → Ασάφειες.

nikolasmer

Παράθεση από: alkisg στις 22 Απρ 2026, 12:15:30 ΜΜΓια την "ΓΡΑΨΕ" στο εσωτερικό συναρτήσεων, αν θες να ενεργοποιήσεις αυτήν την δυνατότητα που είναι εκτός ύλης, πήγαινε στο μενού Εργαλεία → Επιλογές → Ασάφειες.
Στο παραπάνω πρόγραμμα εννούσα το ΓΡΑΨΕ μέσα στο πρόγραμμα 
Γραψε Συναρτηση_ταδε(τάδε)
Μερεντίτης Νικόλαος
Πληροφορικός

nikolasmer

Παράθεση από: alkisg στις 22 Απρ 2026, 12:15:30 ΜΜΟ έλεγχος εγκυρότητας είναι runtime.
Ο (σημασιολογικός) έλεγχος συμβατότητας τύπων δεδομένων είναι compile time.

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

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

alkisg

Παράθεση από: nikolasmer στις 22 Απρ 2026, 12:23:53 ΜΜΣτο παραπάνω πρόγραμμα εννούσα το ΓΡΑΨΕ μέσα στο πρόγραμμα
Γραψε Συναρτηση_ταδε(τάδε)

Αυτό επιτρέπεται, ποιον κώδικα δοκίμασες και σου έβγαλε πρόβλημα;

nikolasmer

Μερεντίτης Νικόλαος
Πληροφορικός

nikolasmer

Βασικά το ξανα μεταγλώττισα και δουλεύει. :o Κάποιο λάθος θα έκανα πριν. 
Μερεντίτης Νικόλαος
Πληροφορικός

alkisg

Εμένα πάντως μου βγάζει το συνημμένο, που είναι το αναμενόμενο.
Μήπως κάποιο τυπογραφικό λάθος;
Αν σου ξαναβγάλει θέμα, κάνε copy/paste τον κώδικα, όχι screenshot...


nikolasmer

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

alkisg

Εγώ θα το έγραφα στο ακριβές σημείο που θέλω να μετατρέψω έναν πραγματικό σε ακέραιο, δηλαδή:

ΨΗΦΙΟ <- Ν DIV Α_Μ(10^(4 - Θ)) MOD 10