Προγραμματισμός ΙΙ Ενότητα 6:

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Προγραμματισμός ΙΙ Ενότητα 6:"

Transcript

1 Προγραμματισμός ΙΙ Ενότητα 6: Εισαγωγή στις κλάσεις, στα μέλη δεδομένων και στις μεθόδους - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

4 Εισαγωγή στις κλάσεις, στα μέλη δεδομένων και στις μεθόδους - Μέρος 2

5 Σκοποί ενότητας Σκοπός της ενότητας είναι η εισαγωγή στις κλάσεις, στα μέλη δεδομένων και στις μεθόδους. 5

6 Περιεχόμενα ενότητας Μέθοδοι πρόσβασης και τροποποίησης. Βοηθητικές μέθοδοι. Μέλη δεδομένων σύνθετων τύπων ή κλάσεων. Τα προσδιοριστικά public, private, και protected. Η χρήση της λέξης const. Ασκήσεις και Βιβλιογραφία. 6

7 Μέθοδοι πρόσβασης και τροποποίησης (1/9) Οι μέθοδοι που μας επιτρέπουν να διαβάσουμε την τιμή ενός ή περισσότερων μελών δεδομένων ονομάζονται μέθοδοι πρόσβασης (accessor methods). Ακολουθούν δύο μέθοδοι πρόσβασης για το παράδειγμά μας:. double GetX() const { return ( x ); } double GetY() const { return ( y ); } 7

8 Μέθοδοι πρόσβασης και τροποποίησης (2/9) Εδώ έχουμε τις δύο μεθόδους GetX και GetY, που επιστρέφουν την τιμή καθενός μέλους δεδομένων, αντίστοιχα. Ο επιστρεφόμενος τύπος είναι ίδιος με αυτόν των μελών δεδομένων. Η λέξη const θα εξηγηθεί αργότερα (αυτός είναι ο δεύτερος τρόπος χρήσης της). 8

9 Μέθοδοι πρόσβασης και τροποποίησης (3/9) Το σώμα της μεθόδου, που είναι γραμμένο σε μία γραμμή για λόγους συντομίας, απλά επιστρέφει την τιμή του αντίστοιχου μέλους δεδομένων. Καμία από τις δύο αυτές μεθόδους δε δέχεται παραμέτρους. Έτσι, όποτε καλέσουμε κάποια από αυτές τις μεθόδους, θα έχουμε πρόσβαση στο αντίστοιχο ιδιωτικό μέλος. 9

10 Μέθοδοι πρόσβασης και τροποποίησης (4/9) Εδώ γεννάται το προφανές ερώτημα: γιατί να έχουμε δημόσια μέθοδο που να μας δίνει πρόσβαση σε ένα ιδιωτικό μέλος, αφού απλά μπορούμε να καταστήσουμε το μέλος δημόσιο και να αποφύγουμε την αντίστοιχη μέθοδο πρόσβασης;. Από το συγκεκριμένο ιδιαίτερα απλό παράδειγμα δεν μπορούμε να καταλάβουμε το λόγο. 10

11 Μέθοδοι πρόσβασης και τροποποίησης (5/9) Μια δημόσια μέθοδος πρόσβασης μάς παρέχει έναν ενιαίο τρόπο πρόσβασης στις πληροφορίες ενός στιγμιοτύπου μιας κλάσης. Αν αλλάξει κάτι στην υλοποίηση της κλάσης και το μέλος υπολογίζεται διαφορετικά, αφαιρεθεί ή αντικατασταθεί από κάτι άλλο, περιορίζουμε τις αλλαγές μόνο στο εσωτερικό της κλάσης και όχι στα προγράμματα που τη χρησιμοποιούν. 11

12 Μέθοδοι πρόσβασης και τροποποίησης (6/9) Κάτι αντίστοιχο γίνεται όταν θέλουμε να αλλάξουμε τα ιδιωτικά μέλη μιας κλάσης. Οι αντίστοιχες μέθοδοι ονομάζονται μέθοδοι τροποποίησης (mutator methods). Κατ' αντιστοιχία των μεθόδων πρόσβασης, είθισται το όνομά τους να περιέχει τη λέξη Set. Ακολουθεί ο αντίστοιχος κώδικας του παραδείγματός μας:. void SetX(const double x_coord) { x = x_coord; } void SetY(const double y_coord) { y = y_coord; } 12

13 Μέθοδοι πρόσβασης και τροποποίησης (7/9) Εδώ οι μέθοδοι έχουν τα ονόματα SetX και GetX. Καμία μέθοδος δεν επιστρέφει κάτι. Αυτό δεν αποτελεί κανόνα. Θα μπορούσαν να επιστρέφουν, παραδείγματος χάριν τύπο bool, που να υποδηλώνει ότι η απόπειρα τροποποίησης ενός μέλους ήταν επιτυχής ή όχι. Αυτό εξαρτάται καθαρά από το πώς σχεδιάζετε την αντίστοιχη κλάση. 13

14 Μέθοδοι πρόσβασης και τροποποίησης (8/9) Οι μέθοδοι δέχονται μία σταθερή παράμετρο ίδιου τύπου με το αντίστοιχο μέλος, το οποίο και αρχικοποιούν στο σώμα της μεθόδου (που πάλι για λόγους συντομίας γράψαμε σε μία γραμμή). Η ανάλυση που κάναμε για την περίπτωση των μεθόδων πρόσβασης ισχύει κι εδώ. Η ίδια η μέθοδος δεν είναι σταθερή (δηλαδή δεν έχει τη λέξη const μετά την παρένθεση που κλείνει), το οποίο σημαίνει η συγκεκριμένη μέθοδος θα τροποποιήσει τουλάχιστον ένα μέλος δεδομένων. 14

15 Μέθοδοι πρόσβασης και τροποποίησης (9/9) Μπορείτε αν θέλετε να έχετε μεθόδους πρόσβασης ή τροποποίησης που επενεργούν σε περισσότερα από ένα μέλη δεδομένων. Βεβαιωθείτε, όμως, ότι κάτι τέτοιο αποτελεί ορθή σχεδιαστική απόφαση και δε δυσχεραίνει τη χρήση της κλάσης. 15

16 Βοηθητικές μέθοδοι (1/18) Ακολουθεί μια βοηθητική μέθοδος που υπολογίζει και επιστρέφει την απόσταση που έχει ένα σημείο από ένα άλλο. Ας δούμε τη δήλωση και την υλοποίησή της:. double Distance(const Point &OtherPoint) const { return ( sqrt(( x - OtherPoint.x ) * ( x - OtherPoint.x ) + } // Distance ( y - OtherPoint.y ) * ( y - OtherPoint.y)) ); 16

17 Βοηθητικές μέθοδοι (2/18) Η μέθοδος ονομάζεται Distance (απόσταση). Επιστρέφει αριθμό κινητής υποδιαστολής που αναπαριστά την απόσταση ενός σημείου από ένα άλλο. Όταν καλέσουμε τη συγκεκριμένη μέθοδο στη main, θα χρειαστούμε δύο σημεία. Θα καλέσουμε την Distance για ένα σημείο, περνώντας ως παράμετρο ένα δεύτερο (το OtherPoint). Η παράμετρος δεν τροποποιείται από τη συγκεκριμένη μέθοδο (δηλαδή έχει τη λέξη const πριν από το όνομά της, και την περνούμε με διεύθυνση και όχι με τιμή αυτό θα εξηγηθεί στην επόμενη ενότητα). 17

18 Βοηθητικές μέθοδοι (3/18) Η λέξη const στο τέλος της δήλωσης της μεθόδου, δηλαδή στο τέλος της πρώτης γραμμής, σημαίνει ότι η συγκεκριμένη μέθοδος δε θα τροποποιήσει κανένα μέλος δεδομένων της κλάσης. Στο σώμα της μεθόδου υπολογίζουμε την απόσταση που έχουν τα δύο σημεία, και την επιστρέφουμε. Η βιβλιοθήκη iostream φροντίζει για την πρόσβαση στη συνάρτηση sqrt που υπολογίζει την τετραγωνική ρίζα ενός αριθμού. Αν και τα x και y είναι ιδιωτικά, εδώ μπορούμε να γράψουμε OtherPoint.x. 18

19 Βοηθητικές μέθοδοι (4/18) Η τελευταία μέθοδος της κλάσης απλά εμφανίζει τα περιεχόμενα του εκάστοτε στιγμιοτύπου στην οθόνη:. void Write() const { cout << "(" << x << ", " << y << ")" << endl; } // Write 19

20 Βοηθητικές μέθοδοι (5/18) Η μέθοδος αυτή δεν επιστρέφει κάτι, δε δέχεται παραμέτρους (σε αυτήν την περίπτωση το void στη θέση των παραμέτρων δεν είναι απαραίτητο όπως στη C), και το const στο τέλος της μεθόδου, αν και προαιρετικό, λέει ότι αυτή η μέθοδος δε θα αλλάξει κανένα μέλος της κλάσης. Το cout είναι αντίστοιχο της printf, το endl είναι αντίστοιχο του "\n", το οποίο μπορεί να χρησιμοποιηθεί κι εδώ, και ο τελεστής << μάς επιτρέπει να συνενώσουμε τις συμβολοσειρές ώστε να παραχθεί η τελική που θα εμφανιστεί στην οθόνη. 20

21 Βοηθητικές μέθοδοι (6/18) Η κλάση τελειώνει με το τελευταίο }; που έχει υποχρεωτικά ελληνικό ερωτηματικό στο τέλος. Η παράλειψή του συνιστά συντακτικό σφάλμα. Αυτή είναι η μόνη περίπτωση στη C++ όπου η έλλειψη ελληνικού ερωτηματικού μετά από το άγκιστρο που κλείνει αποτελεί συντακτικό σφάλμα. Στη main δηλώνουμε τρία στιγμιότυπα της κλάσης του σημείου, τους δίνουμε αρχικές τιμές, και δοκιμάζουμε κάποιες από τις μεθόδους. Ακολουθεί ο πλήρης κώδικας. 21

22 Βοηθητικές μέθοδοι (7/18) #include <iostream> using namespace std; class Point { private: double x, y; public: /* */ /* Constructors and destructor */ Point() : x(0.0), y(0.0) {} // Default constructor 22

23 Βοηθητικές μέθοδοι (8/18) Point(const double x_coord, const double y_coord) : x(x_coord), y(y_coord) {} // Constructor Point(const int x_coord, const int y_coord) // : x((double) x_coord), y((double) y_coord) { x = (double) x_coord; y = (double) y_coord; } // Constructor 23

24 Βοηθητικές μέθοδοι (9/18) Point(const Point &pnt) { if ( this!= &pnt ) { x = pnt.x; y = pnt.y; } // if } // Copy constructor ~Point() { x = y = 0.0; } // Destructor 24

25 Βοηθητικές μέθοδοι (10/18) /* */ /* Accessor and mutator methods */ /* */ double GetX() const { return ( x ); } double GetY() const { return ( y ); } void SetX(const double x_coord) { x = x_coord; } void SetY(const double y_coord) { y = y_coord; } 25

26 Βοηθητικές μέθοδοι (11/18) /* Utility methods */ double Distance(const Point &OtherPoint) const { return ( sqrt(( x - OtherPoint.x ) * ( x - OtherPoint.x ) + ( y - OtherPoint.y ) * ( y - OtherPoint.y)) ); } // Distance void Write() const { cout << "(" << x << ", " << y << ")" << endl; } // Write }; 26

27 Βοηθητικές μέθοδοι (12/18) /* */ void main() { Pointa, b(1.0, 2.0), c(b); cout << "a = "; a.write(); cout << "b = "; b.write(); cout << "c = "; c.write(); 27

28 Βοηθητικές μέθοδοι (13/18) b.setx(3.0); cout << "b = "; b.write(); c.sety(4.0); cout << "c = "; c.write(); cout << "Distance of b from c = " << b.distance(c) << endl; } // main 28

29 Βοηθητικές μέθοδοι (14/18) Στη main δηλώνουμε τρία σημεία, τα στιγμιότυπα/αντικείμενα a, b, και c. Η δήλωση του πρώτου σημείου δεν έχει τιμές μέσα σε παρενθέσεις, όπως συμβαίνει με τα άλλα δύο σημεία. Αυτό σημαίνει ότι για την αρχικοποίηση των τιμών του (τα δικά του x και y) χρησιμοποιείται ο προεπιλεγμένος κατασκευαστής που τα θέτει στο 0. Το στιγμιότυπο b αρχικοποιείται με τιμές 1 και 2, χρησιμοποιώντας το 2ο κατά σειρά στον κώδικα κατασκευαστή. 29

30 Βοηθητικές μέθοδοι (15/18) Το τρίτο στιγμιότυπο, το c, αρχικοποιείται με τη βοήθεια του 4ου κατά σειρά στον κώδικα κατασκευαστή, δηλαδή με τον κατασκευαστή αντιγράφου. Αυτό φαίνεται από τη μοναδική παράμετρό του, το b, που κι αυτό είναι ίδιου τύπου με την κλάση. Έτσι τα b και c έχουν επακριβώς τις ίδιες συντεταγμένες. Εδώ θα αναφέρουμε κάτι: Αν για την αρχικοποίηση του c είχαμε γράψει c(c), τότε η if μέσα στον κώδικα της μεθόδου θα απέτρεπε την αντιγραφή των μελών. 30

31 Βοηθητικές μέθοδοι (16/18) Οι εντολές cout και αντίστοιχες Write για κάθε στιγμιότυπο που ακολουθούν εμφανίζουν τις τιμές των μελών, ώστε να διαπιστώσετε ότι όντως πήραν τις τιμές που τους δώσατε κατά τη δήλωση και αρχικοποίησή τους. Κατόπιν αλλάζουμε τη συντεταγμένη x του δεύτερου σημείου και εμφανίζουμε άλλη μία φορά τις τιμές των συντεταγμένων του. 31

32 Βοηθητικές μέθοδοι (17/18) Το ίδιο γίνεται και για τη συντεταγμένη y του τρίτου σημείου. Τέλος υπολογίζουμε και εμφανίζουμε την απόσταση που έχει το σημείο b από το σημείο c. Η εκτέλεση του προγράμματος φαίνεται στο σχήμα που ακολουθεί. 32

33 Βοηθητικές μέθοδοι (18/18) Εικόνα 1: Αποτελέσματα της εκτέλεσης του προγράμματος. Πηγή: Διδάσκων (2015). 33

34 Μέλη δεδομένων σύνθετων τύπων ή κλάσεων (1/2) Στο παραπάνω παράδειγμα είδαμε ότι ο τύπος των μελών δεδομένων ήταν κάποιος θεμελιώδης τύπος. Ο τύπος δεδομένων των μελών μπορεί να είναι σύνθετος (δομή της C) ή ακόμη και κλάση. Το ίδιο ισχύει και στην περίπτωση του επιστρεφόμενου τύπου ή των παραμέτρων μιας μεθόδου. Ακολουθεί ένα πολύ σύντομο παράδειγμα μελών μια κλάσης που είναι του τύπου κλάσης. 34

35 Μέλη δεδομένων σύνθετων τύπων ή κλάσεων (2/2) Εδώ βλέπουμε τη δήλωση μιας κλάσης με όνομα Edge (πλευρά), η οποία έχει δύο ιδιότητες: Τα σημεία Α και Β, τα οποία και τα δύο είναι του τύπου Point, που είναι η κλάση του παραπάνω εκτενούς παραδείγματος. Κάθε μία από αυτές τις ιδιότητες έχει τα δικά της x και y, κι έτσι αυτή η κλάση περιέχει, στην ουσία, δύο x και δύο y. class Edge { private: Point A, B; public: //... }; 35

36 Τα προσδιοριστικά public, private, και protected (1/7) Tα δύο παρακάτω αποσπάσματα κώδικα είναι απολύτως ισοδύναμα (παρατηρήστε ότι στο δεύτερο απόσπασμα κώδικα λείπει το αρχικό προσδιοριστικό private). class Edge { private: Point A, B; public: //... }; class Edge { Point A, B; public: //... }; 36

37 Τα προσδιοριστικά public, private, και protected (2/7) Οτιδήποτε βρίσκεται μετά από ένα προσδιοριστικό private μπορεί να χρησιμοποιηθεί μόνο μέσα στην κλάση στην οποία βρίσκεται. Συνεπώς η παρακάτω απόπειρα πρόσβασης στα μέλη της παραπάνω κλάσης (2η γραμμή) θα προκαλέσει σφάλμα κατά τη μεταγλώττιση: Edge E(a, b); cout << E.A.Distance(E.B.Distance()); 37

38 Τα προσδιοριστικά public, private, και protected (3/7) Εδώ προσπαθούμε να εμφανίσουμε την απόσταση που έχει το σημείο Α της πλευράς από το σημείο Β της ίδιας πλευράς. Αφού όμως τα Α και Β είναι ιδιωτικά, η πρόσβαση σε αυτά από εκτός της κλάσης απαγορεύεται. Έτσι δεν μπορούμε να πούμε Ε.Α... ή Ε.Β... Η πρόσβαση παραμένει ως έχει μέχρι να χρησιμοποιηθεί κάποιο από τα άλλα δύο προσδιοριστικά. 38

39 Τα προσδιοριστικά public, private, και protected (4/7) Μπορούμε, αν θέλουμε, να επαναλάβουμε επανειλημμένα το ίδιο προσδιοριστικό, αν κι αυτό είναι μάλλον περιττό. Το προσδιοριστικό private απαγορεύει και την πρόσβαση στα μέλη μιας κλάσης από μια υποκλάση/παράγωγη κλάση. Το προσδιοριστικό public επιτρέπει την ελεύθερη πρόσβαση στα αντίστοιχα μέλη μιας κλάσης εντός και εκτός της κλάσης. 39

40 Τα προσδιοριστικά public, private, και protected (5/7) Αν στο παραπάνω παράδειγμα η πρόσβαση ήταν δημόσια, η 2η εντολή δε θα προκαλούσε σφάλμα κατά την εκτέλεση. Το προσδιοριστικό public επιτρέπει και την πρόσβαση στα μέλη μιας κλάσης από μια υποκλάση/παράγωγη κλάση. Το προσδιοριστικό protected συμπεριφέρεται όπως το private εντός της κλάσης, αλλά όπως το public όσον αφορά τις υποκλάσεις/παράγωγες κλάσεις. 40

41 Τα προσδιοριστικά public, private, και protected (6/7) Αυτό σημαίνει ότι μια κλάση που κληρονομεί την κλάση μας θα έχει πρόσβαση στα προστατευμένα μέλη, χωρίς όμως αυτό να επιτρέπεται εκτός της κλάσης. Η τρίτη χρήση έχει να κάνει με τη δήλωση μιας υποκλάσης/παράγωγης κλάσης. Στη συγκεκριμένη χρήση τα δημόσια μέλη μιας βασικής κλάσης γίνονται δημόσια, ιδιωτικά ή προστατευμένα στις παράγωγες, ανάλογα με το προσδιοριστικό που θα χρησιμοποιήσουμε. 41

42 Τα προσδιοριστικά public, private, και protected (7/7) Τα παραπάνω συνοψίζονται στον πίνακα που ακολουθεί:. Πίνακας 1: Τα προσδιοριστικά public, private, και protected. Πηγή: Διδάσκων (2015). Χρήση public private protected Πρόσβαση εκτός της κλάσης Πρόσβαση από υποκλάση Μεταβολή της πρόσβασης των δημοσίων μελών της βασικής κλάσης στις παράγωγες σε... public private protected 42

43 Η χρήση της λέξης const (1/16) Η λέξη const αποτελεί δικλείδα ασφαλείας της C++, και χρησιμοποιείται σε τέσσερις (4) περιπτώσεις: Για τη δήλωση μιας σταθεράς. Πριν από τον τύπο μιας παραμέτρου. Στο τέλος της δήλωσης μιας μεθόδου. Πριν από τον επιστρεφόμενο τύπο μιας μεθόδου (ο οποίος επιστρέφεται με αναφορά). 43

44 Η χρήση της λέξης const (2/16) Ας εξετάσουμε την 1η περίπτωση. Στη C δηλώνετε μια σταθερά ως εξής: #define PI Η συγκεκριμένη γραμμή δηλώνει μια συμβολική σταθερά με όνομα PI και τιμή αυτή που βρίσκεται στα δεξιά της. Αυτό σημαίνει ότι όποτε ο μεταγλωττιστής βρίσκει το σύμβολο PI, το αντικαθιστά ως κείμενο με αυτό στα δεξιά, ό,τι και να είναι αυτό. Εδώ το PI δεν έχει τύπο. 44

45 Η χρήση της λέξης const (3/16) Στη C++ το παραπάνω μπορεί να γραφτεί ως εξής: const double PI = ; Αν η συγκεκριμένη σύνταξη σας δυσκολεύει, φανταστείτε ότι λείπει το const στην αρχή της. Τότε μοιάζει με τη δήλωση μιας απλής μεταβλητής που αρχικοποιείται αμέσως. Αν, τώρα, προσθέσουμε τη λέξη const πριν από τον τύπο της δήλωσης, προκύπτει μια σταθερά. 45

46 Η χρήση της λέξης const (4/16) Αυτές οι σταθερές της C++ έχουν τύπο, δεν αντικαθίστανται ως κείμενο, και μπορούν να χρησιμοποιηθούν σε παραστάσεις όπως όλα τα υπόλοιπα σύμβολα. Φυσικά σε ένα πρόγραμμα δεν μπορείτε να έχετε και τα δύο παραπάνω μαζί, αφού το σύμβολο PI δεν μπορεί να υπάρχει παραπάνω από μία φορές. Παρ' όλα αυτά, στη C++ μπορείτε να έχετε σταθερές και των δύο τύπων. 46

47 Η χρήση της λέξης const (5/16) Ας εξετάσουμε τώρα τη 2η περίπτωση. Όταν η λέξη const βρίσκεται πριν από τον τύπο μιας παραμέτρου, αυτό σημαίνει ότι η συγκεκριμένη παράμετρος δεν μπορεί να τροποποιηθεί με κανέναν τρόπο από τη μέθοδο στη δήλωση της οποίας εμφανίζεται, είτε άμεσα είτε έμμεσα. Με το άμεσα εννοούμε ότι στο σώμα μιας υποτιθέμενης μεθόδου δεν μπορούμε να γράψουμε: param = value; 47

48 Η χρήση της λέξης const (6/16) Δηλαδή η παράμετρος param δεν μπορεί να βρεθεί στα αριστερά του τελεστή =. Με το έμμεσα εννοούμε ότι στο σώμα μιας υποτιθέμενης μεθόδου δεν μπορούμε να καλέσουμε μια μέθοδο της παραμέτρου (που τώρα αναγκαστικά υποθέτουμε ότι είναι κλάση) που μπορεί να την αλλάξει. 48

49 Η χρήση της λέξης const (7/16) Δηλαδή, αν μια μέθοδος MethodA(...) αλλάζει κάποιο (έστω και ένα) από τα μέλη μιας κλάσης, τότε στο σώμα μιας υποτιθέμενης μεθόδου δεν μπορούμε να γράψουμε: param.methoda(...); Συνοψίζοντας, η const πριν από τον τύπο μιας παραμέτρου δεν της επιτρέπει να συμμετάσχει σε ανάθεση τιμής ή να κληθεί μέθοδός της (αν είναι του τύπου κλάσης) που την αλλάζει. 49

50 Η χρήση της λέξης const (8/16) Ας εξετάσουμε τώρα την 3η περίπτωση. Μπορείτε να δείτε άλλη μία φορά το εκτενές παράδειγμα της παρούσας ενότητας. Θα παρατηρήσετε ότι κάποιες από τις μεθόδους (τέσσερις συγκεκριμένα) έχουν τη λέξη const στο τέλος της επικεφαλίδας τους (π.χ. η Distance ή η Write). Όποτε μια μέθοδος έχει στο τέλος της επικεφαλίδας της τη λέξη const, δε μεταβάλλει την κατάσταση του εκάστοτε στιγμιοτύπου που τη χρησιμοποιεί. 50

51 Η χρήση της λέξης const (9/16) Αυτό σημαίνει ότι η Distance δεν αλλάζει με κανέναν τρόπο κάποιο από τα μέλη δεδομένων του στιγμιοτύπου που τη χρησιμοποιεί. Δηλαδή, τα x και y, που είναι και τα μέλη (ιδιότητες) της κλάσης, δεν τροποποιούνται από την κλήση της συγκεκριμένης μεθόδου. Στην τελευταία γραμμή του εν λόγω προγράμματος υπολογίζουμε την απόσταση των σημείων b και c. Η κλήση της Distance δε μεταβάλει την κατάσταση του στιγμιοτύπου b, ενώ, λόγω της 2ης χρήσης της const που περιγράψαμε λίγο πριν, δε μεταβάλλεται ούτε το στιγμιότυπο c. 51

52 Η χρήση της λέξης const (10/16) Άρα εδώ βλέπουμε ταυτόχρονα, με δύο τρόπους, τη χρήση της const. Μόλις εξοικειωθείτε λίγο περισσότερο με τη C++ και προσπαθήσετε να υλοποιήσετε πιο πολύπλοκα παραδείγματα που κάνουν χρήση παραμέτρων του τύπου κάποιας κλάσης, αναμφίβολα θα αντιμετωπίσετε καταστάσεις που κάποιες φορές δε θα μπορείτε να χρησιμοποιήσετε την const αλλά θα πρέπει ή το αντίστροφο. 52

53 Η χρήση της λέξης const (11/16) Αυτό σημαίνει ότι δεν έχετε σχεδιάσει σωστά τις κλάσεις σας, και δεν έχετε ξεκαθαρίσει στο μυαλό σας τι ακριβώς θέλετε να κάνετε. Δηλαδή αντιμετωπίζετε σχεδιαστικό ζήτημα. Η λέξη const θα πρέπει να χρησιμοποιείται όπου χρειάζεται και όχι παντού και σε όλες τις μορφές της. Αν κάποια μέθοδος δεν πρέπει ή δε χρειάζεται να αλλάξει κάποιο από τα μέλη δεδομένων μιας κλάσης, τότε πρέπει να μπει η const στο τέλος της δήλωσής της. 53

54 Η χρήση της λέξης const (12/16) Ομοίως, αν μια παράμετρος δεν πρέπει ή δε χρειάζεται να αλλάξει, τότε πρέπει να μπει η const πριν από τον τύπο της. Υπάρχουν περιπτώσεις όπου δεν μπορεί να μπει πουθενά (στο τέλος ή πριν από κάποια/ες παράμετρο/ους), σε μία από τις δύο περιπτώσεις, ή και στις δύο. Χρησιμοποιήστε την παραπάνω λογική και μη βάζετε const οπουδήποτε. 54

55 Η χρήση της λέξης const (13/16) Η 4η περίπτωση χρήσης της const είναι πιο δύσκολη. Εδώ απλά θα τη σχολιάσουμε σύντομα. Μια μέθοδος μπορεί να έχει επιστρεφόμενο τύπο που είναι κλάση. Αυτό σημαίνει ότι επιστρέφει ένα ολόκληρο στιγμιότυπο, το οποίο μπορεί να αποτελείται από πλήθος μελών δεδομένων. Μια τέτοια επιστροφή ενός ολόκληρου στιγμιοτύπου κοστίζει σε χρόνο και χώρο. 55

56 Η χρήση της λέξης const (14/16) Δημιουργείται ένα προσωρινό στιγμιότυπο, αντιγράφονται τα περιεχόμενά του στον προορισμό του, και το προσωρινό στιγμιότυπο καταστρέφεται. Όλη αυτή η διαδικασία μπορεί να αποτραπεί. Αν επιστρέψουμε ένα στιγμιότυπο με αναφορά, με τη χρήση του τελεστή διεύθυνσης &, τότε αποκτούμε πρόσβαση στο αντίστοιχο μέλος μέσω της διεύθυνσής του. Έτσι, ενώ επιταχύνουμε τη διαδικασία, καταστρατηγούμε το μηχανισμό προστασίας του, αφού αποκαλύφθηκε η διεύθυνση μνήμης από την οποία ξεκινάει. 56

57 Η χρήση της λέξης const (15/16) Όμως, αν δε χρησιμοποιήσουμε τον τελεστή διεύθυνσης, δεν αποκαλύπτουμε τη διεύθυνση του μέλους, αλλά αντιγράφουμε ολόκληρο στιγμιότυπο. Η λέξη const μπορεί να μπει πριν από τον επιστρεφόμενο τύπο, επιτρέποντάς μας να έχουμε το καλύτερο από τους δύο κόσμους: Σύντομη πρόσβαση μέσω μιας διεύθυνσης μνήμης των 4 ή 8 Bytes. Προστασία από μεταβολή του μέλους. 57

58 Η χρήση της λέξης const (16/16) Αυτή η χρήση της const είναι ιδιαίτερα χρήσιμη σε δομές δεδομένων που υλοποιούνται με την αντικειμενοστρεφή προσέγγιση. Εδώ είναι ώρα να γίνει ένα τελευταίο σχόλιο σχετικά με τη λέξη const. Μας επιτρέπει να έχουμε και να χρησιμοποιούμε δικλείδες ασφαλείας για την αποτροπή ατυχημάτων και όχι δόλου. Σε συνδυασμό με το μεταγλωττιστή είναι πολύτιμος σύμμαχος. 58

59 Ασκήσεις

60 Άσκηση 1 (1/2) Δηλώστε μια κλάση με όνομα Circle. Η κλάση αυτή να έχει τρία μέλη δεδομένων κάτω από προσδιορισμό protected, με ονόματα x, y και r, για το κέντρο του κύκλου (x, y) και την ακτίνα του, αντίστοιχα. Δηλώστε κατασκευαστή που να δέχεται τρεις παραμέτρους και να τις αντιγράφει στα μέλη δεδομένων. Δηλώστε μέθοδο με όνομα Area που να υπολογίζει και να επιστρέφει το εμβαδόν του κύκλου. 60

61 Άσκηση 1 (2/2) Δηλώστε μέθοδο με όνομα Perimeter που να υπολογίζει και να επιστρέφει την περιφέρεια του κύκλου. Στο κυρίως πρόγραμμά σας δηλώστε δύο στιγμιότυπα της κλάσης Circle με διαφορετικά κέντρα και ακτίνες. Βεβαιωθείτε ότι οι μέθοδοι που υπολογίζουν το εμβαδόν και την περιφέρεια δίνουν τα σωστά αποτελέσματα. 61

62 Άσκηση 2 (1/2) Δηλώστε μια κλάση με το όνομα CWindow. Κάτω από προσδιορισμό protected δηλώστε τέσσερα (4) μέλη δεδομένων τύπου int με ονόματα Top, Left, Bottom και Right. Δηλώστε κατασκευαστή που να δέχεται τέσσερις (4) σταθερές παραμέτρους ίδιου τύπου με τα μέλη δεδομένων και να τις αντιγράφει σε αυτά. Δηλώστε μια μέθοδο με το όνομα Write η οποία δε δέχεται παραμέτρους, δεν επιστρέφει τίποτα και δε μεταβάλει την κατάσταση του εκάστοτε στιγμιότυπου (δηλαδή έχει τη δεσμευμένη λέξη const μετά τις παρενθέσεις της μεθόδου). 62

63 Άσκηση 2 (2/2) Η μέθοδος αυτή να τυπώνει τις τιμές των μελών δεδομένων της κλάσης. Στο κυρίως πρόγραμμά σας δηλώστε στιγμιότυπο της κλάσης και τυπώστε τα περιεχόμενά του. Δείξτε τα αποτελέσματα που θα πάρετε. 63

64 Άσκηση 3 (1/4) Δηλώστε μια κλάση με το όνομα CDate. Κάτω από προσδιορισμό public δηλώστε τρία μέλη δεδομένων τύπου int με ονόματα Day, Month και Year. Δηλώστε κατασκευαστή που να δέχεται τρεις παραμέτρους ίδιου τύπου με τα μέλη δεδομένων και να τις αντιγράφει σε αυτά. Αυτή η αρχικοποίηση να μη γίνεται στο κυρίως μέρος του κατασκευαστή. Δηλώστε και υλοποιήστε τον κατασκευαστή αντιγράφου (βεβαιωθείτε ότι δεν αντιγράφετε ένα στιγμιότυπο στον εαυτό του). 64

65 Άσκηση 3 (2/4) Δηλώστε μια κλάση με το όνομα CVacation. Κάτω από προσδιορισμό protected δηλώστε δύο μέλη δεδομένων τύπου CDate με ονόματα Start και End. Κάτω από προσδιορισμό public δηλώστε κατασκευαστή που να δέχεται δύο παραμέτρους ίδιου τύπου με τα μέλη δεδομένων και να τις αντιγράφει σε αυτά. Αυτή η αρχικοποίηση να μη γίνεται στο κυρίως μέρος του κατασκευαστή. 65

66 Άσκηση 3 (3/4) Δηλώστε και υλοποιήστε μια μέθοδο Write που δε δέχεται παραμέτρους, δεν επιστρέφει τίποτα και δε μεταβάλει την κατάσταση του εκάστοτε στιγμιότυπου. Σε αυτή να τυπώνετε το μήνυμα πότε ξεκινούν και πότε τελειώνουν οι διακοπές κάποιου. Στο κυρίως πρόγραμμά σας δηλώστε δύο στιγμιότυπα της CDate, αρχικοποιώντας τα με δικές σας τιμές. 66

67 Άσκηση 3 (4/4) Δηλώστε ένα στιγμιότυπο της CVacation που να αρχικοποιείται με τα δύο στιγμιότυπα της CDate που μόλις δηλώσατε. Καλέστε τη Write. Τι αποτέλεσμα θα πάρετε; 67

68 Άσκηση 4 (1/2) Δηλώστε μια κλάση με όνομα Rectangle που να περιέχει δύο μέλη δεδομένων τύπου κινητής υποδιαστολής απλής ακρίβειας με ονόματα Width και Height, κάτω από προσδιορισμό protected. Δηλώστε και υλοποιήστε κατασκευαστή που να δέχεται δύο παραμέτρους ίδιου τύπου με τα μέλη δεδομένων και να τις αντιγράφει σε αυτά. 68

69 Άσκηση 4 (2/2) Δηλώστε και υλοποιήστε δύο μεθόδους με ονόματα Area και Perimeter που να υπολογίζουν και να επιστρέφουν το εμβαδόν και την περιφέρεια του ορθογωνίου, αντίστοιχα. Στο κυρίως πρόγραμμά σας δηλώστε δύο στιγμιότυπα της παραπάνω κλάσης, αρχικοποιήστε τα κατάλληλα με δικές σας τιμές και τυπώστε τα εμβαδά και τις περιφέρειές τους. 69

70 Άσκηση 5 (1/4) Δηλώστε μια κλάση με όνομα Rectangle που να περιέχει τέσσερα (4) μέλη δεδομένων τύπου κινητής υποδιαστολής διπλής ακρίβειας με ονόματα (x1, y1) για την κάτω αριστερή γωνία του ορθογωνίου και (x2, y2) για την πάνω δεξιά γωνία του. Δηλώστε και υλοποιήστε κατασκευαστή που να δέχεται τέσσερις παραμέτρους ίδιου τύπου με τα μέλη δεδομένων και να τις αντιγράφει σε αυτά. 70

71 Άσκηση 5 (2/4) Αν οι συντεταγμένες δε δοθούν σωστά (π.χ. x1 > x2), φροντίστε ώστε τα μέλη δεδομένων να πάρουν τις τιμές τους με τη σωστή σειρά. Δηλώστε και υλοποιήστε δύο μεθόδους με ονόματα Area και Perimeter που να υπολογίζουν και να επιστρέφουν το εμβαδόν και την περιφέρεια του ορθογωνίου, αντίστοιχα. Προσέξτε ότι εδώ θα πρέπει να έχετε ενδιάμεσο βήμα που να υπολογίζει πρώτα το πλάτος και το ύψος του ορθογωνίου, προτού τα χρησιμοποιήσει στις πράξεις. 71

72 Άσκηση 5 (3/4) Εναλλακτικά, ενσωματώστε αυτές τις πράξεις στους υπολογισμούς, προσέχοντας, και στις δύο μεθόδους, να μη πάρετε λάθος αποτελέσματα εάν οι χρήστες της παραπάνω κλάσης δώσουν x1 > x2 ή y1 > y2. Δηλώστε και υλοποιήστε μέθοδο με όνομα MoveTo η οποία δεν επιστρέφει τίποτα. Η μέθοδος αυτή θα δέχεται δύο παραμέτρους ίδιου τύπου με τα μέλη δεδομένων, με ονόματα Dx και Dy, ώστε να μετακινεί το ορθογώνιο στο επίπεδο (μεταβάλλει τα μέλη κατάλληλα βάσει των Dx και Dy). 72

73 Άσκηση 5 (4/4) Δηλώστε και υλοποιήστε μια μέθοδο Write η οποία δε δέχεται παραμέτρους, δεν επιστρέφει τίποτα και δε μεταβάλει την κατάσταση του εκάστοτε στιγμιότυπου, και τυπώνει τις τιμές των x1, y1, x2 και y2. Στο κυρίως πρόγραμμά σας βεβαιωθείτε ότι οι μέθοδοι της παραπάνω κλάσης λειτουργούν και αποδίδουν τα αναμενόμενα αποτελέσματα. 73

74 Βιβλιογραφία (1/10) 1. Alexandrescu A. (2001) Modern C++ design: generic programming and design patterns applied. USA, Addison-Wesley Publishing Company. 323 pp. ISBN ( 22.85, 27,42). 2. Bennett S, McRobb S and R Farmer. (2002) Object-oriented systems analysis and design using UML. 2nd Edition. McGraw- Hill Education. ISBN Booch G, Maksimchuk RA, Engle MW, Young BJ, Conallen J and Houston KA. (2007) Object-oriented analysis and design with applications. 3rd ed. USA, Addison-Wesley. 691 pp. ISBN X. ISBN ( 43.44, 52.56). 74

75 Βιβλιογραφία (2/10) 4. Carrano FM and Henry T. (2013) Data abstraction and problem solving with C++: walls and mirrors. 6th ed. UK, Pearson Education Limited. 833 pp. ISBN , ISBN Deitel HM and Deitel PJ. (2010) C++ προγραμματισμός. 6η Έκδοση. Ελλάδα, Εκδόσεις Μ. Γκιούρδα σελ. ISBN Fowler M. (1999) Refactoring: improving the design of existing code. USA, Addison Wesley Longman, Inc. 431 pp. ISBN ( 38.62, 49.05). 75

76 Βιβλιογραφία (3/10) 7. Fowler M. (2004) UML distilled: a brief guide to the standard object modeling language. 3rd ed. USA, Pearson Education, Inc. 175 pp. ISBN ( 30.10, 38.23). 8. Kruse RL and Ryba AJ. (1999) Data structures and program design in C++. USA, Prentice Hall. 717 pp. ISBN ( 40.74). 9. Lafore R. (2006) Αντικειμενοστρεφής προγραμματισμός με τη C++. Ελλάδα, Εκδόσεις Κλειδάριθμος σελ. ISBN

77 Βιβλιογραφία (4/10) 10. Lafore, R. (2002) Object-oriented programming in C++. 4th ed. USA, Sams Publishing pp. ISBN ISBN ( 29.60, 33.35). 11. Lakos, J. (1996) Large-Scale Software Design in C++. USA, Addison-Wesley. 852 pp. ISBN ISBN ( 26.26, 30.20). 12. MacLennan BJ. (1987) Principles of programming languages: design, evaluation, and implementation. 2nd ed. USA, CBS College Publishing. 568 pp. ISBN X. ( 8.00). 77

78 Βιβλιογραφία (5/10) 13. Martin RC. (2012) Agile software development: principles, patterns, and practices. USA, Pearson Education, Inc. 529 pp. ISBN ISBN ( 54.21, 65.59). 14. McConnell S. (1993) Code complete: a practical handbook of software construction. USA, Microsoft Press. 857 pp. ( 25.99). 15. McConnell S. (1996) Rapid development: taming wild software schedules. USA, Microsoft Press. 647 pp. ISBN ( 25.99). 78

79 Βιβλιογραφία (6/10) 16. McConnell S. (2004) Professional software development: shorter schedules, higher quality products, more successful projects, enhanced careers. USA, Addison-Wesley. 243 pp. ISBN ( 19.79, 29.08). 17. McDermid J, ed. (1991) Software engineer s reference book. Great Britain, Butterworth-Heinemann Ltd pp. ISBN ( 40.00). 18. Meyers S. (1996) More effective C++: 35 new ways to improve your programs and designs. USA, Addison-Wesley. 318 pp. ISBN X. ( 25.29, 36.90). 79

80 Βιβλιογραφία (7/10) 19. Meyers S. (2005) Effective C++: 55 specific ways to improve your programs and designs. 3rd ed. USA, Pearson Education, Inc. 297 pp. ISBN ( 18.52, 27.01). 20. Pressman RS. (2005) Software engineering: a practitioner s approach. 6th int. ed. Singapore, McGraw-Hill. 912 pp. ISBN ( 45.06, 65.83). 21. Reddy M. (2011) API design for C++. USA, Morgan Kaufmann Publishers. 441 pp. ISBN ( 28.01, 32.21). 22. Sahni S. (2004) Δομές δεδομένων, αλγόριθμοι, και εφαρμογές στη C++. Ελλάδα/ΗΠΑ, Εκδόσεις Τζιόλα/McGraw-Hill. 852 σελ. ISBN ( 66.56). 80

81 Βιβλιογραφία (8/10) 23. Savitch W and Mock K. (2013) Πλήρης C++. 4η Έκδοση. Ελλάδα, Εκδόσεις Τζιόλα σελ. ISBN ( 76.14). 24. Savitch W. (2015) Java: and introduction to problem solving and programming. 7th ed. USA, Pearson Education, Inc. 989 pp (+204 pp web chapters). ISBN ISBN ( 83.99, , $122.68). 25. Schildt H. (2000) Ο οδηγός της C++. 3η Έκδοση, Εκδόσεις Μ. Γκιούρδα. 748 σελ. ISBN ( 29.00). 26. Schildt H. (2004) Μάθετε τη C++ από το μηδέν. 3η Έκδοση. Ελλάδα, Εκδόσεις Κλειδάριθμος. 660 σελ. ISBN ( 46.90). 81

82 Βιβλιογραφία (9/10) 27. Sommerville I. (2004) Software Engineering. 7th ed. USA, Addison-Wesley. 759 pp. ISBN ( 40.95, 60.17). 28. Stroustrup B. (2000) The C++ programming language. Special Edition. USA, Addison-Wesley Longman, Inc pp. ISBN ( 37.20, 54.26). 29. Sutter H and Alexandrescu A. (2005) C++ coding standards: 101 rules, guidelines, and best practices. USA, Pearson Education, Inc. 220 pp. ISBN ISBN ( 19.71, 22.67). 82

83 Βιβλιογραφία (10/10) 30. Sutter H. (2000) Exceptional C++: 47 engineering puzzles, programming problems, and solutions. USA, Addison- Wesley Longman, Inc. 215 pp. ISBN ISBN ( 24.32, 27.97). 31. Sutter H. (2002) More exceptional C++: 40 new engineering puzzles, programming problems, and solutions. USA, Pearson Education, Inc. 279 pp. ISBN X. ISBN ( 28.05, 32.26). 32. Χατζηγιαννάκης ΝΜ. (2014) Η γλώσσα C++ σε βάθος. 2η αναθεωρημένη έκδοση. Ελλάδα, Εκδόσεις Κλειδάριθμος. 974 σελ. ISBN ( 89.00). 83

84 Τέλος Ενότητας

85 Σημείωμα Αναφοράς Copyright ΤΕΙ Δυτικής Μακεδονίας, Σίσιας Γεώργιος. «Προγραμματισμός ΙΙ». Έκδοση: 1.0. Κοζάνη Διαθέσιμο από τη δικτυακή διεύθυνση: 85

86 Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 86

87 Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 87

Προγραμματισμός ΙΙ Ενότητα 5:

Προγραμματισμός ΙΙ Ενότητα 5: Προγραμματισμός ΙΙ Ενότητα 5: Εισαγωγή στις κλάσεις, στα μέλη δεδομένων και στις μεθόδους - Μέρος 3 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 7: Βιβλιοθήκες - Μέρος 2. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 7: Βιβλιοθήκες - Μέρος 2. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 7: Βιβλιοθήκες - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 2: Διαχείριση μνήμης. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 2: Διαχείριση μνήμης. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 2: Διαχείριση μνήμης Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 8: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 8: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 8: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ Ενότητα 5:

Προγραμματισμός ΙΙ Ενότητα 5: Προγραμματισμός ΙΙ Ενότητα 5: Εισαγωγή στις κλάσεις, στα μέλη δεδομένων και στις μεθόδους - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ Ενότητα 4:

Προγραμματισμός ΙΙ Ενότητα 4: Προγραμματισμός ΙΙ Ενότητα 4: Εισαγωγή στις κλάσεις, στα μέλη δεδομένων και στις μεθόδους - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 7: Βιβλιοθήκες - Μέρος 1. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 7: Βιβλιοθήκες - Μέρος 1. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 7: Βιβλιοθήκες - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 9: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 9: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 9: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 1: Προαπαιτούμενα. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 1: Προαπαιτούμενα. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 1: Προαπαιτούμενα Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 4: Διαχείριση μνήμης. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 4: Διαχείριση μνήμης. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 4: Διαχείριση μνήμης Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 6: Βιβλιοθήκες - Μέρος 1. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 6: Βιβλιοθήκες - Μέρος 1. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 6: Βιβλιοθήκες - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 9: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 9: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 9: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 1: Βασικοί τύποι δεδομένων. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 1: Βασικοί τύποι δεδομένων. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 1: Βασικοί τύποι δεδομένων Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ Ενότητα 3:

Προγραμματισμός ΙΙ Ενότητα 3: Προγραμματισμός ΙΙ Ενότητα 3: Εισαγωγή στις κλάσεις, στα μέλη δεδομένων και στις μεθόδους - Μέρος 1 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 8: Βιβλιοθήκες - Μέρος 2. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 8: Βιβλιοθήκες - Μέρος 2. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 8: Βιβλιοθήκες - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 2: Επανάληψη στον Προγραμματισμό Ι. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 2: Επανάληψη στον Προγραμματισμό Ι. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 2: Επανάληψη στον Προγραμματισμό Ι Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 3: Βασικοί τύποι δεδομένων. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 3: Βασικοί τύποι δεδομένων. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 3: Βασικοί τύποι δεδομένων Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ. Ενότητα 10: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός ΙΙ. Ενότητα 10: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Προγραμματισμός ΙΙ Ενότητα 10: Πρότυπες συναρτήσεις και πρότυπες κλάσεις - Μέρος 2 Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 2: Περισσότερα για τους δείκτες. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Δομές Δεδομένων. Ενότητα 2: Περισσότερα για τους δείκτες. Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Δομές Δεδομένων Ενότητα 2: Περισσότερα για τους δείκτες Δρ. Γεώργιος Σίσιας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 7: ΑΣΚΗΣΕΙΣ ΜΕΓΕΘΟΥΣ ΕΠΙΧΕΙΡΗΣΗΣ Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Εισαγωγή στην C++ ΔΙΔΑΣΚΟΝΤΕΣ:Iωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής H Γλώσσα C++ ΙΣΤΟΡΙΑ 1967:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2) Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2) Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 5: H ΓΛΩΣΣΑ C++ Πίνακες & Δείκτες ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πίνακες Πίνακες Τα στοιχεία

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 7: C++ TEMPLATES, ΥΠΕΡΦΟΡΤΩΣΗ ΤΕΛΕΣΤΩΝ, ΕΞΑΙΡΕΣΕΙΣ Υπερφόρτωση Τελεστών ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 6: C++ ΚΛΑΣΕΙΣ, ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ, ΠΟΛΥΜΟΡΦΙΣΜΟΣ Κληρονομικότητα ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5 η Άσκηση Συγχώνευση & απαρίθμηση Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης

Διαβάστε περισσότερα

Δομές Δεδομένων Ενότητα 1

Δομές Δεδομένων Ενότητα 1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 1: Εισαγωγή Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 9: ΑΣΚΗΣΕΙΣ ΕΠΙΛΟΓΗΣ ΤΟΠΟΥ ΕΓΚΑΤΑΣΤΑΣΗΣ Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 7: Υπερφόρτωση διμελών τελεστών Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 7: C++ TEMPLATES, ΥΠΕΡΦΟΡΤΩΣΗ ΤΕΛΕΣΤΩΝ, ΕΞΑΙΡΕΣΕΙΣ Templates ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής

Διαβάστε περισσότερα

Διοικητική Λογιστική

Διοικητική Λογιστική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διοικητική Λογιστική Ενότητα 10: Προσφορά και κόστος Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5 η Άσκηση - Συγχώνευση Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας Ενότητα 8: Αξιολόγηση και επιλογή αγορών στόχων από ελληνική εταιρία στον κλάδο παραγωγής και εμπορίας έτοιμου γυναικείου Καθ. Αλεξανδρίδης Αναστάσιος Δρ. Αντωνιάδης

Διαβάστε περισσότερα

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους. Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 2: Οργάνωση και Διοίκηση Εισαγωγή Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 6: Κατανομή και Δυναμική Διαχείριση Μνήμης, τελεστές new και delete, υπερφόρτωση μονομελών τελεστών Το περιεχόμενο

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Βάσεις Δεδομένων Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 4: Στρατηγικοί προσανατολισμοί Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 9: Μνήμη Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 10: Συναρτήσεις Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 11: Θεωρία Οργάνωσης & Διοίκησης Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 6: ΜΕΓΕΘΟΣ ΕΠΙΧΕΙΡΗΣΗΣ Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

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

Αντικειμενοστραφής Προγραμματισμός 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αντικειμενοστραφής Προγραμματισμός Ενότητα 5 : Δομή Προγράμματος C++ Ιωάννης Τσούλος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 7: Συναρτήσεις Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής Ανοικτά Ακαδημαϊκά Μαθήματα Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας Πίνακες Νερού σε κατάσταση Κορεσμού Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής Διπλ. Ναυπηγός Μηχανολόγος Μηχανικός M.Sc. Διασφάλιση

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 6 η Άσκηση - DFS δένδρα Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 8: Δείκτες Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 2: Δημιουργία και Επεξεργασία διανυσμάτων και πινάκων μέσω του Matlab Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ Άδειες

Διαβάστε περισσότερα

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

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βασικά Δομικά Στοιχεία ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΔΟΜΙΚΑ

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 2: Τύποι μεταβλητών Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 6: Λογισμικό Υπολογιστών Γλώσσες Προγραμματισμού Πασχαλίδης Δημοσθένης Τμήμα Διαχείρισης Εκκλησιαστικών Κειμηλίων Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 3: Στρατηγικός Προγραμματισμός Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΟΙΚΟΝΟΜΕΤΡΙΑ Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

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

Συστήματα Αναμονής. Ενότητα 3: Στοχαστικές Ανελίξεις. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Συστήματα Αναμονής Ενότητα 3: Στοχαστικές Ανελίξεις Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διδακτική Πληροφορικής Ενότητα 12: Επίλυση προβλημάτων σε προγραμματιστικό περιβάλλον Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

Διαβάστε περισσότερα

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1) Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1) Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

Συστήματα Αναμονής. Ενότητα 5: Ανέλιξη Poisson. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Συστήματα Αναμονής. Ενότητα 5: Ανέλιξη Poisson. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Συστήματα Αναμονής Ενότητα 5: Ανέλιξη Poisson Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

Διαβάστε περισσότερα

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση Αγροτικής Οικονομίας Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 4: Δομές Ελέγχου Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

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

Διαβάστε περισσότερα

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων Δρ.Ευσταθία Παπαγεωργίου, Αναπληρώτρια Καθηγήτρια Τμήμα Ιατρικών Εργαστηρίων Το περιεχόμενο του μαθήματος διατίθεται

Διαβάστε περισσότερα

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ Ενότητα 7: Άσκηση στο Εναλλασσόμενο Ρεύμα Αριστείδης Νικ. Παυλίδης Τμήμα Μηχανολόγων Μηχανικών και Βιομηχανικού Σχεδιασμού ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΟΙΚΟΝΟΜΕΤΡΙΑ Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας Ενότητα 1: 8 Bήματα για να Εξάγω Εξαγωγική Ετοιμότητα Επιχειρήσεων Καθ. Αλεξανδρίδης Αναστάσιος Δρ. Αντωνιάδης Ιωάννης Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

Διαβάστε περισσότερα

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

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

Διαβάστε περισσότερα

Στατιστική Ι. Ενότητα 3: Στατιστική Ι (3/4) Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

Στατιστική Ι. Ενότητα 3: Στατιστική Ι (3/4) Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη) Στατιστική Ι Ενότητα 3: Στατιστική Ι (3/4) Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 10: Πρότυπα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΑ ΣΗΕ Λαμπρίδης Δημήτρης Κατσανού Βάνα Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΑ ΣΗΕ Λαμπρίδης Δημήτρης Κατσανού Βάνα Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΑ ΣΗΕ Λαμπρίδης Δημήτρης Κατσανού Βάνα Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο Ενότητα 4: Τελεστές - Αλγόριθμος Διδάσκουσα: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ Ι Σημειώσεις MATLAB Ενότητα 4 ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4 Σημειώσεις βασισμένες στο

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Συναρτήσεις 60 Ροή ελέγχου Είναι η σειρά µε την οποία εκτελούνται οι εντολές. Μέχρι τώρα, «σειριακή»,

Διαβάστε περισσότερα

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

Ηλεκτρονικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 9: Πίνακες στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Τεχνικό Σχέδιο - CAD Τόξο Κύκλου - Έλλειψη ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Τόξο Κύκλου Τόξο κύκλου Στην ορολογία του Autocad: Arc Εντολή: arc

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αντικειμενοστραφής Προγραμματισμός 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αντικειμενοστραφής Προγραμματισμός Ενότητα 12 : Επαναληπτικές Ασκήσεις (2/3) Ιωάννης Τσούλος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα Τμήμα Μηχανικών

Διαβάστε περισσότερα

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου Ενότητα 4 η : ΕΥΣΤΑΘΕΙΑ ΤΩΝ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ Επ. Καθηγητής Γαύρος Κωνσταντίνος ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΤΕ Άδειες Χρήσης

Διαβάστε περισσότερα

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

Ηλεκτρονικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 5: Εντολές Αντικατάστασης, Συναρτήσεις και Σχόλια στη C++ Ζαχαρούλα Ανδρεοπούλου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Μηχανολογικό Σχέδιο Ι

Μηχανολογικό Σχέδιο Ι ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Ενότητα # 8: Άτρακτοι και σφήνες Μ. Γρηγοριάδου Μηχανολόγων Μηχανικών Α.Π.Θ. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Οικονομετρία Ι. Ενότητα 10: Διαγνωστικοί Έλεγχοι. Δρ. Χαϊδώ Δριτσάκη Τμήμα Λογιστικής & Χρηματοοικονομικής

Οικονομετρία Ι. Ενότητα 10: Διαγνωστικοί Έλεγχοι. Δρ. Χαϊδώ Δριτσάκη Τμήμα Λογιστικής & Χρηματοοικονομικής Οικονομετρία Ι Ενότητα 10: Διαγνωστικοί Έλεγχοι Δρ. Χαϊδώ Δριτσάκη Τμήμα Λογιστικής & Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα