Τελεστές (operators) – Εκφράσεις (expressions)

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Υποθέτοντας ότι ο τελεστής ^ δεν είναι διαθέσιμος στην Γλώσσα Προγραμματισμού, να γραφτεί αλγόριθμος που να υπολογίζει την παράσταση xν, όπου xR, νZ.
Advertisements

Τύποι δεδομένων και τελεστές,
Προγραμματισμός Ι Προτάσεις ελέγχου ροής Ο πιο συνηθισμένος τρόπος εκτέλεσης είναι ο ακολουθιακός: δύο ή περισσότερες προτάσεις βρίσκονται διατεταγμένες.
Ένα απλό πρόγραμμα σε C /* ********************************************* * This program prints out the sentence “This is a test.” * *********************************************
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Πίνακες-Αλφαριθμητικά
ΜΑΘ 3122 (106) Γλώσσα προγραμματισμού
Γλώσσα Προγραμματισμού
Τύποι πραγματικών αριθμών
Εντολες Επιλογης (Selection)
Εισαγωγή στο MATLAB.
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων, Σημασιολογικές Ενέργειες.
ΗΥ-150 Προγραμματισμός Εντολές Ελέγχου Ροής.
Τελεστές ανάθεσης (assignment)
ΕΛΕΓΧΟΣ ΡΟΗΣ ΜΑΘΗΜΑ 4. ΑΚΟΛΟΥΘΙΑΚΗ ΕΚΤΕΛΕΣΗ ΠΡΟΤΑΣΕΩΝ ΠΡΟΤΑΣΗ Α ΠΡΟΤΑΣΗ Β ΠΡΟΤΑΣΗ Γ ………………. ΠΡΟΤΑΣΗ n ΠΡΟΤΑΣΗ Α ΠΡΟΤΑΣΗ Β ΠΡΟΤΑΣΗ Γ ………………. ΠΡΟΤΑΣΗ n.
ΤΕΛΕΣΤΕΣ - ΕΚΦΡΑΣΕΙΣ ΜΑΘΗΜΑ 4.
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
ΜΕΤΑΒΛΗΤΕΣ - ΤΥΠΟΙ ΜΑΘΗΜΑ 3.
ΤΕΛΕΣΤΕΣ II ΜΑΘΗΜΑ 5.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Υποθετικός τελεστής Ο υποθετικός τελεστής (?:) αποτελείται από δύο σύμβολα. Ανήκει στην κατηγορία των τελεστών που αποτελούνται από συνδυασμό συμβόλων.
1 Ολυμπιάδα Πληροφορικής Μάθημα 2. 2 Στόχοι μαθήματος Αριθμητικοί– Λογικοί Τελεστές Η εντολή IF.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
ΣΥΝΑΡΤΗΣΕΙΣ.
Σχετικά με κλασματικές παραστάσεις
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
Eντολες Επαναληψης - Βροχοι (repetition and loops)
ΑΠΟ ΚΛΑΣΜΑ ΣΕ ΜΕΙΚΤΟ ΚΑΙ ΑΠΟ ΜΕΙΚΤΟ ΣΕ ΚΛΑΣΜΑ!!!
Ενότητα Α.4. Δομημένος Προγραμματισμός
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Δουλεύει για όλους τους αριθμούς! Η δεύτερη ΓΡΑΨΕ δεν θα εκτελεστεί ποτέ!
Eντολες Επαναληψης - Βροχοι (repetition and loops)
Δηλαδή οι σημαντικοί δεν ασχολούνται με μικροπράγματα.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό.
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Data Types, Variables, and Arithmetic.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών Κ. Χαλάτσης, Εισαγωγή στην Επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών 1 Παράσταση Πληροφοριών.
ΜΑΘ 3122/106 – Γλώσσα Προγραμματισμού Ξενοφών Ζαμπούλης ΜΑΘ-3122/106 Γλώσσα Προγραμματισμού Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Υπερφόρτωση Τελεστών (Συνέχεια) Αντικειμενοστραφής Προγραμματισμός.
9-1 ΜΑΘΗΜΑ 9 ο Δυαδικά Δένδρα, Διάσχιση Δυαδικών Δένδρων Υλικό από τις σημειώσεις Ν. Παπασπύρου, 2006.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι 4-1 Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Αναδρομικές συναρτήσεις Ισοζυγισμός Παρενθέσεων.
ΗΜΥ 100: Εισαγωγή στην Τεχνολογία Διάλεξη 16 Εισαγωγή στα Ψηφιακά Συστήματα: Μέρος B TΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ.
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Βασικές έννοιες προγραμματισμού Κεφάλαιο 7 ο. Βασικές έννοιες προγραμματισμού Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις.
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ Γεωργαλλίδης Δημήτρης 1 Ο Λύκειο Ρόδου.
Δένδρα & Ανίχνευση Πρώτη ανίχνευση σε βάθος. Δένδρα & Ανίχνευση Πρώτη ανίχνευση σε πλάτος –Level 0: 1 –Level 1: 2, 10, 11 –Level 2: 3, 9, 12, 14 –Level.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Τύποι Μεταβλητών.
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Τεχνολογία και Προγραμματισμός Υπολογιστών
Τεχνολογία και Προγραμματισμός Υπολογιστών
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
Τελεστές και ή όχι Για την εκτέλεση αριθμητικών πράξεων
Εντολές και δομές αλγορίθμου
Εισαγωγή στον Προγραμματισμό με Python, ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Εισαγωγή στον Προγραμματισμό με Python Εβδομάδα 1: Βασικά στοιχεία.
Τύποι δεδομένων και τελεστές,
ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ
Μεταγράφημα παρουσίασης:

Τελεστές (operators) – Εκφράσεις (expressions) Σύμβολα ή λέξεις που αναπαριστούν συγκεκριμένες διεργασίες, οι οποίες εκτελούνται πάνω σε ένα ή περισσότερα δεδομένα. Τα δεδομένα καλούνται τελεστέοι (operands) και μπορούν να είναι μεταβλητές, σταθερές ή ακόμη και κλήσεις συναρτήσεων. Οι τελεστές χρησιμοποιούνται για το σχηματισμό εκφράσεων. Μία έκφραση, εν γένει, αποτελείται από έναν ή περισσότερους τελεστέους και προαιρετικά από έναν ή περισσότερους τελεστές. Κάθε έκφραση έχει μία τιμή, η οποία υπολογίζεται με ορισμένους κανόνες.

Σύμβολα συνηθισμένων τελεστών

Συμβολισμοί στο σχηματισμό εκφράσεων Ένας δυαδικός (binary) τελεστής μπορεί να τοποθετηθεί: Μεταξύ των δεδομένων στα οποία ενεργεί, όπως στην έκφραση x+y, οπότε έχουμε τη σημειογραφία ένθεσης ή ένθετου τελεστή (infix notation). Πριν από τους τελεστέους, όπως στην έκφραση +x y, οπότε έχουμε τη σημειογραφία πρόθεσης ή προπορευόμενου τελεστή (prefix notation). Μετά από τους τελεστέους, όπως στην έκφραση x y+, οπότε έχουμε τη σημειογραφία επίθεσης ή παρελκόμενου τελεστή (postfix notation).

Προσοχή: Καλύτερη πρακτική: να μη χρησιμοποιούνται τελεστές σε μεικτούς τύπους: out_int = my1_int + my2_int; // καλό out_float = my_double / my_int; // κακό !!ΚΙΝΔΥΝΟΣ!!: Όταν γίνεται διαίρεση ακεραίων το αποτέλεσμα είναι το πηλίκο, δηλαδή 5 / 2 = 2 κι όχι 2.5 Για να ληφθεί ως αποτέλεσμα αριθμός κινητής υποδιαστολής, τουλάχιστον ένας από τους τελεστέους πρέπει να είναι αριθμός κινητής υποδιαστολής: 5.0 / 2 υπολογίζεται ως 2.5

στη συνέχεια η έκφραση υπολογίζεται και γίνεται ένας όρος: Οι εκφράσεις είναι συχνά φωλιασμένες (nested): (((n+5)<=a) && q) H έκφραση αυτή Υπολογίζεται και γίνεται ένας όρος: (((n+5)<=a) && q) στη συνέχεια η έκφραση υπολογίζεται και γίνεται ένας όρος:

Προτεραιότητα (precedence) και προσεταιριστικότητα (associativity) Πώς θα υπολογισθεί η έκφραση 17 * 8 - 2; Είναι 17*(8-2) ή (17*8)-2 ; Οι ανωτέρω εκφράσεις οδηγούν σε διαφορετικά αποτελέσματα. Κατά συνέπεια απαιτούνται κανόνες. Η σειρά εφαρμογής των τελεστών ονομάζεται εφαρμοστική σειρά (applicative order).

Προτεραιότητα και προσεταιριστικότητα τελεστών στη C

Προτεραιότητα και προσεταιριστικότητα Παραδείγματα: X =17 - 2 * 8 Aπάντηση: X=17-(2*8) , X=1 Y = 17 - 2 - 8 Aπάντηση: Y = (17-2)-8, Y=7 Z = 10 + 9 * ((8 + 7) % 6) + 5 * 4 % 3 *2 + 1 (;) Μπερδευτήκατε; Τότε χρησιμοποιείστε παρενθέσεις στον κώδικά σας.

Τελεστές αύξησης και μείωσης Τελεστής αύξησης (increment operator): ++ Αντί για num = num + 1; γράφουμε num++; Τελεστής μείωσης (decrement operator): -- Αντί για num = num - 1; Γράφουμε num--; Μήπως γίνεται πλέον φανερό από πού έλαβε η C++ το όνομά της;

Παράδειγμα: Στην ακολουθία εκφράσεων που παρουσιάζεται ακολούθως παρουσιάζεται ενδεικτικά η λειτουργία των προπορευόμενων και παρελκόμενων τελεστών μοναδιαίας αύξησης και μείωσης.

Παράδειγμα: Να προσδιορισθεί η τιμή των x και z μετά την εκτέλεση κάθε μίας από τις παρακάτω προτάσεις, θεωρώντας ότι, πριν την εκτέλεση της κάθε πρότασης, οι τιμές των x και y είναι το 10 και 20 αντίστοιχα. α) z = ++x + y; β) z = --x + y; γ) z = x++ + y; δ) z = x-- + y; Λύση: Στην περίπτωση του προπορευόμενου τελεστή, το σύστημα πρώτα εκτελεί την αύξηση ή μείωση και μετά χρησιμοποιεί τη νέα τιμή της μεταβλητής στον υπολογισμό της τιμής της έκφρασεις (προτάσεις α και β). Αντίθετα, στην περίπτωση του παρελκόμενου τελεστή το σύστημα πρώτα χρησιμοποιεί την τιμή της μεταβλητής για τον υπολογισμό της τιμής της έκφρασης και μετά εκτελεί την αύξηση ή μείωση της τιμής της μεταβλητής (προτάσεις γ και δ).

Αποτελέσματα: