Αντικειμενοστραφής Προγραμματισμός

Σχετικά έγγραφα
Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

Προγραμματισμός Διαδικτύου

Προγραμματισμός Διαδικτύου

Προγραμματισμός Διαδικτύου

Οντοκεντρικός Προγραμματισμός

Ειδικά Θέματα Προγραμματισμού

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

Πληροφορική. Εργαστηριακή Ενότητα 5 η : Μαθηματικοί Τύποι. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

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

Προγραμματισμός Διαδικτύου

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

Προγραμματισμός Διαδικτύου

Αντικειμενοστραφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 4 : Πράξεις με bits. Δρ. Γκόγκος Χρήστος

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

Προγραμματισμός Διαδικτύου

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Υπολογιστές Ι. Άδειες Χρήσης. Τύποι δεδομένων. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Θερμοδυναμική - Εργαστήριο

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 9: Ειδικά θέματα γλώσσας C/C++. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

Λογιστικές Εφαρμογές Εργαστήριο

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός Διαδικτύου

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

2.1. Εντολές Σχόλια Τύποι Δεδομένων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-Ι. Ενότητα 1: Εισαγωγή στην Αρχιτεκτονική -Ι

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Προγραμματισμός Η/Υ. Ενότητα 5: Εντολές Επανάληψης

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Προγραμματισμός και Εφαρμογές Υπολογιστών

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Υπερφόρτωση τελεστών. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Υπολογιστικά Συστήματα

Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 3: Constructors και destructors

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

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

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες.

Βιομηχανικοί Ελεγκτές

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Δομές ελέγχου ροής προγράμματος

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δείκτες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 5: Κληρονομικότητα. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός και Εφαρμογές Υπολογιστών

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Δομημένος Προγραμματισμός (ΤΛ1006)

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

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

Ειδικά Θέματα Προγραμματισμού

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

Προγραμματισμός Διαδικτύου

Προγραμματισμός και Εφαρμογές Υπολογιστών

Τεχνικές Προγραμματισμού και Χρήση Λογισμικού Η/Υ στις Κατασκευές

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Προγραμματισμός και Εφαρμογές Υπολογιστών

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Ενότητα 3: Αποκατάσταση Εικόνας.

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

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 6: Φιλικές συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Transcript:

Αντικειμενοστραφής Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 3: Έλεγχος ροής και επαναλήψεις. Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε Κάντε κλικ για να ξεκινήσετε

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Ευχαριστίες Στην ανάπτυξη του υλικού βοήθησαν οι φοιτητές Λάζαρος Τουμανίδης, Λίλιαν Γούσιου και ο βοηθός εργαστηρίου Κόγιας Δημήτριος. 4

Βιβλιογραφία Harvey Deitel,Paul Deitel, «Java Προγραμματισμός, 8η έκδοση», Γκιούρδας, 2010. Γιώργος Λιακέας, «Εισαγωγή στη Java», Κλειδάριθμος, 2009. Χρήστος Κυτάγιας, Κώστας Δ. Κυτάγιας, Γιώργος Πρεζεράκος, Δημήτρης Κυτάγιας, «Αντικειμενοστραφής Προγραμματισμός με Java», Σύγχρονη Εκδοτική, 2013. Wanda Dann, Stephen Cooper, and Randy Pausch, «Learning to program with Alice» 3rd edition, Pearson Education, 2012. Michael Kölling, «Introduction to Programming with Greenfoot». «Object-Oriented Programming in Java with Games and Simulations», Pearson Education, August 2009. Οι σημειώσεις είναι βασισμένες και σε υλικό του καθηγητή του ΤΕΙ Πειραιά Γ. Πρεζεράκου. 5

Περιεχόμενα 3.1 Εντολές Ελέγχου Ροής 3.2 Βρόχοι Επαναλήψεων 6

Προσδοκώμενα Αποτελέσματα Στην ενότητα αυτή θα μάθετε για: Τις εντολές ελέγχου ροής ενός προγράμματος (if, if..else), Τις εντολές δημιουργίας βρόγχων επαναλήψεων, Την εντολή break για πρώιμη έξοδο από τέτοιον βρόγχο. 7

3.1 Εντολές Ελέγχου Ροής (Conditionals) 8

Συνθήκη if if (ΣΥΝΘΗΚΗ) { ΚΑΤΑΣΤΑΣΕΙΣ 9

Παράδειγμα public static void test(int x){ if (x > 5){ System.out.println(x + " einai > 5"); public static void main(string[] arguments){ test(6); test(5); test(4); 10

Παραστάσεις αναθέσεις - εκχωρήσεις Μία παράσταση χρησιμοποιείται για να αναπαραστήσει ένα αποτέλεσμα το οποίο προκύπτει από τον υπολογισμό της εφαρμογής τελεστών και συναρτήσεων σε μεταβλητές ή/και σταθερές Όπως και στη C, υπάρχει προτεραιότητα στην εφαρμογή τελεστών η οποία είναι η παρακάτω: Πρώτα υπολογίζονται οι παρενθέσεις (πρώτα οι εσωτερικές) από αριστερά προς τα δεξιά. Στη συνέχεια εκτελούνται οι πολλαπλασιασμοί και οι διαιρέσεις από αριστερά προς τα δεξιά. Στη συνέχεια εκτελούνται οι προσθέσεις και οι αφαιρέσεις από αριστερά προς τα δεξιά. Στο τέλος εκχωρείται η τιμή η οποία βρίσκεται δεξιά από το ίσον (=) στη μεταβλητή η οποία βρίσκεται αριστερά του. 11

Τελεστές Τελεστής Τύπος τελεστή Περιγραφή > Μεγαλύτερο >= Μεγαλύτερο ή ίσο == Τελεστές Ίσο < ισότητας/ανισότητας Μικρότερο <= Μικρότερο ή ίσο!= Διαφορετικό = Τελεστής αντιστοίχησης Ανάθεση/καταχώρηση + Πρόσθεση - Αφαίρεση * Αριθμητικοί τελεστές Πολλαπλασιασμός / Διαίρεση % Υπόλοιπο += Πρόσθεση και αντικατάσταση -= Αφαίρεση και αντικατάσταση *= Τελεστές αντικατάστασης Πολλαπλασιασμός και αντικατάσταση /= Διαίρεση και αντικατάσταση %= Υπόλοιπο και αντικατάσταση Τελεστής Τύπος τελεστή Περιγραφή && Λογικό ΚΑΙ Λογικοί τελεστές Λογικό Ή! Άρνηση ++ Τελεστές Αύξηση κατά 1 -- αυξομείωσης Μείωση κατά 1 & Ανάθεση/καταχώρηση Πρόσθεση ^ Τελεστές Αφαίρεση πράξεων με ~ bits Αντιστροφή >> Ολίσθηση δεξιά << Ολίσθηση αριστερά 12

Συνθήκη else if (ΣΥΝΘΗΚΗ) { ΚΑΤΑΣΤΑΣΕΙΣ else { ΚΑΤΑΣΤΑΣΕΙΣ 13

Παράδειγμα public static void test(int x){ if (x > 5){ System.out.println(x + " einai > 5"); else { System.out.println(x + den einai > 5 ); public static void main(string[] arguments){ test(6); test(5); test(4); 14

ELSE IF if (ΣΥΝΘΗΚΗ) { ΚΑΤΑΣΤΑΣΕΙΣ else if (ΣΥΝΘΗΚΗ) { ΚΑΤΑΣΤΑΣΕΙΣ else if (ΣΥΝΘΗΚΗ) { ΚΑΤΑΣΤΑΣΕΙΣ else { ΚΑΤΑΣΤΑΣΕΙΣ 15

Παράδειγμα public static void test(int x){ if (x > 5){ System.out.println(x + " einai > 5"); else if (x == 5) { System.out.println(x + isoutai me 5 ); else { System.out.println(x + einai < 5 ); public static void main(string[] arguments){ test(6); test(5); test(4); 16

Μετατροπή τύπου δεδομένων με μέθοδο Ακέραιος σε συμβολοσειρά: String five = 5; // ΛΑΘΟΣ! String five = Integer.toString(5); String five = + 5; // five = 5 Συμβολοσειρά σε ακέραιο: int foo = 18 // ΛΑΘΟΣ! int foo = Integer.parseInt ( 18 ); 17

Τελεστές Σύγκρισης Συμβουλή: ΜΗΝ χρησιμοποιείτε το == στους πραγματικούς! double a = Math.cos (Math.PI / 2); double b = 0.0; a = 6.123233995736766E-17 a == b επιστρέφει ΛΑΝΘΑΣΜΕΝΗ τιμή! 18

3.2 Βρόχοι Επαναλήψεων 19

Βρόχος Επανάληψης 20

Βρόχος επανάληψης static void main (String[] arguments) { System.out.println( Rule #1 ); System.out.println( Rule #2 ); System.out.println( Rule #3 ); Αν θέλουμε να το επαναλάβουμε για 200 κανόνες? 21

Βρόχος επανάληψης Οι τελεστές επανάληψης επιτρέπουν την επανάληψη μέσω ενός block του κώδικα. Υπάρχουν αρκετοί τελεστές επανάληψης στη Java (for, while, κ.ά). 22

O Τελεστής while while (συνθήκη) { εντολές 23

O Τελεστής while int i= 0; while(i < 3) { System.out.println( Rule # + i); i = i+1; Υπολογίστε προσεκτικά. Σιγουρευτείτε ότι ο βρόχος της επανάληψης έχει την ευκαιρία να τερματίσει. Αλλιώς το πρόγραμμα θα πέσει σε ατέρμονο βρόχο επανάληψης (Infinite loop). 24

Ο Τελεστής for for ( αρχικοποίηση; συνθήκη; ενημέρωση ) { εντολές 25

Ο Τελεστής for for (int i = 0; i < 3; i = i + 1 ) { System.out.println ( Rule # + i ) ; Σημείωση: Το i = i + 1 μπορεί να αντικατασταθεί από το i++. Γενικά x++ σημαίνει αύξηση της τιμής της μεταβλητής κατά ένα. 26

Kαταστάσεις Διακλάδωσης Το break τερματίζει έναν for ή while βρόχο. for ( int i = 0 ; i < 100 ; i++) { if (i==50) break; System.out.println( Rule # + i ) ; 27

Kαταστάσεις Διακλάδωσης Το break τερματίζει ένα for ή while βρόχο. for ( int i = 0 ; i < 100 ; i++) { if (i==50) break; System.out.println( Rule # + i ) ; 28

Ενσωματωμένοι βρόχοι for ( int i = 0 ; i < 3 ; i++ ) { for ( int j = 2 ; j < 4 ; j++ ) { System.out.println (i + + j ) ; Πεδίο εμβέλειας της μεταβλητής που ορίζεται στην αρχικοποίηση: το αντίστοιχο for μπλοκ μέσα στο οποίο ορίστηκαν. 29

Σε αυτή την ενότητα μιλήσαμε για: 3.1 Εντολές Ελέγχου Ροής 3.2 Βρόχοι Επαναλήψεων 30

Αντικειμενοστραφής Προγραμματισμός ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Ενότητα 3: Έλεγχος ροής και επαναλήψεις. Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε