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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τέλος Ενότητας.
Advertisements

1 Αρχές Μάρκετινγκ Δημιουργία και Δέσμευση Αξίας Πελατών Στάδιο 3 ο Προετοιμασία ενός σχεδίου και προγράμματος ολοκληρωμένου Μάρκετινγκ Τριάρχη Ειρήνη.
1 Διεθνή Λογιστικά Πρότυπα Διανομή – Διακοπείσες Δραστηριότητες Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Αντικειμενοστραφής Προγραμματισμός Ενότητα 12 : Επαναληπτικές Ασκήσεις (3/3) Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Ενοποιημένες Χρηματοοικονομικές Καταστάσεις Δομή ομίλου Εταιρειών και προσδιορισμός του ποσοστού συμμετοχής Δρ. Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό.
ΕΙΣΑΓΩΓΗ ΣΤΗ ΛΟΓΙΣΤΙΚΗ ΕΝΟΤΗΤΑ :Ισοζύγιο Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Εισαγωγή στη λογιστική, Ενότητα : Ημερολογιακές εγγραφές, ΤΜΗΜΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΉΣ ΚΑΙ ΛΟΓΙΣΤΙΚΗΣ ΤΕΙ ΗΠΕΙΡΟΥ – Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου.
1 Αντικειμενοστραφής Προγραμματισμός Ενότητα 12 : Επαναληπτικές Ασκήσεις (2/3) Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Διεθνή Λογιστικά Πρότυπα Παραδείγματα της λογιστικής του Leasing σύμφωνα με το ελληνικό θεσμικό πλαίσιο και τα ΔΛΠ Χύτης Ευάγγελος Ελληνική Δημοκρατία.
1 Αντικειμενοστραφής Προγραμματισμός Ενότητα 1 : Εισαγωγικές έννοιες και βασική δομή Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα.
1 Φωνολογική Ανάπτυξη και Διαταραχές Ενότητα 4 : Στάδια παραγωγής φωνημάτων Ζακοπούλου Βικτωρία Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Ενοποιημένες Χρηματοοικονομικές Καταστάσεις Λογιστικές Διαδικασίες για την κατάρτιση ΕΟΚ Δρ. Χύτης Ευάγγελος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό.
1 Οικονοµική Εργασίας και Εργασιακές Σχέσεις Εργατικά Σωματεία Καραµάνης Κώστας Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΕΙΣΑΓΩΓΗ ΣΤΗ ΛΟΓΙΣΤΙΚΗ ΕΝΟΤΗΤΑ :Λογιστική ισότητα και ισολογισμός Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Τμήμα Τεχνολόγων Γεωπόνων Τίτλος Μαθήματος: ΚΑΛΛΩΠΙΣΤΙΚΑ ΔΕΝΤΡΑ ΚΑΙ ΘΑΜΝΟΙ Ενότητα 12: Οδηγίες δημιουργίας φυτολογίου Γρηγόριος Βάρρας Αν. Καθηγητής Άρτα,
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ενότητα 12 : Η χρήση της MySQL στο Ηλεκτρονικό εμπόριο (ΙΙI) Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Εισαγωγή στη λογιστική, Ενότητα :Προσδιοριστικοί παράγοντες του λογιστικού αποτελέσματος, ΤΜΗΜΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΉΣ ΚΑΙ ΛΟΓΙΣΤΙΚΗΣ, ΤΕΙ ΗΠΕΙΡΟΥ – Ανοικτά.
Εισαγωγή στη λογιστική, Ενότητα :Μεταβολές της οικονομικής κατάστασης, ΤΜΗΜΑ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΉΣ ΚΑΙ ΛΟΓΙΣΤΙΚΗΣ, ΤΕΙ ΗΠΕΙΡΟΥ – Ανοικτά Ακαδημαϊκά Μαθήματα.
Προγραμματισμός κινητών συσκευών
Ενότητα 7 : Χρήση Πινάκων στο Ηλεκτρονικό εμπόριο (I) Ιωάννης Τσούλος
Αντικειμενοστραφής Προγραμματισμός
Μακροοικονομική Ενότητα: Χρήμα και νομισματικό σύστημα (Μέρος Δ)
Μηχανογραφημένη Λογιστική Ι
Προγραμματισμός κινητών συσκευών
Προγραμματισμός Διαδικτύου
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Προγραμματισμός κινητών συσκευών
Λειτουργικά Συστήματα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Αντικειμενοστραφής Προγραμματισμός
Ενοποιημένες Χρηματοοικονομικές Καταστάσεις
Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι
Προγραμματισμός Διαδικτύου
Λειτουργικά Συστήματα
Προγραμματισμός Διαδικτύου
Αντικειμενοστραφής Προγραμματισμός
Ενότητα 3 : Tυμπανομετρία - Ακουστικά αντανακλαστικά (Μέρος Β’)
Διεθνή Λογιστικά Πρότυπα
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Διεθνή Λογιστικά Πρότυπα
Ενότητα 1 : Τονική ακοομετρία - Είδη βαρηκοΐας Ναυσικά Ζιάβρα
Ενότητα 10 : Συχνές ακοολογικές παθήσεις (Μέρος Α’) Ναυσικά Ζιάβρα
Ενότητα 10 : Κατασκευή ΝΠΑ Αλέξανδρος Τζάλλας
Ενότητα 4 : Τελεστές της γλώσσας PHP Ιωάννης Τσούλος
Ενότητα 2 : Το σύστημα βάσεων δεδομένων MySQL (II) Ιωάννης Τσούλος
Προγραμματισμός κινητών συσκευών
Επικοινωνιακός Προγραμματισμός Ι
Διεθνή Λογιστικά Πρότυπα
Εισαγωγή στις εικαστικές τέχνες
Προγραμματισμός κινητών συσκευών
Ενότητα 7 : Ισορροπία αγοράς Καραμάνης Κωνσταντίνος
Διεθνή Λογιστικά Πρότυπα
Διεθνή Λογιστικά Πρότυπα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Γεωργική Χημεία Ενότητα 1 : Γενικές αρχές χημείας, άτομα και μόρια
Γεωργική Χημεία Ενότητα 6: Οξέα, βάσεις, pH, γινόμενο διαλυτότητας
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ειδικά θέματα βάσεων χωρικών δεδομένων και θεωρία συστημάτων -E
ΕΙΣΑΓΩΓΗ ΣΤΗ ΛΟΓΙΣΤΙΚΗ
Προγραμματισμός Διαδικτύου
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Προγραμματισμός κινητών συσκευών
Ενότητα 1: ……………….. Όνομα Επώνυμο Τμήμα __
Προγραμματισμός κινητών συσκευών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Επικοινωνιακός Προγραμματισμός Ι
Μεταγράφημα παρουσίασης:

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

Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής Τ.Ε Αντικειμενοστραφής Προγραμματισμός Ενότητα 4 : Πίνακες Ιωάννης Τσούλος Επίκουρος Καθηγητής Άρτα, 2015

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

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

Εισαγωγικά Οι πίνακες υλοποιούνται είτε ως παραδοσιακοί πίνακες (όπως στη C) είτε ως αντικείμενα. Μπορούν να είναι μίας ή πολλών διαστάσεων και ο τρόπος προσπέλασης των στοιχείων είναι ο ίδιος με αυτόν της C. Ως type θεωρούμε τον τύπο δεδομένων των αντικειμένων του πίνακα (bool, char, short, int, long, float, double, char) είτε το όνομα μιας κλάσης αντικειμένων. Το size απεικονίζει το μέγεθος του πίνακα table. type table[size];

Εισαγωγικά Mπορούμε να προσπελλάσουμε τα στοιχεία του πίνακα με την σύνταξη table[i], όπου i η θέση του στοιχείου που μας ενδιαφέρει. Αν έχουμε έναν πίνακα A με 10 στοιχεία το πρώτο στοιχείο είναι το A[0] και το τελευταίο το A[9]. Λαμβάνουμε το μέγεθος του με χρήση της συνάρτησης sizeof() (επιστρέφει το μέγεθος σε bytes και όχι σε στοιχεία του πίνακα).

Εισαγωγικά Mπορούμε να προσπελλάσουμε τα στοιχεία του πίνακα με την σύνταξη table[i], όπου i η θέση του στοιχείου που μας ενδιαφέρει. Αν έχουμε έναν πίνακα A με 10 στοιχεία το πρώτο στοιχείο είναι το A[0] και το τελευταίο το A[9]. Λαμβάνουμε το μέγεθος του με χρήση της συνάρτησης sizeof() (επιστρέφει το μέγεθος σε bytes και όχι σε στοιχεία του πίνακα).

Εισαγωγικά int data[10]; int datasize = sizeof(data) / sizeof(int); int i; cout << “Size of array data: “ << sizeof(data) / sizeof(int) << endl; for (i = 0; i < datasize; i++) { data[i] = i*i; cout << “data[“ << i << “] = “ << data[i] << endl; } Σε περίπτωση που θέλουμε να αρχικοποιήσουμε ένα πίνακα, δηλαδή να ορίσουμε αρχικές τιμές για τα στοιχεία του, αυτό μπορούμε να το πετύχουμε με την εξής συντακτική δομή: int dataset[] = {22,3,54,43,199,20,20,67,7,80 }; Size of array data: 10 data[0] = 0 data[1] = 1 data[2] = 4 data[3] = 9 data[4] = 16 data[5] = 25 data[6] = 36 data[7] = 49 data[8] = 64 data[9] = 81

Πολυδιάστατοι πίνακες Ένας δισδιάστατος πίνακας μπορεί να δηλωθεί ως εξής: int twodim[4][4]; int arraysize = 4; int i, j, counter = 1; for (i = 0; i < arraysize; i++) { for (j = 0; j < arraysize; j++) { twodim[i][j] = counter; counter++; cout << twodim[i][j] << “ “; } cout << endl; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Περισσότερα για τα Strings Αντίθετα με τα strings σε άλλες γλώσσες προγραμματισμού (C, PASCAL) που είναι απλώς πίνακες χαρακτήρων, στη C++ τα strings είναι κανονικά αντικείμενα, που υλοποιούνται με την κλάση string (στο namespace std). Για λόγους συμβατότητας με τη C, υπάρχει πλήρης υποστήριξη των strings υπό την μορφή πινάκων χαρακτήρων (char * ή char []).

Περισσότερα για τα Strings Πέρα από την απευθείας χρήση τους (που είδαμε στην cout), μπορούμε να δημιουργήσουμε αντικείμενα string, με τον ίδιο τρόπο όπως και με κάθε άλλο αντικείμενο, δηλαδή στατικά ή δυναμικά (με τη χρήση της new). Η κλάση string παρέχει ορισμένες μεθόδους, οι οποίες είναι αρκετά χρήσιμες για επεξεργασία του κειμένου μέσα στο string. std::string str(“Hello”); std::string str2 = “ there”; std::string *str3 = new std::string(“Hello there”); cout << str << str2 << endl; cout << *str2 << endl;

Περισσότερα για τα Strings Όνομα Λειτουργία int length() Επιστρέφει το μήκος (σε χαρακτήρες) του string. reference operator[](int index) Επιστρέφει ένα δείκτη αναφοράς (reference) στον χαρακτήρα που βρίσκεται στη θέση index του string. int compare(string &str) Συγκρίνει δύο αντικείμενα string. Αν το καλόν αντικείμενο (δηλ. αυτό που καλεί την compare()) είναι μικρότερο από το str, τότε επιστρέφει αρνητικό αποτέλεσμα, μηδέν αν έχουν το ίδιο περιεχόμενο, ή θετικό αποτέλεσμα αν το καλόν string είναι μεγαλύτερο από το str. int find(string &str) Αναζητά το str μέσα στο καλόν αντικείμενο string. Αν βρεθεί επιστρέφει τη θέση της πρώτης εμφάνισής του, αλλιώς -1. int find_last_of(string str) Αν βρεθεί επιστρέφει τη θέση της τελευταίας εμφάνισής του, αλλιώς -1.

Παράδειγμα 1/2 2/2 string str1(“Hello there, from C++!”); string str2 = “One two three four”; string str3 = “C++ strings are cool!”; string *str4 = new string(str3); int index, result; cout << “str1 is “ << str1.length() << “ characters long.”); for (int i=0; i < str1.length(); i++) cout << str1[i] << “|“; cout << endl; if (str3 == *str4) cout << “str3 == str4” << endl; else cout << “str3 != str4” << endl; if (str3 == str2) cout << “str3 == str2” << endl; cout << “str3 != str2” << endl; result = str3.compare(str1); if (result < 0) cout << “str3 < str1” << endl; else if (result == 0) cout << “str3 == str1” << endl; cout << “str3 > str1” << endl; index = str1.find(“C++”); if (index != -1) cout << “'C++' exists in str1 in position “ << index << endl; 2/2 else cout << “'C++' does not exist in str1“ << endl; index = str2.find(“C++”); if (index != -1) cout << “'C++' exists in str2 in position “ << index << endl; cout << “'C++' does not exist in str2“ << endl; index = str3.find(“C++”); cout << “'C++' exists in str3 in position “ << index << endl; cout << “'C++' does not exist in str3“ << endl;

Παράδειγμα Αποτέλεσμα str1 is 22 characters long. H|e|l|l|o| |t|h|e|r|e|,| |f|r|o|m| |C|+|+|!| str3 == str4 str3 != str2 str3 < str1 'C++' exists in str1 in position 18 'C++' does not exist in str2 'C++' exists in str3 in position 0

Βιβλιογραφία Εγχειρίδιο της C++, 2η Ελληνική έκδοση, Jesse Liberty, Γκιούρδας. Μάθετε τη C++, 2η Ελληνική έκδοση, Jesse Liberty , Γκιούρδας. Προγραμματισμός με τη γλώσσα C++ Μέρος Α, Αλεβίζος Θ., Έκδοση ΤΕΙ Καβάλας C++ Αντικειμενοστραφής Προγραμματισμός Υπολογιστών Τομαράς Α., , Εκδόσεις Νέων Τεχνολογιών. Ανακαλύψτε τη γλώσσα C, J. Purdum, Εκδόσεις Δίαυλος. Εισαγωγή στο Συστηματικό Προγραμματισμό και στη γλώσσα C++, Σ. Μπαλτζής, εκδόσεις πανεπιστημίου Ιωαννίνων. C++ From the beginning, Jan Skansholm, Addison Wesley. The design and analysis of computer algorithms, A.V. AHO, J.E. HOPCROFT, J.D. ULLMANN, Addison Wesley 1974. Structure and Interpretation of Computer Programs, H. ABELSON, G.J. SUSSMAN, J. SUSSMAN, MIT Press, Mc Graw Hill Book Company, 1985 The art of computer programming, D.E. KNUTH, Addison-Wesley.

Σημείωμα Αναφοράς Copyright Τεχνολογικό Ίδρυμα Ηπείρου. Ιωάννης Τσούλος. Αντικειμενοστραφής Προγραμματισμός. Έκδοση: 1.0 Άρτα, 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: http://eclass.teiep.gr/courses/COMP113/ ΔΙΑΤΑΡΑΧΕΣ ΦΩΝΗΣ, Ενότητα 0, ΤΜΗΜΑ ΛΟΓΟΘΕΡΑΠΕΙΑΣ, ΤΕΙ ΗΠΕΙΡΟΥ - Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 4.0 Διεθνές [1] ή μεταγενέστερη. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, Διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. [1] http://creativecommons.org/licenses/by-nc-nd/4.0/deed.el

Τέλος Ενότητας Επεξεργασία: Ευάγγελος Καρβούνης Άρτα, 2015

Τέλος Ενότητας Πίνακες