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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

Πληροφορική II. Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι. τύποι δεδομένων. Δρ. Γκόγκος Χρήστος

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

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

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

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

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

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

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

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

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

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

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

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

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Περιβαλλοντική Χημεία

ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ

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

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

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

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

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

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

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

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

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

Συστήματα Αυτομάτου Ελέγχου 1 Ενότητα # 5: Χρήση μετασχηματισμού Laplace για επίλυση ηλεκτρικών κυκλωμάτων Μέθοδοι εντάσεων βρόχων και τάσεων κόμβων

Υδραυλικά & Πνευματικά ΣΑΕ

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

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

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

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

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

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

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

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

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

Μέθοδοι Βελτιστοποίησης

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

Ηλεκτρονικοί Υπολογιστές

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

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

Εφαρμογή Υπολογιστικών Τεχνικών στην Γεωργία

ΗΛΕΚΤΡΟΤΕΧΝΙΑ Ενότητα 7:

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

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

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

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

Ηλεκτρονικοί Υπολογιστές

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

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

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

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

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

ΣΧΕΔΙΟ ΣΤΟΝ Η/Υ. Ενότητα 5: Εντολή Array. Παπαδόπουλος Χρήστος Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων

ΑΝΑΛΥΣΗ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΩΝ ΚΑΤΑΣΤΑΣΕΩΝ

Αρχιτεκτονική υπολογιστών

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

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

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

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

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

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

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

Ψηφιακή Τεχνολογία σε Ακαδημαϊκό Περιβάλλον

Transcript:

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης 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

Περιεχόμενα 4.1 Πίνακες 4.2 Συνδυάζοντας Βρόχους Επαναλήψεων και Πίνακες 6

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

4.1 Πίνακες 8

Πίνακες Ένας πίνακας είναι ένα ευρετήριο τιμών. Μπορείτε να φτιάξετε έναν πίνακα μεταβλητή int, double, string, κοκ για κάθε Προσοχή: Όλα τα στοιχεία ενός πίνακα πρέπει να είναι του ίδιου τύπου. 9

Πίνακες Αρίθμηση στοιχείων ενός πίνακα 10

Πίνακες Παράδειγμα: Πίνακας double[] 11

Πίνακες Ο δείκτης αρχίζει από το μηδέν και τελειώνει στο μηκος -1. Παράδειγμα: int[] values = new int[5]; values[0] = 12; // ΣΩΣΤΟ values[4] = 12; // ΣΩΣΤΟ values [5] = 12; // ΛΑΘΟΣ!! Συντακτικά είναι σωστό // αλλά εμφανίζεται σφάλμα κατά την βρίσκονται // εκτέλεση, καθώς τα στοιχεία // στις θέσεις από 0 έως 4. Φτιάξτε ένα πρόγραμμα με το σφάλμα αυτό και δοκιμάστε να το τρέξετε. 12

Πίνακες Ένας πίνακας εισάγεται καλώντας ARRAY_TYPE [ ]. Οι πίνακες είναι απλά ένας ακόμα τύπος δεδομένων. int [ ] values; // πίνακας int μεταβλητών int [ ] [ ] values; // int [ ] είναι ένας τύπος δεδομένων 13

Πίνακες Για να δημιουργήσουμε πίνακα συγκεκριμένου μεγέθους, χρησιμοποιούμε τον τελεστή new : int [ ] values = new int [5]; ή μία μεταβλητή για να καθορίσουμε το μέγεθος: int size = 12; int [ ] values = new int [size]; 14

Αρχικοποίηση Πίνακα Άγκιστρα μπορούν να χρησιμοποιηθούν για να αρχικοποιήσουμε έναν πίνακα. Μπορούν ωστόσο να χρησιμοποιηθούν ΜΟΝΟ όταν ορίζουμε τη μεταβλητή/ πίνακα. int [ ] values = { 12, 24, -23, 47 } ; 15

Ώρα για Quiz! Υπάρχει λάθος σε αυτόν το τμήμα κώδικα; int[ ] values = {1, 2.5, 3, 3.5, 4}; 16

Πρόσβαση στα Στοιχεία Πινάκων Για να έχουμε πρόσβαση στα στοιχεία του πίνακα, χρησιμοποιούμε τον τελεστή [ ]: values [index] Παράδειγμα: int [ ] values = { 12, 24, -23, 47 }; values [3] = 18; // { 12, 24, -23, 18 } int x = values[1] + 3; // { 12, 24, -23, 18 } // x = 27 17

Η Εντολή length Κάθε πίνακας έχει μια ενσωματωμένη εντολή length η οποία και περιέχει το μήκος του πίνακα. int [ ] values = new int [12]; int size = values.length; // η απάντηση είναι 12 int [ ] values2 = { 1, 2, 3, 4, 5} int size2 = values2.length; // 5 18

Πoλυδιάστατοι πίνακες Ένας πολυδιάστατος πίνακας ακολουθεί τους κανόνες δήλωσης πινάκων, αλλά έχει περισσότερες από μία διαστάσεις. int [ ] [ ] values = new int [6][5]; // πίνακας 2 διαστάσεων Εδώ η πρώτη αγκύλη είναι για τις γραμμές και η δεύτερη για τις στήλες. 19

Πίνακες Συμβολοσειρών public static void main (String [ ] arguments) { System.out.println (arguments.length); System.out.println (arguments [0]); System.out.println (arguments [1]); } 20

4.2 Συνδυάζοντας Βρόχους Επαναλήψεων και Πίνακες 21

Διατρέχοντας έναν Πίνακα Με τη Βοήθεια Ενός βρόχου Παράδειγμα 1: int [ ] values = new int[5]; for (int i=0; i<values.length; i++) { values[i] = i; int y = values[i] * values[i]; System.out.println(y); } Ερώτηση: Εξηγήστε τι κάνει το παραπάνω πρόγραμμα 22

Διατρέχοντας έναν Πίνακα Με τη Βοήθεια Ενός βρόχου Παράδειγμα 2: int [ ] values = new int [5]; int i = 0; while (i < values.length) { values[i] = i; int y = values[i] * values[i]; System.out.println(y); i++; } 23

Ένα παράδειγμα με πίνακα 2 διαστάσεων Ο ακόλουθος κώδικας εκτυπώνει όλα τα στοιχεία ενός πίνακα 2 διαστάσεων. int rows =3; int columns = 2; int [ ] [ ] values = { { 1, 2 }, { 3, 4 }, { 5, 6 } }; for (int i=0; i<rows; i++) { } for (int j=0; j<columns; j++) { } System.out.println(values[i][j]+ ); 24

Σε αυτή την ενότητα μιλήσαμε για: 4.1 Πίνακες 4.2 Συνδυάζοντας Βρόχους Επαναλήψεων και Πίνακες 26

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