ΚΕΦΑΛΑΙΟ 3. Εκφράσεις, τελεστές, σχόλια. 3.1 Εισαγωγή

Σχετικά έγγραφα
ΚΕΦΑΛΑΙΟ 2. Τιμές, τύποι, μεταβλητές, λέξεις-κλειδιά, εντολές. 2.1 Εισαγωγή

Γ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ PYTHON

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

ΚΕΦΑΛΑΙΟ 5. Eπανάληψη με την εντολή while. 5.1 Εισαγωγή

Βασικές έννοιες προγραμματισμού

Πρόβλημα 29 / σελίδα 28

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Πρόσθεση, αφαίρεση και πολλαπλασιασμός φυσικών αριθμών

Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Εκχώρηση Τιμών

Εισαγωγή - Βασικές έννοιες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

επιµέλεια Θοδωρής Πιερράτος

Κεφ 2. Βασικές Έννοιες Αλγορίθμων


Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

Προγραμματισμός I (Θ)

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Προγραμματιστικό Περιβάλλον

Οι φυσικοί αριθμοί. Παράδειγμα

ΕΠΑΝΑΛΗΨΗ ΧΩΡΙΣ ΠΡΟΚΑΘΟΡΙΣΜΕΝΑ ΒΗΜΑΤΑ,ΜΕΤΡΗΤΕΣ,ΜΕΓΙΣΤΟΣ,ΜΕΓΙΣΤΟ ΟΝΟΜΑ Χαμηλόμισθος

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

ΦΥΣ-151. Ηλεκτρονικοί Υπολογιστές Ι (FORTRAN 77) (Άνοιξη 2004)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΟΜΑΘΕΙΑ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Εισαγωγή στην γλώσσα προγραμματισμού C

ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

Εισαγωγή στον Προγραμματισμό

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

ΠΡΑΞΕΙΣ ΜΕ ΕΚΑ ΙΚΟΥΣ

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Μορφοποίηση εξόδου. Σημειώσεις

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ

Δυαδικό Σύστημα Αρίθμησης

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

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Σύντομες εισαγωγικές σημειώσεις για την. Matlab

Ας δούμε λίγο την θεωρία με την οποία ασχοληθήκαμε μέχρι τώρα.

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΑΞΕΙΣ. Παράδειγμα #1. Πράξεις μεταξύ ακεραίων αριθμών

Κεφάλαιο 4: Μεταβλητές και εκφράσεις

Ανάπτυξη και Σχεδίαση Λογισμικού

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

7.1 Αλφάβητο. 7.2 Τύποι δεδομένων. 7.3 Σταθερές. 7.4 Μεταβλητές. 7.5 Αριθμητικοί τελεστές. 7.6 Συναρτήσεις. 7.7 Αριθμητικές εκφράσεις. 7.

αριθμούς Βασικές ασκήσεις Βασική θεωρία iii) φυσικοί; ii) ακέραιοι; iii) ρητοί;

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

Επιμέλεια: Σπυρίδων Τζινιέρης-ΘΕΩΡΙΑ ΚΛΑΣΜΑΤΩΝ ΓΙΑ ΤΗΝ Α ΓΥΜΝΑΣΙΟΥ ΘΕΩΡΙΑ ΚΛΑΣΜΑΤΩΝ Α ΓΥΜΝΑΣΙΟΥ

Πράξεις με πραγματικούς αριθμούς (επαναλήψεις - συμπληρώσεις )

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

Visual Basic Βασικές Έννοιες

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

ΓΙΑΝΝΗΣ ΖΑΧΑΡΟΠΟΥΛΟΣ. Γρήγορα τεστ. Μαθηματικά ΣT Δημοτικού ΕΚΔΟΣΕΙΣ ΠΑΠΑΔΟΠΟΥΛΟΣ

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Αρβανιτίδης Θεόδωρος, - Μαθηματικά Ε

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Ενότητα 2. Ζωγραφίζοντας με το ΒΥΟΒ

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης;

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Ψευδοκώδικας. November 7, 2011

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

ΗΥ101: Εισαγωγή στην Πληροφορική

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Δομημένος Προγραμματισμός

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Βασικά στοιχεία γλώσσας προγραμματισμού. Σπάχος Κυριάκος Καθηγητής Πληροφορικής ΠΕ19

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Διάρκεια: 3 ώρες Επίπεδο Δυσκολίας: 5/5 Ενότητες (2 6)

Εισαγωγή στον Προγραμματισμό

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

ΑΛΓΕΒΡΑ Α ΓΥΜΝΑΣΙΟΥ ΘΕΤΙΚΟΙ ΚΑΙ ΑΡΝΗΤΙΚΟΙ ΑΡΙΘΜΟΙ ΕΠΙΜΕΛΕΙΑ : ΧΑΛΑΤΖΙΑΝ ΠΑΥΛΟΣ

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Λέγονται οι αριθμοί που βρίσκονται καθημερινά στη φύση, γύρω μας. π.χ. 1 μήλο, 2 παιδιά, 5 αυτοκίνητα, 100 πρόβατα, δέντρα κ.λ.π.

ΛΥΣΕΙΣ ΤΩΝ ΑΣΚΗΣΕΩΝ ΕΠΑΝΑΛΗΨΗΣ ΓΙΑ ΤΙΣ ΓΙΟΡΤΕΣ (ΑΡΙΘΜΗΤΙΚΗ)

Θέματα Προγραμματισμού Η/Υ

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

7. Βασικά στοιχεία προγραµµατισµού.

Τμήμα Τεχνολόγων Γεωπόνων - Φλώρινα

Transcript:

ΚΕΦΑΛΑΙΟ 3 Εκφράσεις, τελεστές, σχόλια Σύνοψη Στο κεφάλαιο αυτό εισάγουμε τον τρόπο τέλεσης πράξεων μεταξύ μεταβλητών και σταθερών, εκφράσεις μεταξύ αυτών καθώς και το σχολιασμό της λογικής ενός προγράμματος. Προαπαιτούμενη γνώση Κεφάλαια 1, 2 του παρόντος συγγράμματος. 3.1 Εισαγωγή Σε αυτό το κεφάλαιο θα ασχοληθούμε με την τέλεση πράξεων μεταξύ μεταβλητών και σταθερών, τη σύνθεσή τους σε εκφράσεις, και το σχολιασμό της λογικής ενός προγράμματος. Μια έκφραση (expression) είναι ένας συνδυασμός τιμών, μεταβλητών και τελεστών. Οι τελεστές (operators) είναι λειτουργίες που επιτελούν πράξεις και μπορούν να αναπαρασταθούν με σύμβολα όπως το + ή με λέξεις- κλειδιά, όπως το and. Οι τιμές και οι μεταβλητές πάνω στις οποίες εφαρμόζονται οι τελεστές, ονομάζονται τελεστέοι (operands). 27 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python

Εάν εισάγετε μια έκφραση στο διερμηνευτή, αυτός την υπολογίζει και δείχνει το αποτέλεσμα. Εικόνα 3.1 Υπολογισμός εκφράσεων Δε χρειάζεται μια έκφραση να περιέχει ταυτόχρονα και τιμές και μεταβλητές και τελεστές. Μια τιμή, όπως και μια μεταβλητή, από μόνες τους αποτελούν εκφράσεις. Στην Εικόνα 3.2 αυτό που πρέπει να προσέξουμε είναι ότι στη μεταβλητή x θα πρέπει να έχει ανατεθεί νωρίτερα κάποια τιμή. Εικόνα 3.2 Τιμές και μεταβλητές ως εκφράσεις Στην Εικόνα 3.3 παρατηρούμε τη διαφορά μεταξύ του υπολογισμού μιας έκφρασης και της εκτύπωσής της. Αρχικοποιούμε, λοιπόν, μια μεταβλητή που τυχαίνει να είναι συμβολοσειρά (ομάδα χαρακτήρων), και μετά ζητούμε από το διερμηνευτή της Python την τιμή της, οπότε τυπώνει τη συμβολοσειρά με τα εισαγωγικά. Είναι, επομένως, διαφορετικό να τυπώνει κανείς στην έξοδο κάτι, από το να ρωτάει τον interpreter της Python, τον IDLE, για την τιμή αυτής της μεταβλητής. Η τιμή μιας μεταβλητής που είναι τύπου συμβολοσειράς πρέπει να έχει και τα εισαγωγικά. Είναι ακόμη σημαντικό να τονίσουμε ότι δεν παράγουν οι εντολές έξοδο, εκτός από την εντολή εκτύπωσης. 28 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python

Εικόνα 3.3 Υπολογισμός έκφρασης και η εκτύπωσή της Σε ένα σενάριο (script), μια έκφραση είναι από μόνη της μια νόμιμη εντολή, αλλά δεν παράγει έξοδο (Εικόνα 3.4). Για να παραχθεί έξοδος χρησιμοποιούμε την εντολή print. Εικόνα 3.4 Έκφραση ως μέρος ενός script 3.2 Τελεστές Μια ομάδα σημαντικών τελεστών παρουσιάζονται στην Εικόνα 3.5. Το * σημαίνει πολλαπλασιασμός, τα ** είναι ύψωση σε δύναμη (δείτε π.χ. το 5**2 ή 5 2 στην Εικόνα 3.6). Στη διαίρεση, όταν ο διαιρετέος και ο διαιρέτης είναι ακέραιοι, το αποτέλεσμα είναι επίσης ακέραιος, στρογγυλοποιημένος προς τον πλησιέστερο (προς τα κάτω) ακέραιο. Γι αυτό το 59/60 βγάζει 0, επειδή το ακέραιο μέρος του 59/60 είναι 0. Αυτό δε βοηθάει στην περίπτωση που θα θέλαμε να έχουμε κάποια δεκαδικά ψηφία. Θα μπορούσαμε να τους μετατρέψουμε σε πραγματικούς, αλλά μια άλλη 29 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python

εναλλακτική λύση την οποία θα μπορούσαμε να επιλέξουμε είναι να πολλαπλασιάσουμε επί 100 ή επί τόσες δυνάμεις του 10, όσα είναι και τα δεκαδικά ψηφία που θέλουμε να βγάλουμε. + Πρόσθεση αριθμών ή αλληλουχία συμβολοσειρών. - Αφαίρεση ενός αριθμού από έναν άλλο. * Γινόμενο δύο αριθμών ή επανάληψη μιας συμβολοσειράς τόσε φορές. ** Ύψωση αριθμού σε δύναμη. / Διαίρεση δύο αριθμών. // Διαίρεση δύο αριθμών στρογγυλοποιημένη προς τα κάτω (floor division). % Υπόλοιπο διαίρεσης δύο αριθμών. Εικόνα 3.5 Τελεστές 30 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python

Στην Εικόνα 3.6 παρουσιάζονται παραδείγματα πράξεων με αριθμούς. Εικόνα 3.6 Παραδείγματα πράξεων με αριθμούς. Όταν μια μεταβλητή εμφανίζεται σε έκφραση, αντικαθίσταται από την τιμή της πριν υπολογιστεί η έκφραση (Εικόνα 3.7). Εικόνα 3.7 Υπολογισμός έκφρασης με μεταβλητή Κάποια παραδείγματα εκφράσεων είναι τα εξής: 12+24*hour-6 hour*60+minute minute/60 6**3 (6+9)*(31-7) Ένα άλλο σημαντικό θέμα έχει να κάνει με την προτεραιότητα με την οποία εφαρμόζονται οι τελεστές. Όταν έχουμε μια έκφραση, με τι σειρά υπολογίζει η Python την έκφραση; Αρχικά υπολογίζει τα εντός παρενθέσεων ευρισκόμενα, ξεκινώντας από τις εσωτερικότερες παρενθέσεις και κλείνοντας προς τις εξωτερικότερες παρεν- 31 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python

θέσεις. Στο πρώτο παράδειγμα της Εικόνας 3.8, πρώτα θα υπολογίσει το 3-1 και μετά θα πολλαπλασιάσει επί 2. Στη συνέχεια, πρώτα θα υπολογίσει το 2+1 και το 5-2, και μετά θα γίνει η ύψωση στη δύναμη. Οι παρενθέσεις είναι ένας τρόπος να επηρεάσουμε τη σειρά με την οποία υπολογίζονται οι εκφράσεις. Αν στο παράδειγμα minute*100/60, θέλουμε πρώτα να κάνει τη διαίρεση και μετά τον πολλαπλασιασμό, πρέπει να πούμε minute*(100/60), ώστε να επιτευχθεί αυτό. Μετά τις παρενθέσεις, αυτό που έχει αμέσως προτεραιότητα είναι η ύψωση σε δύναμη. Γι αυτό και στην Εικόνα 3.8, η Python στην έκφραση 2+1**5-2 υπολογίζει πρώτα την τιμή της πράξης 1**5 και μετά τις υπόλοιπες. Οι κανόνες είναι χρήσιμοι και για να καταλαβαίνουμε τι γίνεται. Όπου δεν είμαστε σίγουροι ή δε θυμόμαστε τι ισχύει, είναι καλό να βάζουμε παρενθέσεις για να μην μπερδευόμαστε. Εικόνα 3.8 Προτεραιότητα τελεστών Το ακρωνύμιο PEMDAS (Purplemath, 2015) μας βοηθάει να θυμόμαστε τους κανόνες προτεραιότητας. Οι παρενθέσεις (Parenthesis) έχουν τη μεγαλύτερη προτεραιότητα και χρησιμοποιούνται για να αναγκάσουν την Python να υπολογίσει μια έκφραση σύμφωνα με τη σειρά που θέλουμε. Εκφράσεις σε παρενθέσεις υπολογίζονται πρώτες. Παρενθέσεις χρησιμοποιούνται, επίσης, για να κάνουν τις εκφράσεις πιο αναγνώσιμες, χωρίς να αλλάζουν το αποτέλεσμα. Η ύψωση σε δύναμη (Exponentiation) όπως προείπαμε, έχει την επόμενη μεγαλύτερη προτεραιότητα (Εικόνα 3.9). 32 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python

Εικόνα 3.9 Ύψωση σε δύναμη Πολλαπλασιασμός (Multiplication) και διαίρεση (Division) έχουν την ίδια προτεραιότητα, που είναι μεγαλύτερη από την πρόσθεση (Addition) και την αφαίρεση (Subtraction) οι οποίες έχουν, επίσης, την ίδια προτεραιότητα (Εικόνα 3.10). Τελεστές με την ίδια προτεραιότητα υπολογίζονται από τα αριστερά προς τα δεξιά. Εικόνα 3.10 Προτεραιότητα τελεστών Είδαμε, προηγουμένως, ότι μπορούμε να κάνουμε πράξεις με ακέραιους αριθμούς. Μπορούμε, επίσης, να κάνουμε και κάποιες πράξεις στις ομάδες χαρακτήρων, ωστόσο όχι όλες τις πράξεις. Για παράδειγμα, τα παρακάτω δεν είναι σωστά (υποθέτοντας ότι η μεταβλητή message είναι τύπου string): message-1 Hello /2 Hello / H message* Hello 15 +2 Ωστόσο, ο τελεστής + έχει νόημα για συμβολοσειρές. Δημιουργεί μια αλληλουχία (concatenation) συμβολοσειρών, δηλαδή, συνδέει τους δύο «προσθετέους» φτιάχνοντας νέα συμβολοσειρά, όπου η αρχή της δεύτερης βρίσκεται μετά το τέλος της πρώτης (Εικόνα 3.11). Εικόνα 3.11 Χρήση τελεστή + για συμβολοσειρές 33 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python

