Παρουσίαση του...
TRANSCRIPT
![Page 1: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/1.jpg)
Κάντε κλικ για να ξεκινήσετε
Αντικειμενοστραφής Προγραμματισμός
Ενότητα 4: Πίνακες, Συνδυασμός
Βρόχων Επαναλήψεων και Πινάκων.
Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ
Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα
![Page 2: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/2.jpg)
Άδειες Χρήσης
• Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
• Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.
2
![Page 3: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/3.jpg)
Χρηματοδότηση
• Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.
• Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού.
• Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.
3
![Page 4: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/4.jpg)
Ευχαριστίες
• Στην ανάπτυξη του υλικού βοήθησαν οι φοιτητές Λάζαρος Τουμανίδης, Λίλιαν Γούσιου και ο βοηθός εργαστηρίου Κόγιας Δημήτριος.
4
![Page 5: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/5.jpg)
Βιβλιογραφία
• 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! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/6.jpg)
Περιεχόμενα
6
4.1 Πίνακες
4.2 Συνδυάζοντας Βρόχους Επαναλήψεων και Πίνακες
![Page 7: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/7.jpg)
Προσδοκώμενα Αποτελέσματα
7
Στην ενότητα αυτή θα μάθετε για:
Τον τρόπο δημιουργίας και τα διάφορα είδη πινάκων,
Πολυδιάστατους Πίνακες, Παραδείγματα για να διατρέξετε έναν πίνακα
αποκτώντας πρόσβαση στα στοιχεία του.
![Page 8: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/8.jpg)
8
4.1 Πίνακες
![Page 9: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/9.jpg)
Πίνακες
• Ένας πίνακας είναι ένα ευρετήριο τιμών.
• Μπορείτε να φτιάξετε έναν πίνακα για κάθε μεταβλητή int, double, string, κοκ…
• Προσοχή: Όλα τα στοιχεία ενός πίνακα πρέπει να είναι του ίδιου τύπου.
9
![Page 10: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/10.jpg)
Πίνακες
10
• Αρίθμηση στοιχείων ενός πίνακα
![Page 11: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/11.jpg)
Πίνακες
• Παράδειγμα: Πίνακας double[]
11
![Page 12: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/12.jpg)
Πίνακες
• Ο δείκτης αρχίζει από το μηδέν και τελειώνει στο μηκος -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! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/13.jpg)
Πίνακες
• Ένας πίνακας εισάγεται καλώντας ARRAY_TYPE [ ].
• Οι πίνακες είναι απλά ένας ακόμα τύπος δεδομένων.
int [ ] values; // πίνακας int μεταβλητών
int [ ] [ ] values; // int [ ] είναι ένας τύπος δεδομένων
13
![Page 14: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/14.jpg)
Πίνακες
• Για να δημιουργήσουμε πίνακα συγκεκριμένου μεγέθους, χρησιμοποιούμε τον τελεστή 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! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/15.jpg)
Αρχικοποίηση Πίνακα
• Άγκιστρα μπορούν να χρησιμοποιηθούν για να αρχικοποιήσουμε έναν πίνακα.
• Μπορούν ωστόσο να χρησιμοποιηθούν ΜΟΝΟ όταν ορίζουμε τη μεταβλητή/ πίνακα.
int [ ] values = { 12, 24, -23, 47 } ;
15
![Page 16: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/16.jpg)
Ώρα για Quiz!
• Υπάρχει λάθος σε αυτόν το τμήμα κώδικα;
int[ ] values = {1, 2.5, 3, 3.5, 4};
16
![Page 17: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/17.jpg)
Πρόσβαση στα Στοιχεία Πινάκων
• Για να έχουμε πρόσβαση στα στοιχεία του πίνακα, χρησιμοποιούμε τον τελεστή [ ]:
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! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/18.jpg)
Η Εντολή 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! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/19.jpg)
Πoλυδιάστατοι πίνακες
• Ένας πολυδιάστατος πίνακας ακολουθεί τους κανόνες δήλωσης πινάκων, αλλά έχει περισσότερες από μία διαστάσεις.
int [ ] [ ] values = new int [6][5]; // πίνακας 2 διαστάσεων
• Εδώ η πρώτη αγκύλη είναι για τις γραμμές και η δεύτερη για τις στήλες.
19
![Page 20: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/20.jpg)
Πίνακες Συμβολοσειρών
• 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! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/21.jpg)
21
4.2 Συνδυάζοντας Βρόχους Επαναλήψεων και Πίνακες
![Page 22: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/22.jpg)
Διατρέχοντας έναν Πίνακα Με τη Βοήθεια Ενός βρόχου
• Παράδειγμα 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! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/23.jpg)
Διατρέχοντας έναν Πίνακα Με τη Βοήθεια Ενός βρόχου
• Παράδειγμα 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! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/24.jpg)
Ένα παράδειγμα με πίνακα 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! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/25.jpg)
Σε αυτή την ενότητα μιλήσαμε για:
26
4.1 Πίνακες
4.2 Συνδυάζοντας Βρόχους Επαναλήψεων και Πίνακες
![Page 26: Παρουσίαση του PowerPointeclass.teipir.gr/openeclass/modules/document/file.php/ENGI127/04... · Ώρα για Quiz! •Υπάρχει λάθος σε αόν ο μήμα](https://reader033.vdocuments.site/reader033/viewer/2022043018/5f3ae024a8fca04f1e4a3d38/html5/thumbnails/26.jpg)
Αντικειμενοστραφής Προγραμματισμός
Ενότητα 4: Πίνακες, Συνδυασμός
Βρόχων Επαναλήψεων και Πινάκων.
Δρ. Χαράλαμπος Ζ. Πατρικάκης Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ
Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα