Αποστολέας Θέμα: προτεραιότητα τελεστών  (Αναγνώστηκε 16622 φορές)

petran

  • Νέος
  • *
  • Μηνύματα: 4
προτεραιότητα τελεστών
« στις: 23 Οκτ 2009, 12:16:13 μμ »
Καλησπέρα.

Θα ήθελα να ρωτήσω.
Ποιά είναι η προτεραιότητα των τελεστών στην Γλώσσα ?
Υπάρχει κάποια σύμβαση για την ψευδογλωσσα ?

Ευχαριστώ.

ikariofil

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 114
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: προτεραιότητα τελεστών
« Απάντηση #1 στις: 23 Οκτ 2009, 01:04:45 μμ »
Κατά σειρά

1) Αριθμητικοί
        ^
  *, /, mod, div
       +,-

2) Συγκριτικοί
  =, >, < , >=, <=, <>


3) Λογικοί
  όχι, και ,η

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

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3163
  • Dracarys
    • Panagiotis Tsiotakis
Απ: προτεραιότητα τελεστών
« Απάντηση #2 στις: 23 Οκτ 2009, 05:16:03 μμ »
άρα σε μια έκφραση με τελεστές ίδιας ιεραρχίας οι πράξεις εκτελούνται από αριστερά προς τα δεξιά...

oneoxoritis

  • Οπαδός
  • **
  • Μηνύματα: 10
Απ: προτεραιότητα τελεστών
« Απάντηση #3 στις: 30 Οκτ 2009, 08:58:48 μμ »
Γειά σας και συγχαρητήρια για την καλη δουλειά που γίνεται στο "Στέκι". Θα ήθελα να επανέλθω στο θέμα της προτεραιότητας τελεστών και να ρωτήσω πιο είναι το αποτέλεσμα της πραξης 5 mod 2 * 10?
Είναι το 10 ή το το 5? Θα εκτελεστεί πρώτα το mod και μετά ο πολ/μός (*)?
Ευχαριστω εκ των προτέρων

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3163
  • Dracarys
    • Panagiotis Tsiotakis
Απ: προτεραιότητα τελεστών
« Απάντηση #4 στις: 30 Οκτ 2009, 09:12:43 μμ »
Καλώς ήρθες...

αριστερά προς τα δεξιά

5 mod 2 * 10 = 1 * 10= 10

δες και το παρακάτω συνημμένο

oneoxoritis

  • Οπαδός
  • **
  • Μηνύματα: 10
Απ: προτεραιότητα τελεστών
« Απάντηση #5 στις: 30 Οκτ 2009, 09:31:29 μμ »
Σε ευχαριστώ πολύ για την επιβεβαίωση. Απλά ήθελα να το ξεκαθαρίσω αυτό το θέμα, γιατί κάποιοι συνάδελφοι μας πιστεύουν ότι πρώτα γίνεται ο πολ/μός (*) και μετά το mod στο συγκεκριμένο παράδειγμα.

Καρκαμάνης Γεώργιος

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1085
Απ: προτεραιότητα τελεστών
« Απάντηση #6 στις: 30 Οκτ 2009, 11:41:59 μμ »

 κάποιοι συνάδελφοι ;

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3104
  • to Iterate is human to Recurse divine
Απ: προτεραιότητα τελεστών
« Απάντηση #7 στις: 31 Οκτ 2009, 10:17:17 πμ »
Μήπως τους το έδωσαν σαν

5         mod                              2*10

και όχι σαν  5 mod 2*10 ?

οπότε ναι μεν ισχύει η προτεραιότητα από αριστερά, αλλά τα πιο κοντινά υπολογίζονται πρώτα :D

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

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3163
  • Dracarys
    • Panagiotis Tsiotakis
Απ: προτεραιότητα τελεστών
« Απάντηση #8 στις: 31 Οκτ 2009, 10:19:26 πμ »
Ευρυπίδη, υπάρχει και η παραλλαγή:

5 mod 2 * 10   :D

nikosx

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 360
  • ___
Απ: προτεραιότητα τελεστών
« Απάντηση #9 στις: 31 Οκτ 2009, 07:43:48 μμ »
Υπάρχει και η περίπτωση οι συνάδελφοι να είναι της αραβικής σχολής
Νίκος Ξένος
nkxenos@yahoo.gr

karaberis

  • Βετεράνος
  • ****
  • Μηνύματα: 96
Απ: προτεραιότητα τελεστών
« Απάντηση #10 στις: 01 Νοέ 2009, 02:05:25 μμ »
Παρόλο που η αρχική ερώτηση αναφέρεται μάλλον στην ιεραρχία (σειρά εκτέλεσης) των αριθμητικών τελεστών, το θέμα διευρύνθηκε και αναφέρθηκε η σειρά όλων των κατηγοριών τελεστών και ίσως δημιουργηθεί κάποια παρανόηση.

Παράθεση
Κατά σειρά

1) Αριθμητικοί
        ^
  *, /, mod, div
       +,-

2) Συγκριτικοί
  =, >, < , >=, <=, <>


3) Λογικοί
  όχι, και ,η

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

Το βιβλίο του μαθητή αναφέρει (σελ.166) οτι προηγούνται οι αριθμητικοί, ακολουθούν οι συγκριτικοί και τελευταίοι εκτελούνται οι λογικοί. Δυστυχώς όμως δεν αναφέρει τίποτα (με κάθε επιφύλαξη) για τη σειρά υπολογισμού όταν έχουμε μόνο λογικούς τελεστές (χωρίς παρενθέσεις) σε μία ΣΥΝΘΕΤΗ λογική έκφραση.

Όμως σε μία σύνθετη λογική έκφραση (παράσταση) όπου εμφανίζονται λογικοί τελεστές, η σειρά υπολογισμού (εκτέλεσης) ΔΕΝ είναι πάντα από αριστερά προς τα δεξιά, αλλά με την εξής σειρά:

ΟΧΙ
ΚΑΙ
Η

εκτός αν επιβάλλεται διαφορετική σειρά με τη χρήση παρενθέσεων. Απο αριστερά προς τα δεξιά γίνονται οι υπολογισμοί μόνον όταν είναι ίδιοι οι τελεστές (  .... ΚΑΙ ...... ΚΑΙ ....... ΚΑΙ ......).

Το οτι έχει σημασία η σειρά εκτέλεσης των λογικών τελεστών προκύπτει από το τετράδιο του μαθητή, όπου στο αντίστοιχο κεφάλαιο γίνεται αναφορά στην ιεραρχία των λογικών τελεστών και δίνεται συμβουλή για τη χρήση παρεθένσεων (Κεφ.8ο, Παρ. 8.3, Σελ. 77), ενώ στη Δραστηριότητα ΔΤ1 (Σελ. 78) και στην 7η ερώτηση του τεστ αυτοαξιολόγησης ζητείται ο υπολογισμός της τιμής ΣΥΝΘΕΤΩΝ λογικών εκφράσεων με ή χωρίς τη χρήση παρενθέσεων, ακριβώς για να γίνει κατανοητή η σειρά εκτέλεσης (υπολογισμού) των λογικών πράξεων.

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

Φιλικά

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3163
  • Dracarys
    • Panagiotis Tsiotakis
Απ: προτεραιότητα τελεστών
« Απάντηση #11 στις: 01 Νοέ 2009, 02:15:50 μμ »
το όχι προηγείται των άλλων 2 τελεστών ΟΚ

γιατί το ΚΑΙ προηγείται του Η δεν κατάλαβα

κατά τη γνώμη μου για τα ΚΑΙ και Η ισχύει πάλι ο κανόνας του αριστερά προς τα δεξιά
αφού όπως αναφέρεις "Δυστυχώς όμως δεν αναφέρει τίποτα (με κάθε επιφύλαξη) για τη σειρά υπολογισμού όταν έχουμε μόνο λογικούς τελεστές (χωρίς παρενθέσεις) σε μία ΣΥΝΘΕΤΗ λογική έκφραση"

Σούλας Βασίλης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 305
    • Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Απ: προτεραιότητα τελεστών
« Απάντηση #12 στις: 01 Νοέ 2009, 02:19:14 μμ »
Προτεραιότητα τελεστών

Αριθμητικοί :   + , - , *  (πολλ/σμός), /  (διαίρεση), ^ (ύψωση σε δύναμη), DIV (ακέραια διαίρεση), MOD (ακέραιο υπόλοιπο). (Σειρά εκτέλεσης αριθμητικών πράξεων : 1ο το ^, και με ίδια προτεραιότητα τα  *, /, div, mod και από αριστερά προς τα δεξιά και τα +, - και φυσικά πρώτα οι παρενθέσεις)

Παράδειγματα

Χ<--4/2*2=4 (εδώ πρώτα η διαίρεση γιατί πιο αριστερά)
Ενώ
Χ<--2*2/4=1 (εδώ πρώτα ο πολλαπλασιασμός γιατί πιο αριστερά)

Χ<--50 div 22*11 mod 4=2 (από αριστερά προς τα δεξιά)
 
 
Λογικοί : ΚΑΙ, Η, ΟΧΙ . (Σειρά εκτέλεσης λογικών πράξεων : 1ο το όχι και με την ίδια προτεραιότητα τα και, η από αριστερά προς τα δεξιά και φυσικά πρώτα οι παρενθέσεις)
Σούλας Βασίλης
Ηλεκτρολόγος Μηχανικός & Μηχανικός Η/Υ Δ.Π.Θ.
Καθηγητής Πληροφορικής ΠΕ19
http://users.sch.gr/vasisoulas
http://eclass.sch.gr/modules/auth/opencourses.php?fc=%D4-52

karaberis

  • Βετεράνος
  • ****
  • Μηνύματα: 96
Απ: προτεραιότητα τελεστών
« Απάντηση #13 στις: 01 Νοέ 2009, 02:23:03 μμ »
Ευχαριστώ για τη γρήγορη απάντηση.

Όσο για τη σειρά των ΚΑΙ και Η μάλλον από κάποιο παράδειγμα θα το συμπαίρανα. Αυτή τη στιγμή δεν μπορώ όμως να το στηρίξω κάπου. Θα το ψάξω και θα δω αν μπορώ να απαντήσω...Ίσως να προκύπτει από τις απαντήσεις στις ασκήσεις του τετραδίου μαθητή που ανέφερα στο προηγούμενο μήνυμά μου. Θα το δω...

Φιλικά


Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2777
  • Πύργος Ηλείας
    • ΚΕΠΛΗΝΕΤ Ηλείας
Απ: προτεραιότητα τελεστών
« Απάντηση #14 στις: 01 Νοέ 2009, 02:25:46 μμ »
Όμως σε μία σύνθετη λογική έκφραση (παράσταση) όπου εμφανίζονται λογικοί τελεστές, η σειρά υπολογισμού (εκτέλεσης) ΔΕΝ είναι πάντα από αριστερά προς τα δεξιά, αλλά με την εξής σειρά:

ΟΧΙ
ΚΑΙ
Η

Αυτό μπορεί να ισχύει σε κάποιες (ή και όλες!) γλώσσες προγραμματισμού, αλλά γιατί να το υιοθετήσουμε αυθαίρετα στην ΑΕΠΠ αφού το βιβλίο δεν το αναφέρει πουθενά; Όπως λέει και ο Παναγιώτης προηγείται το ΟΧΙ (αφού είναι μοναδιαίος τελεστής - δηλαδή εφαρμόζεται σε έναν μόνο τελεσταίο - οπότε δεν θα μπορούσε να γίνεται αλλιώς), αλλά για τους άλλους δύο λέμε από αριστερά προς τα δεξιά (αν και ούτε αυτό το λέει το βιβλίο, αλλά αφού αυτό το λέει για τους αριθμητικούς τελεστές, γιατί να πάμε ανάποδα για τους λογικούς;  ;))

Και τελευταίο επιχείρημα: http://alkisg.mysch.gr/steki/index.php?topic=912.msg8645#msg8645