Επιπλέον ο τελεστής * έχει νόημα στις συμβολοσειρές, εκτελεί επανάληψη (Εικόνα 3.12). Εικόνα 3.12 Χρήση τελεστή * για συμβολοσειρές Ο ένας από τους πολλαπλασιαστέους πρέπει να είναι συμβολοσειρά και ο άλλος ακέραιος. Υπάρχουν ομοιότητες και διαφορές με τις αντίστοιχες πράξεις της αριθμητικής. Όπως το 3*4 είναι ισοδύναμο με το 4+4+4, έτσι και το 3* Hello είναι ισοδύναμο με το Hello + Hello + Hello. Στην Python υπάρχει η δυνατότητα σύνθεσης μεταβλητών, εκφράσεων και εντολών (Εικόνα 3.13). Μπορούμε να τυπώνουμε όχι μόνο τιμές, όχι μόνο μεταβλητές, αλλά και εκφράσεις. Στην Εικόνα 3.13 βλέπετε μια έκφραση αριθμητική, ενώ από κάτω έχουμε έκφραση με ομάδες χαρακτήρων. Εικόνα 3.13 Σύνθεση μεταβλητών, εκφράσεων και εντολών 3.3 Σχόλια Οι γλώσσες προγραμματισμού συμπυκνώνουν νοήματα, γι αυτό και είναι δύσκολο να τις διαβάσει κανείς, να καταλάβει τι θέλει να επιτελέσει ένα κομμάτι κώδικα και 34 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python

γιατί. Γι αυτό και χρειάζεται να προσθέτουμε σχόλια στα προγράμματα που γράφουμε. Τα σχόλια στην Python αρχίζουν πάντα με το χαρακτήρα # (Εικόνα 3.14). Οτιδήποτε ακολουθεί μετά το # αγνοείται από την Python μέχρι το τέλος της γραμμής. Εικόνα 3.14 Σχόλια στην Python Τέλος, ας δούμε πώς αναγνωρίζει ο interpreter πού τελειώνει το σχόλιο και πού αρχίζει η επόμενη εκτελέσιμη γραμμή. Η απάντηση είναι ένας ειδικός χαρακτήρας ο οποίος εισέρχεται, όταν διαβάζει αυτά που του δίνουμε από την κονσόλα (console ή command line) ή στο αρχείο που γράφουμε. Υπάρχει πάντα ένας ειδικός χαρακτήρας που χαρακτηρίζει το τέλος γραμμής και ότι μετά από αυτό αλλάζει η γραμμή. Άρα, όταν ο διερμηνευτής δει αυτόν τον ειδικό χαρακτήρα (ο οποίος δεν τυπώνεται), καταλαβαίνει ότι τέλειωσε το σχόλιό μας, βλέποντας το τέλος γραμμής. Καθώς, λοιπόν, διαβάζει σειρά-σειρά το πρόγραμμα, βλέπει τον ειδικό χαρακτήρα ο οποίος δηλώνει το τέλος της γραμμής. 3.4 Επίλογος 35 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python

Σε αυτό το κεφάλαιο κάναμε μια εισαγωγή στις έννοιες των εκφράσεων, των τελεστών και της προτεραιότητάς τους, και των σχολίων του προγραμματιστή μέσα σε ένα πρόγραμμα Python. Στο επόμενο κεφάλαιο θα μελετήσουμε την έννοια της συνάρτησης και της εκτέλεσης υπό συνθήκη. Βιβλιογραφία/Αναφορές Purplemath. (2015). The Order of Operations: PEMDAS. Retrieved from http://www. purplemath.com/modules/orderops.htm Κριτήρια αξιολόγησης Κριτήριο αξιολόγησης 1 (Βαθμός δυσκολίας: ) Υπολογίστε το αποτέλεσμα της εξής έκφρασης: print 3 + 2 + 1-5 + 4 % 2-1 / 8 + 4 Κριτήριο αξιολόγησης 2 (Βαθμός δυσκολίας: ) Ποια θα είναι η τιμή της μεταβλητής c στο εξής παράδειγμα; a=50 b=15 36 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python

c=0 c=a&b print c 37 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python

Κριτήριο αξιολόγησης 3 (Βαθμός δυσκολίας: ) Η εκτέλεση του συγκεκριμένου κώδικα, τι θα έχει ως αποτέλεσμα; Κριτήριο αξιολόγησης 4 (Βαθμός δυσκολίας: ) Μπορείτε να σκεφτείτε μια ιδιότητα που έχει η πρόσθεση (addition) αριθμών, ενώ η αλληλουχία (concatenation) συμβολοσειρών δεν την έχει; 38 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python