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

Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Κάντε κλικ για να ξεκινήσετε

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

Ενότητα 4: Πίνακες, Συνδυασμός

Βρόχων Επαναλήψεων και Πινάκων.

Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ

Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

Page 2: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Άδειες Χρήσης

• Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

• Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

2

Page 3: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Χρηματοδότηση

• Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

• Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού.

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

3

Page 4: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Ευχαριστίες

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

4

Page 5: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Βιβλιογραφία

• 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

Page 6: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Περιεχόμενα

6

4.1 Πίνακες

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

Page 7: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Προσδοκώμενα Αποτελέσματα

7

Στην ενότητα αυτή θα μάθετε για:

Τον τρόπο δημιουργίας και τα διάφορα είδη πινάκων,

Πολυδιάστατους Πίνακες, Παραδείγματα για να διατρέξετε έναν πίνακα

αποκτώντας πρόσβαση στα στοιχεία του.

Page 8: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

8

4.1 Πίνακες

Page 9: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Πίνακες

• Ένας πίνακας είναι ένα ευρετήριο τιμών.

• Μπορείτε να φτιάξετε έναν πίνακα για κάθε μεταβλητή int, double, string, κοκ…

• Προσοχή: Όλα τα στοιχεία ενός πίνακα πρέπει να είναι του ίδιου τύπου.

9

Page 10: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Πίνακες

10

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

Page 11: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Πίνακες

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

11

Page 12: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Πίνακες

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

// εκτέλεση, καθώς τα στοιχεία βρίσκονται // στις θέσεις από 0 έως 4.

• Φτιάξτε ένα πρόγραμμα με το σφάλμα αυτό και δοκιμάστε

να το τρέξετε.

12

Page 13: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Πίνακες

• Ένας πίνακας εισάγεται καλώντας ARRAY_TYPE [ ].

• Οι πίνακες είναι απλά ένας ακόμα τύπος δεδομένων.

int [ ] values; // πίνακας int μεταβλητών

int [ ] [ ] values; // int [ ] είναι ένας τύπος δεδομένων

13

Page 14: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Πίνακες

• Για να δημιουργήσουμε πίνακα συγκεκριμένου μεγέθους, χρησιμοποιούμε τον τελεστή new :

int [ ] values = new int [5];

ή μία μεταβλητή για να καθορίσουμε το μέγεθος:

int size = 12;

int [ ] values = new int [size];

14

Page 15: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Αρχικοποίηση Πίνακα

• Άγκιστρα μπορούν να χρησιμοποιηθούν για να αρχικοποιήσουμε έναν πίνακα.

• Μπορούν ωστόσο να χρησιμοποιηθούν ΜΟΝΟ όταν ορίζουμε τη μεταβλητή/ πίνακα.

int [ ] values = { 12, 24, -23, 47 } ;

15

Page 16: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Ώρα για Quiz!

• Υπάρχει λάθος σε αυτόν το τμήμα κώδικα;

int[ ] values = {1, 2.5, 3, 3.5, 4};

16

Page 17: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Πρόσβαση στα Στοιχεία Πινάκων

• Για να έχουμε πρόσβαση στα στοιχεία του πίνακα, χρησιμοποιούμε τον τελεστή [ ]:

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

Page 18: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Η Εντολή 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

Page 19: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Πoλυδιάστατοι πίνακες

• Ένας πολυδιάστατος πίνακας ακολουθεί τους κανόνες δήλωσης πινάκων, αλλά έχει περισσότερες από μία διαστάσεις.

int [ ] [ ] values = new int [6][5]; // πίνακας 2 διαστάσεων

• Εδώ η πρώτη αγκύλη είναι για τις γραμμές και η δεύτερη για τις στήλες.

19

Page 20: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Πίνακες Συμβολοσειρών

• public static void main (String [ ] arguments) {

System.out.println (arguments.length);

System.out.println (arguments [0]);

System.out.println (arguments [1]);

}

20

Page 21: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

21

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

Page 22: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Διατρέχοντας έναν Πίνακα Με τη Βοήθεια Ενός βρόχου

• Παράδειγμα 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

Page 23: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Διατρέχοντας έναν Πίνακα Με τη Βοήθεια Ενός βρόχου

• Παράδειγμα 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

Page 24: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Ένα παράδειγμα με πίνακα 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

Page 25: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

Σε αυτή την ενότητα μιλήσαμε για:

26

4.1 Πίνακες

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

Page 26: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα

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

Ενότητα 4: Πίνακες, Συνδυασμός

Βρόχων Επαναλήψεων και Πινάκων.

Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ

Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα