Εργαστήριο 10 Κλάσεις

Σχετικά έγγραφα
Εισαγωγή στον Προγραμματισμό με C++

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

ΚΑΤΑΣΚΕΥΑΣΤΕΣ ΑΝΤΙΓΡΑΦΗΣ

Εργαστήριο 9 Δομές. int age; double salary; } yp1;

Κλάσεις και αντικείμενα #include <iostream.h<

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

Aσκήσεις Πράξης 6 - EΠΑΝΑΛΗΠΤΙΚΟ A ΜΕΘΟ ΟΛΟΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι ΕΡΓΑΣΤΗΡΙΟ. 5. Τι τυπώνει το επόµενο πρόγραµµα:

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Ευάγγελος Γ. Ούτσιος Θεόδωρος Γ. Λάντζος Διάλεξη Νο8

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

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

Εργαστήριο 2: Πίνακες

Aντικειμενοστραφής. Προγραμματισμός. Κληρονομικότητα

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό

Προγραμματισμός Υπολογιστών με C++

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

9:00-10:00 π.μ. (60 λεπτά) Παρασκευή, 14 Οκτωβρίου, 2016

ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΑΤΙΣΜΟΣ Α (C++) ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΤΩΝ Δρ. Νικόλαος Ζ. Ζάχαρης

5. ΣΥΝΑΡΤΗΣΕΙΣ. (Πρόχειρο σχέδιο - Μαθήµατος 3) p Συναρτήσεις, που δεν επιστρέφουν κάποια τιµή

Εργαστήριο 3 Εντολή for while, do while

ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ. Σχηματική παράσταση του προγράμματος. logariasmos

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Βιβλιοθήκες Αφηρημένοι τύποι δεδομένων. Προγραμματισμός II 1

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Προγραμματισμός ΙI (E)

ΚΛΑΣΕΙΣ ΜΕΘΟΔΟΙ - ΑΝΤΙΚΕΙΜΕΝΑ

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Προγραμματισμός Η/Υ (ΤΛ2007 )

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

ΚΑΛΟΥΠΩΜΑΤΑ & ΜΕΤΑΤΡΟΠΕΣ

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

4 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Διάλεξη 9η: Πίνακες (arrays)

ΣΥΣΧΕΤΙΣΕΙΣ ΚΛΑΣΕΩΝ (Class relationships)

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 2 η

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )

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

Δομές Επανάληψης. Εισαγωγή στη C++

Μεθόδων Επίλυσης Προβλημάτων

Τι είναι κλάση Κλάση

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

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

Μεθόδων Επίλυσης Προβλημάτων

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Αρχεία Κεφαλίδων ΑΡΧΕΙΑ ΚΕΦΑΛΙΔΩΝ. Γεώργιος Παπαϊωάννου ( )

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Σηµειώσεις Εργαστηρίου)

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης

public: Horse(){} Horse(double h,string c,string n,int a):animal(n,a){ itsheight=h; itscolor=c; } void fonialogou(){ cout<<"xlimintrisma"<<endl;} };

Προγραμματισμός Ι. Εισαγωγή στην C++ Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

Ενδεικτικές λύσεις και στατιστικά

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων

Μάθημα 1 [3/11/2015].

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Δισδιάστατοι Πίνακες (2D Arrays) Εισαγωγή στη C++

Αντικείμενα στη Java. Παύλος Εφραιμίδης. Java Αντικείμενα στη Java 1

Δυναμική μνήμη με πίνακες και λίστες

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1)

Στοιχειώδης προγραμματισμός σε C++

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Ερώτημα Α 1. Να γράψετε τις εντολές που πραγματοποιούν τα ακόλουθα:

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

Τελεστές ΤΕΛΕΣΤΕΣ. Γεώργιος Παπαϊωάννου ( )

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Καλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!!

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

Προγραμματισμός 2 Σημειώσεις εργαστηρίου

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

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

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

ΗΥ-150. Προγραμματισμός

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

ΗΥ-150. Πίνακες (Arrays)

Εισαγωγή στη γλώσσα προγραμματισμού C++

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Προγραµµατισµός Ι (ΗΥ120)

Προγραμματισμός Υπολογιστών με C++

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Transcript:

Εργαστήριο 10 Κλάσεις Άσκηση 10.1 Να οριστεί μία κλάση που αφορά ορθογώνια και περιλαμβάνει συναρτήσεις μέλη TimesPlevron με την οποία εισάγονται δύο τιμές που αφορούν τις δυο πλευρές ενός ορθογωνίου και την συνάρτηση Emvado με την οποία υπολογίζεται το εμβαδό του ορθογωνίου // classes example class KOrthogonio int x, y; void TimesPlevron(int,int); int Emvado () ; ; void KOrthogonio::TimesPlevron (int a, int b) x = a; y = b; int KOrthogonio::Emvado() return (x*y); int main () KOrthogonio rect; rect.timesplevron (10,20); cout << "To emvado = " << rect.emvado()<<endl ; Άσκηση 10.2 Άσκηση χωρίς κώδικα Στην ανωτέρω άσκηση να οριστούν 3 ορθογώνια και να ευρεθούν τα εμβαδά τους

Άσκηση για τον σπουδαστή Στην ανωτέρω άσκηση να οριστεί μέθοδος με όνομα Κdeixe. Η μέθοδος αυτή να χρησιμοποιείται στο main ώστε να υπάρχει δυνατότητα εμφάνισης των διαστάσεων των δύο πλευρών ενός αντικειμένου.

Άσκηση 10.3 Nα ορισθεί μία κλάση που αφορά τηλεόραση και περιλαμβάνει τις παρακάτω συναρτήσεις μέλη 1) SetKanali που να βάζει ένα κανάλι στην τηλεόραση και 2) GetKanali εμφανίζει το κανάλι. Οι συναρτήσεις να εφαρμόζονται σε ένα αντικείμενο της κλάσης. class TV int m_kanali; void SetKanali(int Kanali) m_kanali=kanali; ; int GetKanali() cout<<m_kanali<<endl; ; ; int main(int argc, char *argv[]) TV mytv; mytv.setkanali(10); mytv.getkanali();

Άσκηση 10.4 Nα ορισθεί μία κλάση που αφορά σπουδαστές. Κάθε αντικείμενο που ανήκει στην κλάση έχει σαν δεδομένα τον κωδικό του σπουδαστή τον βαθμό του στα εργαστήρια και τον βαθμό του στην θεωρία. Η κλάση περιλαμβάνει τις παρακάτω συναρτήσεις μέλη 1) SetData που να θέτει τιμές σε ένα σπουδαστή 2) Mesos που υπολογίζει και επιστρέφει τον μέσο όρο των δύο βαθμών. 3) Kodikos που εμφανίζει τον κωδικό σπουδαστή 4) Vathmoi που εμφανίζει του βαθμούς και τον μέσο όρο Οι συναρτήσεις να εφαρμοστούν σε ένα αντικείμενο που ορίζεται στο main και που ανήκει στην κλάση. class Spoudastis int m_kod; float m_the,m_erga; void SetData(int kod, float theo, float erga) m_kod = kod; m_the = theo;m_erga=erga; float Mesos() float m=(m_the+m_erga)/2; return (m); int Kodikos() return (m_kod); ; void Vathmoi() cout<<" "<<m_the<<" "<<m_erga<<" "<<endl; int main(int argc, char *argv[]) int k; float t,e; cout<< "Dose kodiko kai vathmous \n"; cin>>k>>t>>e; Spoudastis Spoud1; Spoud1.SetData(k,t,e); cout<<"\n\n\nkodikos MesosOros Theoria Ergastirio \n"; cout<< Spoud1.Kodikos()<<" " ; cout<< Spoud1.Mesos() ; Spoud1.Vathmoi(); Άσκηση για τον σπουδαστή Στην ανωτέρω άσκηση να οριστεί και συνάρτηση μέλος της κλάσης που να εμφανίζει το κατάλληλο μήνυμα εάν ο σπουδαστής πέρασε θεωρία πέρασε εργαστήριο πέρασε το μάθημα κόπηκε και στα δύο ανάλογα με τους βαθμούς που πήρε

Άσκηση 10.5 Το πρόγραμμα αυτό είναι επανάληψη της άσκησης 8.1. Όμως, τώρα, έχουμε αφαιρέσει την συνάρτηση TimesPlevron (), και έχουμε συμπεριλάβει ένα constructor (κατασκευαστή) που εκτελεί μια παρόμοια λειτουργία δηλαδή αποδίδει τιμές (αρχικοποιεί) στις μεταβλητές x y κάνοντας χρήση των παραμέτρων που υπάρχουν στην συνάρτηση constructor. class KOrthogonio int x, y; KOrthogonio(int, int ); int Emvado (); ; KOrthogonio::KOrthogonio(int a, int b) x = a; y = b; int KOrthogonio::Emvado () return (x*y); int main () KOrthogonio rect1 (10,20); cout << "To emvado = " << rect1.emvado()<<endl; class KOrthogonio int x, y; KOrthogonio(int a, int b) x = a; y = b; int Emvado ()return (x*y); ;

Άσκηση 10.6 Να γραφεί πρόγραμμα που να υπολογίζει τον όγκο ενός δωματίου με χρήση κλάσης. Για τον λόγο αυτό να οριστεί μία κλάση Kdomatia που να περιλαμβάνει τις κατάλληλες μεταβλητές μέλη και ένα constructor με τον οποίο να εισάγονται τιμές στις διαστάσεις του δωματίου. Επίσης η κλάση να περιλαμβάνει μέθοδο Ogos που να υπολογίζει τον όγκο του δωματίου. Αφού υπολογιστεί ο όγκος ενός αρχικού δωματίου να υπολογίζεται και ο όγκος ενός δωματίου που έχει τις διπλάσιες διαστάσεις από το αρχικό. class Kdomatia // Class definition at global scope double m_length; // Length of a box double m_width; // Width of a box double m_height; // Height of a box // Function to calculate the volume of a box Kdomatia (double l,double w, double h) m_length=l; m_width=w; m_height=h; // Kdomatia () double Ogos() return m_length*m_width*m_height; ; int main(int argc, char *argv[]) Kdomatia dom1 (10.0,20.0,10.0); // Declare dom2 of type Kdomatia Kdomatia dom2 (0,0,0); // Declare dom2 of type Kdomatia dom2.m_height = 2*dom1.m_Height ; // Define dom2 dom2.m_length = 2*dom1.m_Length; // members in dom2.m_width = 2*dom1.m_Length; // terms of dom2 cout << endl << "Ogos tou dom1 = " << dom1.ogos(); cout << endl << "Ogos tou dom2 = " << dom2.ogos(); cout <<"\nto antikeimeno dom2 katalamvanei " << sizeof(dom2) << " bytes."; cout << endl;

Άσκηση για τον σπουδαστή Στο ανωτέρω πρόγραμμα να μετατραπεί η πρόσβαση στις μεταβλητές που αφορούν τις διαστάσεις του δωματίου από public σε private και να ξαναγραφεί το main ώστε να υπολογίζεται το εμβαδό ενός δωματίου με διπλάσιες διαστάσεις από το αρχικό.