Παλεπηζηήκην Παηξώλ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Σάξειρ και Αθαίπεζη Δεδομένων. Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ

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

Download "Παλεπηζηήκην Παηξώλ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Σάξειρ και Αθαίπεζη Δεδομένων. Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ"

Transcript

1 Παλεπηζηήκην Παηξώλ Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Σάξειρ και Αθαίπεζη Δεδομένων 1

2 6.1 Εηζαγωγή 6.2 Οξηζκόο δνκώλ - Structure 6.3 Πξνζπέιαζε κειώλ δνκήο - structure 6.4 Υινπνίεζε ηύπνπ Time κε struct από ην ρξήζηε 6.5 Υινπνίεζε αθεξεκέλνπ ηύπνπ Time κε ηάμε class 6.6 Εκβέιεηα ηάμεο θαη πξνζπέιαζε κειώλ 6.7 Δηαρωξίδνληαο δηεπαθή από ηελ πινπνίεζε 6.8 Έιεγρνο πξόζβαζεο ζηα κέιε 6.9 Σπλαξηήζεηο πξόζβαζεο θαη βνεζεηηθέο ζπλαξηήζεηο 6.10 Αξρηθνπνηώληαο ηα αληηθείκελα ηάμεο: Constructors 6.11 Χξήζε Default παξακέηξωλ κε Constructors 6.12 Destructors 6.13 Καιώληαο Constructors θαη Destructors 6.14 Using Set and Get Functions 6.15 Subtle Trap: Returning a Reference to a private Data Member 6.16 Default Memberwise Assignment 6.17 Software Reusability 2

3 6.1 Δηζαγσγή Αληηθεηκελνζηξαθήο Πξνγξακκαηηζκόο Οληνθεληξηθόο Πξνγξακκαηηζκόο Object-oriented programming (OOP) Δκθσιεύεη δεδνκέλα (ραξαθηεξηζηηθά) θαη ζπλαξηήζεηο (ζπκπεξηθνξά) ζε παθέηα πνπ θαινύληαη ηάμεηο Απόθξπςε πιεξνθνξίαο Οη ηάμεηο (αληηθείκελα) επηθνηλσλνύλ κε θαιώο νξηζκέλεο δηεπαθέο Οη ιεπηνκέξεηεο ηεο πινπνίεζεο βξίζθνληαη θξπκκέλεο κέζα ζηηο ίδηεο ηηο ηάμεηο Τύπνη νξηδόκελνη από ην ρξήζηε: ηάμεηο Γεδνκέλα (data members) Σπλαξηήζεηο (member functions or methods) Έθθαλζε-εθηέιεζε ηάμεο: αληηθείκελν 3

4 6.2 Οξηζκόο Γνκώλ-Structure Γνκέο Καζνξίδνπλ ηύπνπο πνπ πξνθύπηνπλ από ηε ζπλάζξνηζε κειώλ άιισλ ηύπσλ struct Time { Structure tag int hour; int minute; int second; Structure members }; Ολνκαηνινγία κειώλ ζε δνκή Structure Σηελ ίδηα struct: πξέπεη λα δίλνληαη κνλαδηθά νλόκαηα Σε δηαθνξεηηθέο structs: κπνξνύλ ηα νλόκαηα λα δηακνηξάδνληαη Ο νξηζκόο struct ηειεηώλεη πάληα κε εξσηεκαηηθό 4

5 6.2 Οξηζκόο Γνκώλ-Structure Απηό-αλαθεξόκελε δνκή-struct Τα κέιε κηαο Structure δε κπνξεί λα είλαη εθθάλζεηο (instance) εκθσιεπκέλεο struct Τα κέιε κηαο Structure κπνξνύλ λα είλαη δείθηεο ζε κηα instance εκθσιεπκέλεο struct (απηό-αλαθεξόκελε structure) Φξήζηκν γηα δηαζπλδεδεκέλεο ιίζηεο, νπξέο, ζηνίβεο θαη δέλδξα struct Γεκηνπξγεί έλαλ λέν ηύπν δεδνκέλσλ πνπ ρξεζηκνπνηείηαη γηα λα δειώζεη θαλείο κεηαβιεηέο Γειώλνληαη όπσο θαη νη ινηπέο κεηαβιεηέο άιισλ ηύπσλ Παξαδείγκαηα: Time timeobject; Time timearray[ 10 ]; Time *timeptr; Time &timeref = timeobject; 5

6 6.3 Πξνζπέιαζε κειώλ Structure Τειεζηέο πξνζπέιαζεο κειώλ Τειεζηήο ηειεία (.) γηα κέιε δνκήο-structure θαη ηάμεο Τειεζηήο βέινο (->) γηα κέιε δνκήο-structure θαη ηάμεο κέζσ δείθηε ζε αληηθείκελν Δθηύπσζε κέινπο hour ηνπ timeobject: cout << timeobject.hour; Ή timeptr = &timeobject; cout << timeptr->hour; timeptr->hour είλαη όκνην κε ( *timeptr ).hour Οη παξελζέζεηο απαηηνύληαη * έρεη κηθξόηεξε πξνηεξαηόηεηα έλαληη ηνπ. 6

7 6.4 Υινπνίεζε ηύπνπ Time κε struct από ην ρξήζηε Default: νη δνκέο-structures πεξλνύλ κε ηηκή Πέξαζκα κε αλαθνξά Απνθπγή ηνπ overhead γηα ηελ αληηγξαθή δνκήο C-style structures Γελ ππάξρεη δηεπαθή interface Δάλ αιιάμεη ε πινπνίεζε, όια ηα πξνγξάκκαηα πνπ ρξεζηκνπνηνύλ ηε struct πξέπεη λα αιιάμνπλ αλάινγα Γε κπνξεί λα εθηππσζεί σο εληαία κνλάδα Κάζε κέινο εθηππώλεηαη/δηακνξθώλεηαη ρσξηζηά Γε κπνξεί λα ζπγθξηζεί ζπλνιηθά Πξέπεη λα ζπγθξηζνύλ όια ηα κέιε έλα-έλα 7

8 1 // Fig. 6.1: fig06_01.cpp 2 // Create a structure, set its members, and print it. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 #include <iomanip> 9 10 using std::setfill; 11 using std::setw; // structure definition 14 struct Time { 15 int hour; // 0-23 (24-hour clock format) 16 int minute; // int second; // }; // end struct Time void printuniversal( const Time & ); // prototype 22 void printstandard( const Time & ); // prototype 23 Οξηζκόο ηύπνπ δνκήοstructure Time κε ηξία κέιε integer. Πέξαζκα κε αλαθνξά ζε αληηθείκελα Time γηα λα κελ έρνπκε overhead αληηγξαθήο. fig06_01.cpp (1 of 3) 8

9 24 int main() 25 { 26 Time dinnertime; // variable of new type Time dinnertime.hour = 18; // set hour member of dinnertime 29 dinnertime.minute = 30; // set minute member of dinnertime 30 dinnertime.second = 0; // set second member of dinnertime cout << "Dinner will be held at "; 33 printuniversal( dinnertime ); 34 cout << " universal time,\nwhich is "; 35 printstandard( dinnertime ); 36 cout << " standard time.\n"; dinnertime.hour = 29; // set hour to invalid value 39 dinnertime.minute = 73; // set minute to invalid value cout << "\ntime with invalid values: "; 42 printuniversal( dinnertime ); 43 cout << endl; return 0; } // end main 48 Χξεζηκνπνηνύκε ηειεζηή ηειεία γηα λα αξρηθνπνηήζνπκε ηα κέιε ηεο δνκήο. Απεπζείαο πξόζβαζε ζε δεδνκέλα επηηξέπεη ηελ αλάζεζε ιαλζαζκέλσλ ηηκώλ. fig06_01.cpp (2 of 3) 9

10 49 // print time in universal-time format 50 void printuniversal( const Time &t ) 51 { 52 cout << setfill( '0' ) << setw( 2 ) << t.hour << ":" 53 << setw( 2 ) << t.minute << ":" 54 << setw( 2 ) << t.second; } // end function printuniversal // print time in standard-time format 59 void printstandard( const Time &t ) 60 { 61 cout << ( ( t.hour == 0 t.hour == 12 )? : t.hour % 12 ) << ":" << setfill( '0' ) 63 << setw( 2 ) << t.minute << ":" 64 << setw( 2 ) << t.second 65 << ( t.hour < 12? " AM" : " PM" ); } // end function printstandard fig06_01.cpp (3 of 3) Χξήζε παξακεηξνπνηεκέλνπ fig06_01.cpp δηαρεηξηζηή stream output setfill (1 of 1) Χξήζε ηειείαο γηα πξόζβαζε ζηα κέιε δεδνκέλσλ. 10 Dinner will be held at 18:30:00 universal time, which is 6:30:00 PM standard time. Time with invalid values: 29:73:00

11 6.5 Υινπνίεζε αθεξεκέλνπ ηύπνπ Time κε ηάμε class Τάμεηο Αληηθείκελα Model Φαξαθηεξηζηηθά - Attributes (κέιε δεδνκέλα) Σπκπεξηθνξέο - Behaviors (κέιε ζπλαξηήζεηο) Οξίδεηαη κε ηε ιέμε-θιεηδί class Μέιε ζπλαξηήζεηο Μέζνδνη Καινύληαη ζε απάληεζε κελύκαηνο Καζνξηζηέο πξόζβαζεο ζε κέιε Δημόζια - public: Πξόζβαζε ζε νπνηνδήπνηε αληηθείκελν ηεο ηάμεο εληόο πεξηνρήο -scope Ιδιωηικό - private: Πξόζβαζε κόλν από κέιε ζπλαξηήζεηο ηεο ηάμεο Προζηαηευόμενο - protected: Πξόζβαζε από παξάγσγεο ηάμεηο 11

12 6.5 Υινπνίεζε αθεξεκέλνπ ηύπνπ Time κε ηάμε class Σπλάξηεζε Constructor Δηδηθό κέινο ζπλάξηεζε Αξρηθνπνηεί ηα δεδνκέλα Έρεη ην ίδην όλνκα κε ηελ ηάμε Καιείηαη όηαλ παξάγεηαη ην αληηθείκελν Μπνξεί λα ππάξρνπλ πνιινί constructors Υπεξθόξησζε ζπλαξηήζεσλ Function Γελ έρεη/επηζηξέθεη θάπνην type 12

13 1 class Time { 2 3 public: 4 Time(); Ο νξηζκόο ηεο Ξεθηλά ηάμεο // κε constructor μεθηλά αξηζηεξό public. άγθηζηξν. 5 void settime( int, κε int, ηε ιέμε int class. ); // set hour, minute, second 6 void printuniversal(); Πξνζδηνξηζηέο // print πξόζβαζεο. universal-time format Ο Constructor έρεη ην ίδην 7 void printstandard(); // print standard-time format 8 9 private: δελ έρεη ηύπν 10 int hour; // 0-23 (24-hour clock format) 11 int minute; // Η Ο ηάμε 0 νξηζκόο - 59 θιείλεη ηειεηώλεη κε δεμί κε 12 int second; // άγθηζηξν }; // end class Time Δεκόζηα κέιε ζπλαξηήζεηο όλνκα Ιδιωτικά κε ηελ ηάμε, μέλη Time, θαη δεδομένα - private πξνζπειάζηκα κόλν ζηηο ζπλαξηήζεηο ηεο ηάμεο εξσηεκαηηθό. Class Time definition (1 of 1) 13

14 6.5 Υινπνίεζε αθεξεκέλνπ ηύπνπ Time κε ηάμε class Αληηθείκελα ηεο ηάμεο Μεηά ηνλ νξηζκό ηεο ηάμεο Τν όλνκα ηάμεο είλαη έλαο πξνζδηνξηζηήο ελόο λένπ ηύπνπ Example: Τν όλνκα ηάμεο πξνζδηνξίδεη έλα λέν ηύπν Time sunset; // object of type Time Time arrayoftimes[ 5 ]; // array of Time objects Time *pointertotime; // pointer to a Time object Time &dinnertime = sunset; // reference to a Time object 14

15 6.5 Υινπνίεζε αθεξεκέλνπ ηύπνπ Time κε ηάμε class Μέιε ζπλαξηήζεηο εθηόο ηάμεο Binary scope resolution operator (::) Γέλεη ην όλνκα κέινπο κε κηα ηάμε Πξνζδηνξίδεη κνλαδηθά ηηο ζπλαξηήζεηο ζπγθεθξηκέλσλ ηάμεσλ Γηαθνξεηηθέο ηάμεηο κπνξνύλ λα έρνπλ ζπλαξηήζεηο κέιε κε ην ίδην όλνκα Μνξθή γηα ηνλ νξηζκό ζπλαξηήζεσλ κειώλ ReturnType ClassName::MemberFunctionName( ){ } Γελ αιιάδεη αλ ε ζπλάξηεζε είλαη public ή private Μέιε ζπλαξηήζεηο εληόο ηάμεο Γε ρξεηάδνληαη ηειεζηή νξηζκνύ scope θαη 15

16 1 // Fig. 6.3: fig06_03.cpp 2 // Time class. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 #include <iomanip> 9 10 using std::setfill; 11 using std::setw; // Time abstract data type (ADT) definition 14 class Time { public: 17 Time(); // constructor 18 void settime( int, int, int ); // set hour, minute, second 19 void printuniversal(); // print universal-time format 20 void printstandard(); // print standard-time format 21 Τάμε Time. fig06_03.cpp (1 of 5) 16

17 22 private: 23 int hour; // 0-23 (24-hour clock format) 24 int minute; // int second; // }; // end class Time // Time constructor initializes each data member to zero and 30 // ensures all Time objects start in a consistent state 31 Time::Time() 32 { 33 hour = minute = second = 0; } // end Time constructor // set new Time value using universal time, perform validity 38 // checks on the data values and set invalid values to zero 39 void Time::setTime( int h, int m, int s ) 40 { 41 hour = ( h >= 0 && h < 24 )? h : 0; 42 minute = ( m >= 0 && m < 60 )? m : 0; 43 second = ( s >= 0 && s < 60 )? s : 0; } // end function settime 46 Ο Constructor αξρηθνπνηεί ηα private δεδνκέλα ζηελ ηηκή κεδέλ (0). fig06_03.cpp (2 of 5) Η public ζπλάξηεζε ειέγρεη ηηο ηηκέο ησλ παξακέηξσλ πξηλ νξίζεη ηα private δεδνκέλα. 17

18 47 // print Time in universal format 48 void Time::printUniversal() 49 { 50 cout << setfill( '0' ) << setw( 2 ) << hour << ":" 51 << setw( 2 ) << minute << ":" 52 << setw( 2 ) << second; } // end function printuniversal // print Time in standard format 57 void Time::printStandard() 58 { 59 cout << ( ( hour == 0 hour == 12 )? 12 : hour % 12 ) ζπλαξηήζεσλ. 60 << ":" << setfill( '0' ) << setw( 2 ) << minute 61 << ":" << setw( 2 ) << second 62 << ( hour < 12? " AM" : " PM" ); } // end function printstandard int main() 67 { 68 Time t; // instantiate object t of class Time 69 Δειώλνπκε ηε κεηαβιεηή t σο αληηθείκελν ηάμεο Time. Χσξίο παξακέηξνπο! (γλσξίδεη implicitly όηη ζθνπόο είλαη λα εθηππσζνύλ κέιε δεδνκέλα! Έηζη γίλεηαη πεξηεθηηθόηεξε ε θιήζε ησλ fig06_03.cpp (3 of 5) 18

19 70 // output Time object t's initial values 71 cout << "The initial universal time is "; 72 t.printuniversal(); // 00:00: cout << "\nthe initial standard time is "; 75 t.printstandard(); // 12:00:00 AM t.settime( 13, 27, 6 ); // change time // output Time object t's new values 80 cout << "\n\nuniversal time after settime is "; 81 t.printuniversal(); // 13:27: cout << "\nstandard time after settime is "; 84 t.printstandard(); // 1:27:06 PM t.settime( 99, 99, 99 ); // attempt invalid settings // output t's values after specifying invalid values 89 cout << "\n\nafter attempting invalid settings:" 90 << "\nuniversal time: "; 91 t.printuniversal(); // 00:00:00 92 Καινύκε ηε public ζπλάξηεζε γηα εθηύπσζε. Οξίδνπκε ηα κέιε δεδνκέλα ρξεζηκνπνηώληαο ηε public ζπλάξηεζε κέινο. Πξνζπάζεηα λα πεξάζνπκε ιάζνο ηηκέο κε ρξήζε ηεο public ζπλάξηεζεο. fig06_03.cpp (4 of 5) 19

20 93 cout << "\nstandard time: "; 94 t.printstandard(); // 12:00:00 AM 95 cout << endl; return 0; } // end main The initial universal time is 00:00:00 The initial standard time is 12:00:00 AM fig06_03.cpp (5 of 5) fig06_03.cpp output (1 of 1) 20 Universal time after settime is 13:27:06 Standard time after settime is 1:27:06 PM After attempting invalid settings: Universal time: 00:00:00 Standard time: 12:00:00 AM Τα κέιε δεδνκέλσλ γίλνληαη κεδέλ (0) κεηά από ηηο ιάζνο ηηκέο πνπ δόζεθαλ.

21 6.5 Υινπνίεζε αθεξεκέλνπ ηύπνπ Time κε ηάμε class Destructors Έρνπλ ην ίδην όλνκα κε ηελ ηάμε Πξνεγείηαη ην ζεκάδη καζεκαηηθήο άξλεζεο (tilde) (~) Φσξίο παξακέηξνπο Γε κπνξεί λα ππεξθνξησζεί 21

22 6.5 Υινπνίεζε αθεξεκέλνπ ηύπνπ Time κε ηάμε class Πιενλεθηήκαηα ρξήζεο ηάμεσλ Απινπνηνύλ ηνλ πξνγξακκαηηζκό Γηεπαθέο Κξύβνπλ ηελ πινπνίεζε Δπαλαρξεζηκνπνίεζε Κώδηθα Σύλζεζε (ζπλάζξνηζε) - Composition (aggregation) Αληηθείκελα ηάμεο κπνξνύλ λα πεξηιεθζνύλ σο κέιε άιισλ ηάμεσλ Κιεξνλνκηθόηεηα Νέεο ηάμεηο πξνθύπηνπλ από παιαηέο 22

23 6.6 Δκβέιεηα ηάμεο θαη πξνζπέιαζε Δκβέιεηα ηάμεο κειώλ Μέιε δεδνκέλα θαη ζπλαξηήζεηο Δληόο εκβέιεηαο Μέιε ηάμεο Άκεζα πξνζπειάζηκα από όια ηα κέιε ζπλαξηήζεηο Αλαθνξά κε ην όλνκα Δθηόο εκβέιεηαο ηάμεο Αλαθνξά κε handles λνκα αληηθεηκέλνπ, αλαθνξά ζην αληηθείκελν, δείθηεο ζην αληηθείκελν 23

24 6.6 Δκβέιεηα ηάμεο θαη πξνζπέιαζε κειώλ Δκβέιεηα ζπλάξηεζεο Μεηαβιεηέο δειώλνληαη ζε ζπλαξηήζεηο κέιε Δίλαη γλσζηέο κόλν ζηε ζπλάξηεζε Μεηαβιεηέο κε ίδην όλνκα κε κεηαβιεηέο εκβέιεηαο ηάμεο Η εκβέιεηα ηεο κεηαβιεηήο ηάμεο «θξύβεηαη» Πξνζπέιαζε κε ηειεζηή θαζνξηζκνύ εκβέιεηαο (::) ClassName::classVariableName Οη κεηαβιεηέο είλαη γλσζηέο ζηηο ζπλαξηήζεηο πνπ νξίδνληαη Οη κεηαβιεηέο θαηαζηξέθνληαη κεηά ηελ νινθιήξσζε ηεο ζπλάξηεζεο 24

25 6.6 Δκβέιεηα ηάμεο θαη πξνζπέιαζε κειώλ Τειεζηέο γηα πξνζπέιαζε κειώλ ηάμεο Ίδηα κε ησλ structs Δπηινγή κε ηειεία (.) Αληηθείκελν Αλαθνξά ζε αληηθείκελν Δπηινγή κε βέινο (->) Γείθηεο 25

26 1 // Fig. 6.4: fig06_04.cpp 2 // Demonstrating the class member access operators. and -> 3 // 4 // CAUTION: IN FUTURE EXAMPLES WE AVOID PUBLIC DATA! 5 #include <iostream> 6 7 using std::cout; 8 using std::endl; 9 10 // class Count definition 11 class Count { public: 14 int x; void print() 17 { 18 cout << x << endl; 19 } }; // end class Count 22 Τν x public ρξεζηκνπνηείηαη σο παξάδεηγκα κόλν. Τππηθά ηα δεδνκέλα είλαη private. fig06_04.cpp (1 of 2) 26

27 23 int main() 24 { 25 Count counter; // create counter object 26 Count *counterptr = &counter; // create pointer to counter 27 Count &counterref = counter; // create reference to counter cout << "Assign 1 to x and print από using ην αληηθείκελν the object's counter name: "; 30 counter.x = 1; // assign 1 to data member x 31 counter.print(); // call member function print cout << "Assign 2 to x and print using a reference: "; 34 counterref.x = 2; // assign 2 to αληηθείκελν. data member x 35 counterref.print(); // call member function print cout << "Assign 3 to x and print using αληηθείκελν. a pointer: "; 38 counterptr->x = 3; // assign 3 to data member x 39 counterptr->print(); // call member function print return 0; } // end main Χξήζε ηειείαο γηα ηελ επηινγή κέινπο δεδνκέλνπ Χξήζε ηειείαο γηα ηελ επηινγή κέινπο ζηελ αλαθνξά counterref ζην Χξήζε βέινπο γηα ην δείθηε counterptr ζην fig06_04.cpp (2 of 2) fig06_04.cpp output (1 of 1) 27 Assign 1 to x and print using the object's name: 1 Assign 2 to x and print using a reference: 2 Assign 3 to x and print using a pointer: 3

28 6.7 Γηαρσξίδνληαο ηε δηεπαθή από ηελ πινπνίεζε Γηαρσξίδνληαο ηε δηεπαθή από ηελ πινπνίεζε Πιενλέθηεκα Γηεπθνιύλεη ηε κεηαηξνπή πξνγξακκάησλeasier to modify programs Μεηνλέθηεκα Αξρεία Header Μέξε πινπνίεζεο Inline ζπλαξηήζεηο Ιδέεο από ηελ πινπνίεζε 28

29 6.7 Γηαρσξίδνληαο ηε δηεπαθή από Header αξρεία ηελ πινπνίεζε Οξηζκνί ηάμεο θαη πξσηόηππα ζπλαξηήζεσλ Πεξηιακβάλνληαη ζε θάζε αξρείν #include Δπέθηαζε νλόκαηνο αξρείνπ.h Αξρεία θώδηθα Οξηζκνί κειώλ ζπλαξηήζεσλ Ίδην όλνκα βάζεο Σύκβαζε 29

30 1 // Fig. 6.5: time1.h 2 // Declaration of class Time. 3 // Member functions are defined in time1.cpp 4 5 // prevent multiple inclusions of header file 6 #ifndef TIME1_H 7 #define TIME1_H 8 9 // Time abstract data type definition 10 class Time { public: κε ην underscore λα 13 Time(); αληηθαζηζηά // constructor ηελ ηειεία. 14 void settime( int, int, int ); // set hour, minute, second 15 void printuniversal(); // print universal-time format 16 void printstandard(); // print standard-time format private: 19 int hour; // 0-23 (24-hour clock format) 20 int minute; // int second; // }; // end class Time #endif Κώδηθαο πνπ πξνιακβάλεη πνιιαπιέο ζπκπεξηιήςεηο Κώδηθαο δελ πεξηιακβάλεηαη If not defined Πξνζδηνξηζηήο αλ έρεη νξηζηεί ε TIME1_H Preprocessor Ολνκαηνινγία: νξίδεη όλνκα TIME1_H. ην όλνκα ηνπ αξρείνπ header time1.h (1 of 1) 30

31 1 // Fig. 6.6: time1.cpp 2 // Member-function definitions for class Time. 3 #include <iostream> 4 5 using std::cout; 6 7 #include <iomanip> 8 9 using std::setfill; 10 using std::setw; // include definition of class Time from time1.h 13 #include "time1.h" // Time constructor initializes each data member to zero. 16 // Ensures all Time objects Τν start όλνκα in αξρείνπ a consistent κέζα ζε state. 17 Time::Time() quotes. Όηαλ 18 { 19 hour = minute = second = 0; } // end Time constructor 22 Πεξίιεςε ηνπ αξρείνπ header time1.h. ρξεζηκνπνηνύληαη νη αληζόηεηεο ζεσξείηε όηη είλαη κέξνο ηεο C++ Standard Library. time1.cpp (1 of 3) 31

32 23 // Set new Time value using universal time. Perform validity 24 // checks on the data values. Set invalid values to zero. 25 void Time::setTime( int h, int m, int s ) 26 { 27 hour = ( h >= 0 && h < 24 )? h : 0; 28 minute = ( m >= 0 && m < 60 )? m : 0; 29 second = ( s >= 0 && s < 60 )? s : 0; } // end function settime // print Time in universal format 34 void Time::printUniversal() 35 { 36 cout << setfill( '0' ) << setw( 2 ) << hour << ":" 37 << setw( 2 ) << minute << ":" 38 << setw( 2 ) << second; } // end function printuniversal 41 time1.cpp (2 of 3) 32

33 42 // print Time in standard format 43 void Time::printStandard() 44 { 45 cout << ( ( hour == 0 hour == 12 )? 12 : hour % 12 ) 46 << ":" << setfill( '0' ) << setw( 2 ) << minute 47 << ":" << setw( 2 ) << second 48 << ( hour < 12? " AM" : " PM" ); } // end function printstandard time1.cpp (3 of 3) 33

34 1 // Fig. 6.7: fig06_07.cpp 2 // Program to test class Time. 3 // NOTE: This file must be compiled with time1.cpp. 4 #include <iostream> 5 6 using std::cout; 7 using std::endl; 8 9 // include definition of class Time from time1.h 10 #include "time1.h" int main() 13 { 14 Time t; // instantiate object t of class Time // output Time object t's initial values 17 cout << "The initial universal time is "; 18 t.printuniversal(); // 00:00:00 19 cout << "\nthe initial standard time is "; 20 t.printstandard(); // 12:00:00 AM t.settime( 13, 27, 6 ); // change time 23 Πεξίιεςε ηνπ time1.h γηα ηε ζσζηή δεκηνπξγία/ ρεηξηζκό θαη θαζνξηζκό ηνπ κεγέζνπο ηνπ αληηθεηκέλνπ ηάμεο Time. fig06_07.cpp (1 of 2) 34

35 24 // output Time object t's new values 25 cout << "\n\nuniversal time after settime is "; 26 t.printuniversal(); // 13:27:06 27 cout << "\nstandard time after settime is "; 28 t.printstandard(); // 1:27:06 PM t.settime( 99, 99, 99 ); // attempt invalid settings // output t's values after specifying invalid values 33 cout << "\n\nafter attempting invalid settings:" 34 << "\nuniversal time: "; 35 t.printuniversal(); // 00:00:00 36 cout << "\nstandard time: "; 37 t.printstandard(); // 12:00:00 AM 38 cout << endl; return 0; } // end main fig06_07.cpp (2 of 2) fig06_07.cpp output (1 of 1) 35 The initial universal time is 00:00:00 The initial standard time is 12:00:00 AM Universal time after settime is 13:27:06 Standard time after settime is 1:27:06 PM

36 6.8 Έιεγρνο πξόζβαζεο ζηα κέιε Δπίπεδα πξόζβαζεο private Default Πξνζβάζηκν ζε κέιε ζπλαξηήζεηο θαη friends public Πξνζβάζηκν ζε θάζε ζπλάξηεζε πνπ ρεηξίδεηαη αληηθείκελν ηεο ηάμεο protected 36

37 1 // Fig. 6.8: fig06_08.cpp 2 // Demonstrate errors resulting from attempts 3 // to access private class members. 4 #include <iostream> 5 6 using std::cout; 7 8 // include definition of class Time from time1.h 9 #include "time1.h" int main() 12 { 13 Time t; // create Time object t.hour = 7; // error: 'Time::hour' is not accessible // error: 'Time::minute' is not accessible 19 cout << "minute = " << t.minute; return 0; } // end main Τν hour είλαη private. Άξα ε πξνζπάζεηα πξνζπέιαζεο ηνπ δίλεη ιάζνο. Το minute είναι fig06_08.cpp (1 of 1) private. Άρα η προζπάθεια προζπέλαζης ηοσ δίνει λάθος. 37

38 D:\cpphtp4_examples\ch06\Fig6_06\Fig06_06.cpp(16) : error C2248: 'hour' : cannot access private member declared in class 'Time' D:\cpphtp4_examples\ch06\Fig6_06\Fig06_06.cpp(19) : error C2248: 'minute' : cannot access private member declared in class 'Time' fig06_08.cpp output (1 of 1) Τα ιάζε πνπ δεκηνπξγνύληαη θαηά ηελ πξνζπέιαζε κειώλ private. 38

39 6.8 Έιεγρνο πξόζβαζεο ζηα κέιε Πξόζβαζε ζε κέιε ηάμεο Default private Μπνξνύλ λα ηεζνύλ σο private, public, protected struct Default public Μπνξνύλ λα ηεζνύλ ζε private, public, protected Πξόζβαζε ζε private δεδνκέλα ηάμεο Διέγρνληαη κε ζπλαξηήζεηο πξόζβαζεο (accessor methods) Σπλάξηεζε Get Αλάγλσζε private δεδνκέλνπ Σπλάξηεζε Set Τξνπνπνίεζε private δεδνκέλνπ 39

40 6.9 Σπλαξηήζεηο πξόζβαζεο θαη βνεζεηηθέο ζπλαξηήζεηο Σπλαξηήζεηο πξόζβαζεο public Γηαβάδνπλ/ παξνπζηάδνπλ δεδνκέλα Γεισηηθέο ζπλαξηήζεηο Έιεγρνο Βνεζεηηθέο ζπλαξηήζεηο Utility functions (helper functions) private Υπνζηεξίδνπλ ηε ιεηηνπξγία ησλ public ζπλαξηήζεσλ Γελ έρνπλ δεκηνπξγεζεί γηα ρξήζε από ηνλ ηειηθό ρξήζηε 40

41 1 // Fig. 6.9: salesp.h 2 // SalesPerson class definition. 3 // Member functions defined in salesp.cpp. 4 #ifndef SALESP_H 5 #define SALESP_H 6 7 class SalesPerson { 8 9 public: θάλεη ειέγρνπο. 10 SalesPerson(); // constructor 11 void getsalesfromuser(); // input sales from keyboard 12 void setsales( int, double ); // set sales for a month 13 void printannualsales(); // summarize and print sales private: 16 double totalannualsales(); // utility function 17 double sales[ 12 ]; // 12 monthly sales figures }; // end class SalesPerson #endif Η ζπλάξηεζε Set private βνεζεηηθή ζπλάξηεζε salesp.h (1 of 1) 41

42 1 // Fig. 6.10: salesp.cpp 2 // Member functions for class SalesPerson. 3 #include <iostream> 4 5 using std::cout; 6 using std::cin; 7 using std::endl; 8 using std::fixed; 9 10 #include <iomanip> using std::setprecision; // include SalesPerson class definition from salesp.h 15 #include "salesp.h" // initialize elements of array sales to SalesPerson::SalesPerson() 19 { 20 for ( int i = 0; i < 12; i++ ) 21 sales[ i ] = 0.0; } // end SalesPerson constructor 24 salesp.cpp (1 of 3) 42

43 25 // get 12 sales figures from the user at the keyboard 26 void SalesPerson::getSalesFromUser() 27 { 28 double salesfigure; for ( int i = 1; i <= 12; i++ ) { 31 cout << "Enter sales amount for month " << i << ": "; 32 cin >> salesfigure; 33 setsales( i, salesfigure ); } // end for } // end function getsalesfromuser // set one of the 12 monthly sales figures; function subtracts 40 // one from month value for proper subscript in sales array 41 void SalesPerson::setSales( int month, double amount ) ειέγρνπο. 42 { 43 // test for valid month and amount values 44 if ( month >= 1 && month <= 12 && amount > 0 ) Η ζπλάξηεζε Set θάλεη 45 sales[ month - 1 ] = amount; // adjust for subscripts else // invalid month or amount value 48 cout << "Invalid month or sales figure" << endl; salesp.cpp (2 of 3) 43

44 49 50 } // end function setsales // print total annual sales (with help of utility function) 53 void SalesPerson::printAnnualSales() 54 { 55 cout << setprecision( 2 ) << fixed 56 << "\nthe total annual sales are: $" 57 << totalannualsales() << endl; // call utility function } // end function printannualsales // private utility function to total annual sales 62 double SalesPerson::totalAnnualSales() 63 { 64 double total = 0.0; // initialize total for ( int i = 0; i < 12; i++ ) // summarize sales results 67 total += sales[ i ]; return total; } // end function totalannualsales salesp.cpp (3 of 3) private βνεζεηηθή ζπλάξηεζε ηεο printannualsales, πνπ πξαγκαηνπνηεί δηαρείξηζε ηνπ sales array. 44

45 1 // Fig. 6.11: fig06_11.cpp 2 // Demonstrating a utility function. 3 // Compile this program with salesp.cpp 4 5 // include SalesPerson class definition from salesp.h 6 #include "salesp.h" 7 8 int main() 9 { 10 SalesPerson s; // create SalesPerson object s 11 κέιε. 12 s.getsalesfromuser(); // note simple sequential code; no 13 s.printannualsales(); // control structures in main return 0; } // end main fig06_11.cpp (1 of 1) Σεηξηαθή θιήζε ησλ ζπλαξηήζεσλ. Η ινγηθή είλαη εκθσιεπκέλε ζε ζπλαξηήζεηο 45

46 Enter sales amount for month 1: Enter sales amount for month 2: Enter sales amount for month 3: Enter sales amount for month 4: Enter sales amount for month 5: Enter sales amount for month 6: Enter sales amount for month 7: Enter sales amount for month 8: Enter sales amount for month 9: Enter sales amount for month 10: Enter sales amount for month 11: Enter sales amount for month 12: fig06_11.cpp output (1 of 1) 46 The total annual sales are: $

47 6.10 Αξρηθνπνίεζε αληηθεηκέλσλ Constructors ηάμεο: Constructors Αξρηθνπνηεί κέιε δεδνκέλα Ίδην όλνκα κε ηελ ηάμε Γελ έρεη ηύπν επηζηξνθήο Initializers Πεξλνύλ σο παξάκεηξνη ζηνλ constructor Class-type ObjectName( value1,value2, ); 47

48 6.11 Φξήζε Default παξακέηξσλ Constructors ζηνπο Constructors Μπνξνύλ λα πξνζδηνξίδνπλ default παξακέηξνπο εηζόδνπ Default constructors Defaults όιεο ηηο παξακέηξνπο Ή Μπνξεί λα θιεζνύλ ρσξίο παξακέηξνπο Μόλν έλαο γηα θάζε ηάμε 48

49 1 // Fig. 6.12: time2.h 2 // Declaration of class Time. 3 // Member functions defined in time2.cpp. 4 5 // prevent multiple inclusions of header file 6 #ifndef TIME2_H 7 #define TIME2_H 8 9 // Time abstract data type definition 10 class Time { public: 13 Time( int = 0, int = 0, int = 0); // default constructor 14 void settime( int, int, int ); // set hour, minute, second 15 void printuniversal(); // print universal-time format 16 void printstandard(); // print standard-time format private: 19 int hour; // 0-23 (24-hour clock format) 20 int minute; // int second; // }; // end class Time #endif Default constructor πξνζδηνξίδεη όιεο ηηο παξακέηξνπο time2.h (1 of 1) 49

50 1 // Fig. 6.13: time2.cpp 2 // Member-function definitions for class Time. 3 #include <iostream> 4 5 using std::cout; 6 7 #include <iomanip> 8 9 using std::setfill; 10 using std::setw; // include definition of class Time from time2.h 13 #include "time2.h" // Time constructor initializes each data member to zero; 16 // ensures all Time objects start in a consistent state 17 Time::Time( int hr, int min, int sec ) 18 { 19 settime( hr, min, sec ); // validate and set time } // end Time constructor 22 time2.cpp (1 of 3) Ο Constructor θαιεί ηε settime γηα λα δειώζεη ή λα ειέγμεη ηηκέο. 50

51 23 // set new Time value using universal time, perform validity 24 // checks on the data values and set invalid values to zero 25 void Time::setTime( int h, int m, int s ) 26 { 27 hour = ( h >= 0 && h < 24 )? h : 0; 28 minute = ( m >= 0 && m < 60 )? m : 0; 29 second = ( s >= 0 && s < 60 )? s : 0; } // end function settime // print Time in universal format 34 void Time::printUniversal() 35 { 36 cout << setfill( '0' ) << setw( 2 ) << hour << ":" 37 << setw( 2 ) << minute << ":" 38 << setw( 2 ) << second; } // end function printuniversal 41 time2.cpp (2 of 3) 51

52 42 // print Time in standard format 43 void Time::printStandard() 44 { 45 cout << ( ( hour == 0 hour == 12 )? 12 : hour % 12 ) 46 << ":" << setfill( '0' ) << setw( 2 ) << minute 47 << ":" << setw( 2 ) << second 48 << ( hour < 12? " AM" : " PM" ); } // end function printstandard time2.cpp (3 of 3) 52

53 1 // Fig. 6.14: fig06_14.cpp 2 // Demonstrating a default constructor for class Time. 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 // include definition of class Time from time2.h 9 #include "time2.h" int main() 12 { 13 Time t1; // all arguments defaulted 14 Time t2( 2 ); // minute and second defaulted 15 Time t3( 21, 34 ); // second defaulted 16 Time t4( 12, 25, 42 ); // all values specified 17 Time t5( 27, 74, 99 ); // all bad values specified cout << "Constructed with:\n\n" 20 << "all default arguments:\n "; 21 t1.printuniversal(); // 00:00:00 22 cout << "\n "; 23 t1.printstandard(); // 12:00:00 AM 24 fig06_14.cpp (1 of 2) Αξρηθνπνίεζε ηνπ αληηθεηκέλνπ Time κε default παξακέηξνπο. Initialize Time object with invalid values; validity checking will set values to 0. 53

54 25 cout << "\n\nhour specified; default minute and second:\n "; 26 t2.printuniversal(); // 02:00:00 27 cout << "\n "; 28 t2.printstandard(); // 2:00:00 AM cout << "\n\nhour and minute specified; default second:\n "; 31 t3.printuniversal(); // 21:34:00 32 cout << "\n "; 33 t3.printstandard(); // 9:34:00 PM cout << "\n\nhour, minute, and second specified:\n "; 36 t4.printuniversal(); // 12:25:42 37 cout << "\n "; 38 t4.printstandard(); // 12:25:42 PM cout << "\n\nall invalid values specified:\n "; 41 t5.printuniversal(); // 00:00:00 42 cout << "\n "; 43 t5.printstandard(); // 12:00:00 AM 44 cout << endl; return 0; } // end main fig06_14.cpp (2 of 2) t5 κε ιάζνο παξακέηξνπο, νπόηε νη ηηκέο γίλνληαη όιεο κεδέλ (0). 54

55 Constructed with: all default arguments: 00:00:00 12:00:00 AM hour specified; default minute and second: 02:00:00 2:00:00 AM fig06_14.cpp output (1 of 1) 55 hour and minute specified; default second: 21:34:00 9:34:00 PM hour, minute, and second specified: 12:25:42 12:25:42 PM all invalid values specified: 00:00:00 12:00:00 AM

56 6.12 Destructors Destructors Δηδηθέο ζπλαξηήζεηο κέιε κνην όλνκα κε ηελ ηάμε Πξνεγείηαη ε άξλεζε (~) Φσξίο παξακέηξνπο Γελ επηζηξέθεη Γελ ππεξθνξηώλεηαη Κάλεη απειεπζέξσζε κλήκεο Αλ δελ ππάξρεη destructor Ο Compiler δεκηνπξγεί έλαλ άδεην 56

57 6.13 Καιώληαο Constructors θαη Destructors Constructors θαη destructors Καινύληαη από ηνλ compiler Σεηξά θιήζεο ησλ ζπλαξηήζεσλ Δμαξηάηαη από ηε ζεηξά εθηέιεζεο ηαλ ε εθηέιεζε κπαίλεη ή θεύγεη από ηελ εκβέιεηα ησλ αληηθεηκέλσλ Γεληθά, ν destructor θαιεί ζε αληίζηξνθε ζεηξά από ηνπο constructor 57

58 6.13 Καιώληαο Constructors θαη Destructors Σεηξά ηεο θιήζεο constructor, destructor Αληηθείκελα Global εκβέιεηαο Constructors Πξηλ από θάζε άιιε ζπλάξηεζε (θαη ηεο main) Destructors ηαλ ηεξκαηίδεη ε main (ή θαιείηαη ε exit) Γε θαιείηαη κε ηεξκαηηζκό abort Τνπηθά αληηθείκελα Constructors ηαλ νξίδνληαη ηαλ ε εθηέιεζε γίλεη εληόο εκβέιεηαο Destructors ηαλ ηα αληηθείκελα είλαη εθηόο εκβέιεηαο Η εθηέιεζε θεύγεη από ην block όπνπ νξίδνληαη Γε θαιείηαη ζε ηεξκαηηζκό exit ή abort 58

59 6.13 Καιώληαο Constructors θαη Destructors Σεηξά ηεο θιήζεο constructor, destructor static ηνπηθά αληηθείκελα Constructors Αθξηβώο κία θνξά ηαλ ε εθηέιεζε θηάζεη ζηνλ νξηζκό ηνπ αληηθεηκέλνπ Destructors ηαλ ε main ηεξκαηίζεη ή θιεζεί exit Γε θαιείηαη ζην abort 59

60 1 // Fig. 6.15: create.h 2 // Definition of class CreateAndDestroy. 3 // Member functions defined in create.cpp. 4 #ifndef CREATE_H 5 #define CREATE_H 6 7 class CreateAndDestroy { 8 9 public: 10 CreateAndDestroy( int, char * ); // constructor 11 ~CreateAndDestroy(); // destructor private: 14 int objectid; 15 char *message; }; // end class CreateAndDestroy #endif private members to show order of constructor, destructor function calls. Constructor θαη destructor ζπλαξηήζεηο. create.h (1 of 1) 60

61 1 // Fig. 6.16: create.cpp 2 // Member-function definitions for class CreateAndDestroy 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 // include CreateAndDestroy class definition from create.h 9 #include "create.h" // constructor 12 CreateAndDestroy::CreateAndDestroy( 13 int objectnumber, char *messageptr ) 14 { 15 objectid = objectnumber; 16 message = messageptr; cout << "Object " << objectid << " constructor runs " 19 << message << endl; } // end CreateAndDestroy constructor 22 Εθηύπσζε κελύκαηνο πνπ δείρλεη ηελ θιήζε ηνπ constructor. create.cpp (1 of 2) 61

62 23 // destructor 24 CreateAndDestroy::~CreateAndDestroy() 25 { 26 // the following line is for pedagogic purposes only 27 cout << ( objectid == 1 objectid δείτνει == 6? ηην "\n" κλήζη : "" ηοσ ); 28 destructor. 29 cout << "Object " << objectid << " destructor runs " 30 << message << endl; } // end ~CreateAndDestroy destructor Εκηύπφζη μηνύμαηος ποσ create.cpp (2 of 2) 62

63 1 // Fig. 6.17: fig06_17.cpp 2 // Demonstrating the order in which constructors and 3 // destructors are called. 4 #include <iostream> 5 6 using std::cout; 7 using std::endl; 8 9 // include CreateAndDestroy class definition from create.h 10 #include "create.h" void create( void ); // prototype // global object 15 CreateAndDestroy first( 1, "(global before main)" ); int main() 18 { 19 cout << "\nmain FUNCTION: EXECUTION BEGINS" << endl; CreateAndDestroy second( 2, "(local automatic in main)" ); static CreateAndDestroy third( 24 3, "(local static in main)" ); 25 Δεκηνπξγία κεηαβιεηήο κε εκβέιεηα global. automatic αληηθείκελν. static αληηθείκελν. fig06_17.cpp (1 of 3) 63

64 26 create(); // call function to create objects cout << "\nmain FUNCTION: EXECUTION RESUMES" << endl; 29 Δεκηνπξγία ησλ automatic 30 CreateAndDestroy fourth( 4, "(local automatic in main)" ); αληηθεηκέλσλ cout << "\nmain FUNCTION: EXECUTION ENDS" << endl; return 0; } // end main // function to create objects 39 void create( void ) 40 { 41 cout << "\ncreate FUNCTION: EXECUTION BEGINS" << endl; CreateAndDestroy fifth( 5, ζσνάρηηζη. "(local automatic in create)" ); static CreateAndDestroy sixth( 46 6, "(local static in create)" ); CreateAndDestroy seventh( 49 7, "(local automatic in create)" ); 50 automatic αληηθείκελν. automatic αληηθείκελν ζε ζπλάξηεζε. static ανηικείμενο ζε automatic ανηικείμενο ζε ζσνάρηηζη. fig06_17.cpp (2 of 3) 64

65 51 cout << "\ncreate FUNCTION: EXECUTION ENDS\" << endl; } // end function create fig06_17.cpp (3 of 3) 65

66 Object 1 constructor runs (global before main) MAIN FUNCTION: EXECUTION BEGINS Object 2 constructor runs (local automatic in main) Object 3 constructor runs (local static in main) CREATE FUNCTION: EXECUTION BEGINS Object 5 constructor runs (local automatic in create) Object 6 constructor runs (local static in create) Object 7 constructor runs (local automatic in create) CREATE FUNCTION: EXECUTION ENDS Object 7 destructor runs (local automatic in create) Object 5 destructor runs (local automatic in create) MAIN FUNCTION: EXECUTION RESUMES Object 4 constructor runs (local automatic in main) MAIN FUNCTION: EXECUTION ENDS Object 4 destructor runs (local automatic in main) Object 2 destructor runs (local automatic in main) Object 6 destructor runs (local static in create) Object 3 destructor runs (local static in main) fig06_17.cpp output (1 of 1) Destructors Τα staticfor αληηθείκελα local automatic ππάξρνπλ Τν Global έσο objects αληηθείκελν ηνλ in ηεξκαηηζκό main called πξνγξάκκαηνο. δεκηνπξγείηε Τα automatic πξηλ in reverse αληηθείκελα ηε main Τα static αληηθείκελα order of constructors. θαηαζηξέθνληαη θαηαζηξέθεηαη κε ηειεπηαίν. ηνλ ηεξκαηηζκό δεκηνπξγνύληαη ηεο ζπλάξηεζεο κε ηελ θιήζε αληίζηξνθα ηεο ζπλάξηεζεο από ό,ηη θαη δεκηνπξγήζεθαλ. θαηαζηξέθνληαη κε ηνλ ηεξκαηηζκό ηεο main. 66 Object 1 destructor runs (global before main)

67 6.14 Φξήζε ησλ Set θαη Get Σπλάξηεζε Set Σπλαξηήζεσλ Πξαγκαηνπνηεί ειέγρνπο εγθπξόηεηαο πξνηνύ γίλνπλ κεηαηξνπέο ζε δεδνκέλα private Δηδνπνηεί αλ ππάξρνπλ ιαλζαζκέλεο ηηκέο Σπλάξηεζε Get Διέγρεη ηε κνξθή ησλ δεδνκέλσλ πνπ επηζηξέθνληαη 67

68 1 // Fig. 6.18: time3.h 2 // Declaration of class Time. 3 // Member functions defined in time3.cpp 4 5 // prevent multiple inclusions of header file 6 #ifndef TIME3_H 7 #define TIME3_H 8 9 class Time { public: 12 Time( int = 0, int = 0, int = 0 ); // default constructor // set functions 15 void settime( int, int, int ); // set hour, minute, second 16 void sethour( int ); // set hour 17 void setminute( int ); // set minute 18 void setsecond( int ); // set second // get functions 21 int gethour(); // return hour 22 int getminute(); // return minute 23 int getsecond(); // return second 24 Set. Get. time3.h (1 of 2) 68

69 25 void printuniversal(); // output universal-time format 26 void printstandard(); // output standard-time format private: 29 int hour; // 0-23 (24-hour clock format) 30 int minute; // int second; // }; // end clas Time #endif time3.h (2 of 2) 69

70 1 // Fig. 6.19: time3.cpp 2 // Member-function definitions for Time class. 3 #include <iostream> 4 5 using std::cout; 6 7 #include <iomanip> 8 9 using std::setfill; 10 using std::setw; // include definition of class Time from time3.h 13 #include "time3.h" // constructor function to initialize private data; 16 // calls member function settime to set variables; 17 // default values are 0 (see class definition) 18 Time::Time( int hr, int min, int sec ) 19 { 20 settime( hr, min, sec ); } // end Time constructor 23 time3.cpp (1 of 4) 70

71 24 // set hour, minute and second values 25 void Time::setTime( int h, int m, int s ) 26 { 27 sethour( h ); 28 setminute( m ); 29 setsecond( s ); } // end function settime // set hour value 34 void Time::setHour( int h ) 35 { 36 hour = ( h >= 0 && h < 24 )? h : 0; } // end function sethour // set minute value 41 void Time::setMinute( int m ) 42 { 43 minute = ( m >= 0 && m < 60 )? m : 0; } // end function setminute 46 Κιήζε set ζπλάξηεζεο γηα έιεγρν νξζόηεηαο ησλ δεδνκέλσλ Οη ζπλαξηήζεηο Set ειέγρνπλ ηα δεδνκέλα πξνηνύ ηα κεηαηξέςνπλ. time3.cpp (2 of 4) 71

72 47 // set second value 48 void Time::setSecond( int s ) 49 { 50 second = ( s >= 0 && s < 60 )? s : 0; } // end function setsecond // return hour value 55 int Time::getHour() 56 { 57 return hour; } // end function gethour // return minute value 62 int Time::getMinute() 63 { 64 return minute; } // end function getminute 67 Οι ζσναρηήζεις Set ελέγτοσν ηα δεδομένα προηού ηα μεηαηρέυοσν. Οη ζπλαξηήζεηο Get επηηξέπνπλ ηελ αλάγλσζε ησλ δεδνκέλσλ. time3.cpp (3 of 4) 72

73 68 // return second value 69 int Time::getSecond() 70 { 71 return second; } // end function getsecond // print Time in universal format 76 void Time::printUniversal() 77 { 78 cout << setfill( '0' ) << setw( 2 ) << hour << ":" 79 << setw( 2 ) << minute << ":" 80 << setw( 2 ) << second; } // end function printuniversal // print Time in standard format 85 void Time::printStandard() 86 { 87 cout << ( ( hour == 0 hour == 12 )? 12 : hour % 12 ) 88 << ":" << setfill( '0' ) << setw( 2 ) << minute 89 << ":" << setw( 2 ) << second 90 << ( hour < 12? " AM" : " PM" ); } // end function printstandard Οι ζσναρηήζεις Get επιηρέποσν ηην ανάγνφζη ηφν δεδομένφν. time3.cpp (4 of 4) 73

74 1 // Fig. 6.20: fig06_20.cpp 2 // Demonstrating the Time class set and get functions 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 // include definition of class Time from time3.h 9 #include "time3.h" void incrementminutes( Time &, const int ); // prototype int main() 14 { 15 Time t; // create Time object // set time using individual set functions 18 t.sethour( 17 ); // set hour to valid value 19 t.setminute( 34 ); // set minute to valid value 20 t.setsecond( 25 ); // set second to valid value 21 Κιήζε set γηα λα νξηζηνύλ νη έγθπξεο ηηκέο. fig06_20.cpp (1 of 3) 74

75 22 // use get functions to obtain hour, minute and second 23 cout << "Result of setting all valid values:\n" 24 << " Hour: " << t.gethour() 25 << " Minute: " << t.getminute() 26 << " Second: " << t.getsecond(); // set time using individual set functions 29 t.sethour( 234 ); // invalid hour set to 0 30 t.setminute( 43 ); // set minute to valid value 31 t.setsecond( 6373 ); // invalid second set to // display hour, minute and second after setting 34 // invalid hour and second values 35 cout << "\n\nresult of attempting to set invalid hour and" 36 << " second:\n Hour: " << t.gethour() 37 << " Minute: " << t.getminute() 38 << " Second: " << t.getsecond() << "\n\n"; t.settime( 11, 58, 0 ); // set time 41 incrementminutes( t, 3 ); // increment t's minute by return 0; } // end main 46 Πξνζπάζεηα νξηζκνύ ιαλζαζκέλσλ ηηκώλ fig06_20.cpp κε ρξήζε set. (2 of 3) Οη ιάζνο ηηκέο έρνπλ σο απνηέιεζκα λα νξηζηνύλ νη κεηαβιεηέο ζε 0. Μεηαηξνπή δεδνκέλσλ κε ηε settime. 75

76 47 // add specified number of minutes to a Time object 48 void incrementminutes( Time &tt, const int count ) 49 { 50 cout << "Incrementing minute " << count 51 << " times:\nstart time: "; 52 tt.printstandard(); for ( int i = 0; i < count; i++ ) { 55 tt.setminute( ( tt.getminute() + 1 ) % 60 ); if ( tt.getminute() == 0 ) 58 tt.sethour( ( tt.gethour() + 1 ) % 24); cout << "\nminute + 1: "; 61 tt.printstandard(); } // end for cout << endl; } // end function incrementminutes fig06_20.cpp Με ηηο get δηαβάδνληαη (3 of 3) δεδνκέλα θαη κε ηηο set ηξνπνπνηνύληαη. 76

77 Result of setting all valid values: Hour: 17 Minute: 34 Second: Result of attempting to set invalid hour and second: Hour: 0 Minute: 43 Second: 0 fig06_20.cpp output (1 of 1) Incrementing minute 3 times: Start time: 11:58:00 AM minute + 1: 11:59:00 AM minute + 1: 12:00:00 PM minute + 1: 12:01:00 PM Πξνζπάζεηα λα νξηζηνύλ ιάζνο ηηκέο πνπ θαηαιήγεη ζε κήλπκα ιάζνπο θαη ηηκή κεδέλ (0)

78 6.15 Πξνζνρή: Δπηζηξνθή αλαθνξάο ζε δεδνκέλα private Αλαθνξά ζε αληηθείκελν Alias for name of object Lvalue Μπνξεί λα ιάβεη ηηκή ζε αλάζεζε Αιιάδεη ην αξρηθό αληηθείκελν Δπηζηξνθή αλαθνξάο public ζπλαξηήζεηο κπνξνύλ λα επηζηξέθνπλ κεconst αλαθνξέο ζε δεδνκέλα private Καηά ζπλέπεηα ν ρξήζηεο κπνξεί λα ηξνπνπνηεί δεδνκέλα private 78

79 1 // Fig. 6.21: time4.h 2 // Declaration of class Time. 3 // Member functions defined in time4.cpp 4 5 // prevent multiple inclusions of header file 6 #ifndef TIME4_H 7 #define TIME4_H 8 9 class Time { public: 12 Time( int = 0, int = 0, int = 0 ); 13 void settime( int, int, int ); 14 int gethour(); int &badsethour( int ); // DANGEROUS reference private. return private: 19 int hour; 20 int minute; 21 int second; }; // end class Time #endif Σπλάξηεζε πνπ δείρλεη ηα απνηειέζκαηα επηζηξνθήο αλαθνξάο ζε δεδνκέλα time4.h (1 of 1) 79

80 1 // Fig. 6.22: time4.cpp 2 // Member-function definitions for Time class. 3 4 // include definition of class Time from time4.h 5 #include "time4.h" 6 7 // constructor function to initialize private data; 8 // calls member function settime to set variables; 9 // default values are 0 (see class definition) 10 Time::Time( int hr, int min, int sec ) 11 { 12 settime( hr, min, sec ); } // end Time constructor // set values of hour, minute and second 17 void Time::setTime( int h, int m, int s ) 18 { 19 hour = ( h >= 0 && h < 24 )? h : 0; 20 minute = ( m >= 0 && m < 60 )? m : 0; 21 second = ( s >= 0 && s < 60 )? s : 0; } // end function settime 24 time4.cpp (1 of 2) 80

81 25 // return hour value 26 int Time::getHour() 27 { 28 return hour; } // end function gethour // POOR PROGRAMMING PRACTICE: 33 // Returning a reference to a private data member. 34 int &Time::badSetHour( int hh ) 35 { 36 hour = ( hh >= 0 && hh < 24 )? hh : 0; return hour; // DANGEROUS reference return } // end function badsethour Επηζηξνθή αλαθνξάο ζε private κεηαβιεηή hour. time4.cpp (2 of 2) 81

82 1 // Fig. 6.23: fig06_23.cpp 2 // Demonstrating a public member function that 3 // returns a reference to a private data member. 4 #include <iostream> 5 6 using std::cout; 7 using std::endl; 8 9 // include definition of class Time from time4.h 10 #include "time4.h" int main() 13 { 14 Time t; // store in hourref the reference returned by badsethour 17 int &hourref = t.badsethour( 20 ); cout << "Hour before modification: " << hourref; // use hourref to set invalid value hour. in Time object t 22 hourref = 30; cout << "\nhour after modification: " << t.gethour(); 25 Η αλαθνξά επηηξέπεη λα νξηζηεί ηηκή ζηε private fig06_23.cpp (1 of 2) Η badsethour επηζηξέθεη αλαθνξά ζε private κεηαβιεηή hour. 82

83 26 // Dangerous: Function call that returns 27 // a reference can be used as an lvalue! 28 t.badsethour( 12 ) = 74; cout << "\n\n*********************************\n" 31 << "POOR PROGRAMMING PRACTICE!!!!!!!!\n" 32 << "badsethour as an lvalue, θιήζε Hour: " ζπλάξηεζεο ζε 33 << t.gethour() αλάζεζε ιάζνπο ηηκήο 34 << "\n*********************************" << endl; return 0; } // end main Μπνξεί λα ρξεζηκνπνηεζεί fig06_23.cpp (2 of 2) fig06_23.cpp output (1 of 1) 83 Hour before modification: 20 Hour after modification: 30 ********************************* POOR PROGRAMMING PRACTICE!!!!!!!! badsethour as an lvalue, Hour: 74 ********************************* Η επηζηξνθή αλαθνξάο επηηξέπεη ηνλ νξηζκό ιάζνπο ηηκήο ζε private δεδνκέλα.

84 6.16 Default Αλάζεζε Αλάζεζε αληηθεηκέλσλ Τειεζηήο αλάζεζεο (=) Μπνξεί λα αλαζέζεη ζε έλα αληηθείκελν έλα άιιν ίδηνπ ηύπνπ Default αλάζεζε Κάζε δεμηό κέινο αλαηίζεηαη αλεμάξηεηα ζην αξηζηεξό κέινο Πεξλώληαο θαη επηζηξέθνληαο αληηθείκελα Αληηθείκελα πεξλνύλ σο παξάκεηξνη ζπλάξηεζεο Αληηθείκελα επηζηξέθνληαη από ζπλαξηήζεηο Default πέξαζκα κε ηηκή Αληίγξαθν ηνπ αληηθείκελνπ πνπ πεξλάεη, επηζηξέθεηαη Αληίγξαθν ηνπ constructor Αληίγξαθν ησλ αξρηθώλ ηηκώλ ζε λέν αληηθείκελν 84

85 1 // Fig. 6.24: fig06_24.cpp 2 // Demonstrating that class objects can be assigned 3 // to each other using default memberwise assignment. 4 #include <iostream> 5 6 using std::cout; 7 using std::endl; 8 9 // class Date definition 10 class Date { public: 13 Date( int = 1, int = 1, int = 1990 ); // default constructor 14 void print(); private: 17 int month; 18 int day; 19 int year; }; // end class Date 22 fig06_24.cpp (1 of 3) 85

86 23 // Date constructor with no range checking 24 Date::Date( int m, int d, int y ) 25 { 26 month = m; 27 day = d; 28 year = y; } // end Date constructor // print Date in the format mm-dd-yyyy 33 void Date::print() 34 { 35 cout << month << '-' << day << '-' << year; } // end function print int main() 40 { 41 Date date1( 7, 4, 2002 ); 42 Date date2; // date2 defaults to 1/1/ fig06_24.cpp (2 of 3) 86

87 44 cout << "date1 = "; 45 date1.print(); 46 cout << "\ndate2 = "; 47 date2.print(); date2 = date1; // default memberwise assignment cout << "\n\nafter default memberwise assignment, date2 = "; 52 date2.print(); 53 cout << endl; return 0; } // end main Η Default αλάζεζε νξίδεη ζε θάζε κέινο ηνπ date2 θάζε κέινο ηνπ date1 ανεξάπτητα. fig06_24.cpp (3 of 3) fig06_24.cpp output (1 of 1) 87 date1 = date2 = After default memberwise assignment, date2 =

88 6.17 Δπαλαρξεζηκνπνίεζε Κώδηθα Δπαλαρξεζηκνπνίεζε Κώδηθα Βηβιηνζήθεο ηάμεσλ Καιώο νξηζκέλεο Πξνζεθηηθά ειεγκέλεο Καιώο ηεθκεξησκέλεο Μεηαθέξζηκεο - Portable Γηαζέζηκεο Δπηηαρύλνπλ ηελ αλάπηπμε πνηνηηθνύ ινγηζκηθνύ Rapid applications development (RAD) Πξνβιήκαηα Καηάινγνη - ιίζηεο Θέκαηα αδεηώλ Μεραληζκνί πξνζηαζίαο 88

Outline 6.1 Εισαγωγή 6.2 Ορισµός δοµών - Structure 6.3 Προσπέλαση µελών δοµής - structure 6.4 Υλοποίηση τύπου Time µε struct από το χρήστη 6.

Outline 6.1 Εισαγωγή 6.2 Ορισµός δοµών - Structure 6.3 Προσπέλαση µελών δοµής - structure 6.4 Υλοποίηση τύπου Time µε struct από το χρήστη 6. Πανεπιστήµιο Πατρών Τµήµα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση εδοµένων 1 6.1 Εισαγωγή 6.2 Ορισµός δοµών - Structure 6.3 Προσπέλαση

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

17TimeThis.h function returns reference pointer to same object { return *this; }

17TimeThis.h function returns reference pointer to same object { return *this; } Προαπαιτούµενη Κάθε οµάδα θα πρέπει να εµπλουτίσει το ίδιο πρόγραµµα, που έκανε την προηγούµενη φορά, προσθέτοντας στην κλάση του έναν ή περισσότερους υπερφορτωµένους τελεστές (όπως , ++, +,-,+=..)

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

Constructors and Destructors in C++

Constructors and Destructors in C++ Constructors and Destructors in C++ Σύνθεζη Πνιύ ζπρλά ζηε C++ κία θιάζε κπνξεί λα πεξηέρεη ζαλ κέιεδεδνκέλα αληηθείκελα άιισλ θιάζεσλ. Πνηα είλαη ε ζεηξά κε ηελ νπνία δεκηνπξγνύληαη θαη θαηαζηξέθνληαη

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

7.1 Εισαγωγή 7.2 const Αντικείµενα και const Συναρτήσεις 7.3 Σύνθεση: Αντικείµενα ως µέλη τάξης 7.4 friend Συναρτήσεις και τάξεις 7.

7.1 Εισαγωγή 7.2 const Αντικείµενα και const Συναρτήσεις 7.3 Σύνθεση: Αντικείµενα ως µέλη τάξης 7.4 friend Συναρτήσεις και τάξεις 7. Πανεπιστήµιο Πατρών Τµήµα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση εδοµένων 1 Τάξεις Μέρος ΙΙ 7.1 Εισαγωγή 7.2 const Αντικείµενα και

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 3/4/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Γιατί έλεγχος πρόσβασης? Προστασία ιδιωτικής πληροφορίας

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

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ. Απαντήσεις θέματος 2 Απηά πνπ έπξεπε λα γξάςεηε (δελ ρξεηαδόηαλ δηθαηνιόγεζε εθηόο από ην Γ) Α return a*b; Β 0:acegf2, 1: acegf23, 2: acegf234, 3:acegf2345, 4:acegf23456, 5:acegf234567, 6:acegf2345678,

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

Προαπαιτούμενες Ασκήσεις 5 ου Εργαστηρίου. Dose stoixeio (integer) : 25 Found stoixeio in position 7 Dose stoixeio (integer) :94 Value not found

Προαπαιτούμενες Ασκήσεις 5 ου Εργαστηρίου. Dose stoixeio (integer) : 25 Found stoixeio in position 7 Dose stoixeio (integer) :94 Value not found Α. Πρώτη προαπαιτούµενη Κάθε οµάδα θα πρέπει να δηµιουργήσει τον ζητούµενο παρακάτω πίνακα και α. να εµφανίσει τα στοιχεία του, β. να τυπώσει τον µέσο όρο των στοιχείων του, γ. να ταξινοµήσει τα στοιχεία

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 23/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Υπερφόρτωση μεθόδων Υπερφόρτωση μεθόδων Πολλαπλές

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

Παλεπηζηήκην Παηξώλ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Σάξειρ και Αθαίπεζη Δεδομένων. Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ

Παλεπηζηήκην Παηξώλ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Σάξειρ και Αθαίπεζη Δεδομένων. Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ Παλεπηζηήκην Παηξώλ Σμήμα Μηχανικών Ηλεκηπονικών Τπολογιζηών και Πληποθοπικήρ ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΙΙ (C++) Σάξειρ και Αθαίπεζη Δεδομένων 1 Τάμεηο Μέξνο ΙΙ 7.1 Ειζαγυγή 7.2 const Ανηικείμενα και

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

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

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and

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

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

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

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

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο : ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ Ον/μο:.. Γ Λσκείοσ Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη. 11-1-11 Εήηημα 1 ο : Α. Γηα ηελ ζπλάξηεζε f, λα βξείηε ην δηάζηεκα ζην νπνίν είλαη παξαγσγίζηκε θαζώο θαη

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

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 Βάσεις Δεδομέμωμ Εξγαζηήξην V Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 2 Σκοπός του 5 ου εργαστηρίου Σθνπόο απηνύ ηνπ εξγαζηεξίνπ είλαη: ε κειέηε ζύλζεησλ εξσηεκάησλ ζύλδεζεο ζε δύν ή πεξηζζόηεξεο ζρέζεηο ε κειέηε

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

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) Έρνπκε απνζεθεύζεη κηα ζπιινγή αξρείσλ ζε κηα ζπλδεδεκέλε ιίζηα, όπνπ θάζε αξρείν έρεη κηα εηηθέηα ηαπηνπνίεζεο. Μηα εθαξκνγή παξάγεη κηα αθνινπζία από αηηήκαηα πξόζβαζεο ζηα αξρεία ηεο ιίζηαο. Γηα λα

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

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

Προγραμματισμός Ι. Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Πίνακες, Δείκτες, Αναφορές και Δυναμική Μνήμη Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Πίνακες Αντικειμένων Όπως στην C μπορούμε να έχουμε πίνακες από

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Procedures and Functions Stored procedures and functions are named blocks of code that enable you to group and organize a series of SQL and PL/SQL

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

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2 TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 Δημιουργία σελίδων και βιβλίων Έλα θαηλνύξην βηβιίν πεξηέρεη κία άδεηα ζειίδα κε έλα άδεην background. Δελ κπνξνύκε λα μερσξίζνπκε

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

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ηότοι εργαζηηρίοσ ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηνύλ βαζηθέο ιεηηνπξγίεο ησλ Windows XP πνπ ζρεηίδνληαη

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

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

Δυναμική μνήμη με πίνακες και λίστες Δυναμική μνήμη με πίνακες και λίστες Ατζέντα ονομάτων Οι πίνακες βοηθάνε στην εύκολη προσπέλαση, στην σειριοποίηση των δεδομένων για αποθήκευση ή μετάδοση. Απαιτούν ωστόσο είτε προκαταβολική δέσμευση μνήμης

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

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Πώς πρέπει να τιμολογεί ένα μονοπώλιο; Μέρξη ζηηγκήο ην κνλνπώιην έρεη ζεσξεζεί ζαλ κηα επηρείξεζε ε νπνία πσιεί ην πξντόλ ηεο ζε θάζε πειάηε ζηελ

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

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. B-Δέλδξα Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. Δέλδξα AVL n = 2 30 = 10 9 (πεξίπνπ). 30

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

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Ενδεικτικά Θέματα Στατιστικής ΙΙ Ενδεικτικά Θέματα Στατιστικής ΙΙ Θέματα. Έζησ όηη ζε δείγκα 35 θαηνηθηώλ πνπ ελνηθηάδνληαη ζε θνηηεηέο ζηελ Κνδάλε βξέζεθε ην κέζν κεληαίν κίζζσκα ζηα 5 επξώ, ελώ ζην Ζξάθιεην ην κέζν κεληαίν κίζζσκα ζε

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

Δομή ππογπάμμαηορ ζηη C++

Δομή ππογπάμμαηορ ζηη C++ Δομή ππογπάμμαηορ ζηη C++ #include Πξσηόηππν ζπλάξηεζεο int main( ) Δειώζεηο κεηαβιεηώλ Εθηειέζηκεο εληνιέο Δήισζε ζπλάξηεζεο Δειώζεηο κεηαβιεηώλ Εθηειέζηκεο εληνιέο Η εληνιή #include δεηάεη

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

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη ΔΠΑΝΑΛΗΠΣΙΚΑ ΘΔΜΑΣΑ ΣΟ ΓΙΑΦΟΡΙΚΟ ΛΟΓΙΜΟ Μάρτιος 0 ΘΔΜΑ Να ππνινγίζεηε ηα όξηα: i ii lim 0 0 lim iii iv lim e 0 lim e 0 ΘΔΜΑ Γίλεηαη ε άξηηα ζπλάξηεζε '( ) ( ) γηα θάζε 0 * : R R γηα ηελ νπνία ηζρύνπλ:

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

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress. Αιγόξηζκνη 2.2.7.3 Γνκή επηινγήο Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ 1 Πνιιαπιή Δληνιή Δπηινγήο Αν ζπλζήθε_1 ηόηε εληνιέο_1 αλλιώς_αν ζπλζήθε_2 ηόηε εληνιέο_2...

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

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ ΘΔΜΑ Α Α1. α. Σ β. Σ γ. Λ δ. Λ ε. Λ ζη. Σ Α2. Γ Α3. 1. γ 2. ε 3. δ 4. α Β1. ΘΔΜΑ Β Οη ηειηθνί ππνινγηζηέο παίξλνπλ απνθάζεηο δξνκνιόγεζεο κόλν γηα ηα δηθά ηνπο απηνδύλακα

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

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird 1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird 1.1 Εγκαηάζηαζη ηυν οδηγών ηηρ έξςπνηρ κάπηαρ ζηο λογιζμικό Mozilla Thunderbird

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

ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288

ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288 ΔΡΓΑΙΑ 1 Γιαδικησακά πληροθοριακά σζηήμαηα Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές ηέθανος Κονηοβάς ΑΔΜ :283 Πάζτος Βαζίλειος ΑΔΜ :288 1.Γιάγραμμα Ονηολογίας. Σην παξαπάλω δηάγξακκα θαίλεηαη ε δηάξζξωζε

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

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά Βασικά χαρακτηριστικά αναπτύχθηκε ως επέκταση της C το 1979 υπερσύνολο της C γλώσσα γενικού σκοπού, γρήγορη, Αντικειμενοστραφής προγραμματισμός (Object

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

ΘΔΜΑ 1 ο Μονάδες 5,10,10

ΘΔΜΑ 1 ο Μονάδες 5,10,10 ΟΝΟΜΑΣΔΠΩΝΤΜΟ ΗΜΔΡΟΜΗΝΙΑ ΘΔΜΑ 1 ο Μονάδες 5,1,1 ΓΙΑΓΩΝΙΜΑ 1 ου ΜΔΡΟΤ ΣΗ ΑΝΑΛΤΗ Α Γώζηε ηνλ νξηζκό ηεο αληίζηξνθεο ζπλάξηεζεο Β Γείμηε όηη αλ κηα ζπλάξηεζε είλαη αληηζηξέςηκε ηόηε νη γξαθηθέο παξαζηάζεηο

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

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12 Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 11-12 Project 6: Ταμίδη κε ηε Μεραλή ηνπ Φξόλνπ Υπεύζπλνη Καζεγεηέο: Ε. Μπηιαλάθε Φ. Αλησλάηνο Δρώηηζη 3: Πνηα από ηα παξαθάησ ΜΜΕ ηεξαξρείηε από πιεπξάο ζεκαζίαο;

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

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

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

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

x x x x tan(2 x) x 2 2x x 1

x x x x tan(2 x) x 2 2x x 1 ΘΕΡΙΝΟ ΣΜΗΜΑ ΜΑΘΗΜΑΣΙΚΑ Ι ΕΠΑΝΑΛΗΠΣΙΚΕ ΑΚΗΕΙ ΜΕΡΟ Ι 1. Να γίλνπλ νη γξαθηθέο παξαζηάζεηο ησλ παξαθάησ ζπλαξηήζεσλ. t ( i) e ( ii) ln( ) ( iii). Να βξεζεί ην Π.Ο., ν ηύπνο ηεο αλίζηξνθεο θαη ην Π.Τ. ησλ

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

Δηζαγωγή ζηε γιώζζα C Παξνπζίαζε 3 ε : Δίζνδνο/ Έμνδνο - Σπλαξηήζεηο - Pointers

Δηζαγωγή ζηε γιώζζα C Παξνπζίαζε 3 ε : Δίζνδνο/ Έμνδνο - Σπλαξηήζεηο - Pointers Δηζαγωγή ζηε γιώζζα C Παξνπζίαζε 3 ε : Δίζνδνο/ Έμνδνο - Σπλαξηήζεηο - Pointers κυ θαη Χεθηαθόο Έιεγρνο Σρνιή Μεραλνιόγωλ Μεραληθώλ ΔΜΠ Δξγαζηήξην Απηνκάηνπ Διέγρνπ Δίζνδνο/ Έμνδνο Βαζηθό output Σπλάξηεζε

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

Lab 1: C/C++ Pointers and time.h. Panayiotis Charalambous 1

Lab 1: C/C++ Pointers and time.h. Panayiotis Charalambous 1 Lab 1: C/C++ Pointers and time.h Panayiotis Charalambous 1 Send email to totis@cs.ucy.ac.cy Subject: EPL231-Registration Body: Surname Firstname ID Group A or B? Panayiotis Charalambous 2 Code Guidelines:

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

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0. DESIGN OF MACHINERY SOLUTION MANUAL -7-1! PROBLEM -7 Statement: Design a double-dwell cam to move a follower from to 25 6, dwell for 12, fall 25 and dwell for the remader The total cycle must take 4 sec

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

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 .1.10 ζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 Ερωηήζεις Καηανόηζης 1. ύν δηαθνξεηηθέο επζείεο κπνξεί λα έρνπλ θαλέλα θνηλό ζεκείν Έλα θνηλό ζεκείν i ύν θνηλά ζεκεία iλ) Άπεηξα θνηλά ζεκεία ηηηνινγήζηε ηελ απάληεζε

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

SOAP API. https://bulksmsn.gr. Table of Contents

SOAP API. https://bulksmsn.gr. Table of Contents SOAP API https://bulksmsn.gr Table of Contents Send SMS...2 Query SMS...3 Multiple Query SMS...4 Credits...5 Save Contact...5 Delete Contact...7 Delete Message...8 Email: sales@bulksmsn.gr, Τηλ: 211 850

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

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

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

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

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ ΚΕΦ..3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ Οπιζμόρ απόλςηηρ ηιμήρ: Σηνλ άμνλα ησλ πξαγκαηηθώλ αξηζκώλ ζεσξνύκε έλαλ αξηζκό α πνπ ζπκβνιίδεηαη κε ην ζεκείν Α. Η απόζηαζε ηνπ ζεκείνπ Α από ηελ αξρή Ο, δειαδή

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

Lab 1: C/C++ Pointers and time.h. Panayiotis Charalambous 1

Lab 1: C/C++ Pointers and time.h. Panayiotis Charalambous 1 Lab 1: C/C++ Pointers and time.h Panayiotis Charalambous 1 Send email to totis@cs.ucy.ac.cy Subject: EPL231-Registration Body: Surname Firstname ID Group A or B? Panayiotis Charalambous 2 Code Guidelines:

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

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

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++ Εντολές εισόδου - εξόδου Εισαγωγή στη C++ Το πρώτο πρόγραμμα //my first program #include using namespace std; int main(){ cout

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

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη Μάθημα 11 Τμήμα Μάπκεηινγκ και Διοίκηζηρ Λειηοςπγιών Τα δηαγξάκκαηα θαηάζηαζεο (state diagrams) ρξεζηκνπνηνύληαη γηα λα βνεζήζνπλ ηνλ πξνγξακκαηηζηή λα θαηαιάβεη

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

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

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

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

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2011-12 Ρέππα Μαξγαξίηα FORMAT, UNFORMAT Format format , όποσ = a:, b: Μνξθνπνηεί, δειαδή πξνεηνηκάδεη

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

Συναρτήσεις στη C++ Οι µεταβλητές χαρακτηρίζονται από διάφορες ιδιότητες. Για ποιο διάστηµα η µεταβλητή υπάρχει στη µνήµη

Συναρτήσεις στη C++ Οι µεταβλητές χαρακτηρίζονται από διάφορες ιδιότητες. Για ποιο διάστηµα η µεταβλητή υπάρχει στη µνήµη Συναρτήσεις στη C++ 1 ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή Συστατικά προγράµµατος στη C++ Μαθηµατικές Συναρτήσεις (Math Library) Συναρτήσεις Header Files Γεννήτρια τυχαίων αριθµών Χαρακτηριστικά Μεταβλητών Storage Classes

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

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2 ΣΡΙΓΩΝΟΜΔΣΡΙΚΔ EΞΙΩΔΙ Πνηα παξαδείγκαηα εμηζώζεσλ ή θαη πξνβιεκάησλ πηζηεύεηαη όηη είλαη θαηάιιεια γηα ηελ επίιπζε ηνπο θαηά ηελ δηάξθεηα ηεο δηδαθηηθήο δηαδηθαζίαο κέζα ζηελ ηάμε; 1 ε ΓΙΓΑΚΣΙΚΗ ΩΡΑ Α.

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ηµιουργία και χειρισµός LIFO λιστών µεταβλητού µήκους µε στοιχεία ακεραίους αριθµούς. Γενίκευση για χειρισµό λιστών πραγµατικών

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

UML (Unified Modeling Language )

UML (Unified Modeling Language ) UML (Unified Modeling Language ) Μεγάια Έξγα Λνγηζκηθνύ = επηθνηλσλία Πνιινί πξνγξακκαηηζηέο, πνιινί πειάηεο-ρξήζηεο, νη επόκελεο γεληέο, επηβάιινπλ ηε ρξήζε θνηλήο νξνινγίαο ε άιια ηερληθά έξγα ε ρξήζε

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

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report. Case Study Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report. Βήκα 1 ο : Login ζηο Turnitin. Κάλεηε είζνδν ζην Turnitin κε

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

Διαφορές μεταξύ αξιών και αναφορών #1

Διαφορές μεταξύ αξιών και αναφορών #1 Τι θα δούμε σε αυτό το μάθημα; Επεμήγεζε θαη δηαθνξέο κεηαμύ ηύπσλ πνπ αληηπξνζσπεύνπλ αμίεο (values) θαη ηύπσλ πνπ αληηπξνζσπεύνπλ αλαθνξέο (references). Πέξαζκα παξακέηξσλ ζε κεζόδνπο θαη ηξνπνπνίεζε

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

ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟN ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Εμβέλεια Μεταβλητών Εμβέλεια = το τμήμα του προγράμματος στο οποίο έχει ισχύ ή είναι ορατή η μεταβλητή.

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

5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού

5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού 5. Ανασκόπηση αντικειμενοστραφούς προγραμματισμού Χειμερινό εξάμηνο 2013 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Αντικειμενοστραφής προγραμματισμός Τάξεις (classes)

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

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών τοιχεία του μαθήματοσ (ημζρα εβδομάδασ, ώρεσ, ζτοσ): ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών Εργαςτηριακή ομάδα αςκήςεων 2 για το μάθημα «ΑΡΧΙΣΕΚΣΟΝΙΚΗ

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

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ. Μία αθηίλα θωηόο πξνζπίπηεη κε κία γωλία ζ ζηε επάλω επηθάλεηα ελόο θύβνπ από πνιπεζηέξα ν νπνίνο έρεη δείθηε δηάζιαζεο ε =,49 (ζρήκα ). Βξείηε πνηα ζα είλαη ε κέγηζηε γωλία

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

Φροντιςτήριο. Linked-List

Φροντιςτήριο. Linked-List Φροντιςτήριο Linked-List 1 Linked List Μια linked list είναι μια ακολουθία από ςυνδεδεμένουσ κόμβουσ Κάθε κόμβοσ περιέχει τουλάχιςτον Μια πληροφορία (ή ένα struct) Δείκτη ςτον επόμενο κόμβο τησ λίςτασ

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

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x) ΓΙΑΓΩΝΙΣΜΑ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ 54 Υλη: Παράγωγοι Γ Λσκείοσ Ον/μο:.. 6--4 Θεη-Τετν. ΘΔΜΑ Α.. Αλ f, g, h ηξεηο παξαγωγίζηκεο ζπλαξηήζεηο ζην λα απνδείμεηε όηη : f () g() h() ' f '()g()h() g'()f ()h() h'() f ()g()

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

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο 1 ε Δξαζηεξηόηεηα Αλνίμηε ην αξρείν «Μεηαηόπηζε παξαβνιήο.ggb». Με ηε καύξε γξακκή παξηζηάλεηαη ε γξαθηθή παξάζηαζε ηεο f(x)=αx 2 πνπ ζα ηελ

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

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην  ζαο Δίζνδνο ζηελ Υπεξεζία Αλ είζηε ήδε εγγεγξακκέλνο ρξήζηεο ζηελ ππεξεζία, γηα ηελ είζνδν ζαο (login) ζηελ ππεξεζία e-bill, εηζάγεηαη ην Όλνκα Φξήζηε (username) θαη ηνλ Κωδηθό Πξόζβαζεο (password) πνπ είραηε

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

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ηότοι εργαζηηρίοσ ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηεί ε δηαδηθαζία ηωλ ξπζκίζεωλ δηθηύνπ ζε ιεηηνπξγηθό ζύζηεκα Windows XP. Η δηαδηθαζία ζε γεληθέο γξακκέο

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

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

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ (ΟΜΑΓΑ Β ) ΣΔΣΑΡΣΖ 18 ΜΑΪΟΤ 16 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ (ΝΔΟ ΤΣΖΜΑ) ΚΑΣΔΤΘΤΝΖ (ΠΑΛΑΗΟ ΤΣΖΜΑ) (Ενδεικηικές Απανηήζεις) ΘΔΜΑ

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 16/4/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Τύποι της Java Primitives vs References Οι πρωταρχικοί

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

Πξνγξακκαηηζκόο Ι (ΗΥ120)

Πξνγξακκαηηζκόο Ι (ΗΥ120) Πξνγξακκαηηζκόο Ι (ΗΥ120) Δηάιεμε 13: Σπλαξηήζεηο & Δείθηεο Αιιαγή ηνπ «εμσηεξηθνύ» πεξηβάιινληνο Αλ ζαλ παξάκεηξνο κηαο ζπλάξηεζεο δνζεί κηα κεηαβιεηή, ζαλ πξαγκαηηθή παξάκεηξνο ζα πεξαζηεί ε ηηκή ηεο.

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

Δήλωση ακέραιων μεταβλητών. ροής με την στάνταρ είσοδο

Δήλωση ακέραιων μεταβλητών. ροής με την στάνταρ είσοδο Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Δομημένος Προγραμματισμός και Δομές Ελέγχου 1 Εισαγωγή Είσοδος/έξοδος Hello world: #include

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

The Simply Typed Lambda Calculus

The Simply Typed Lambda Calculus Type Inference Instead of writing type annotations, can we use an algorithm to infer what the type annotations should be? That depends on the type system. For simple type systems the answer is yes, and

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

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ Φξεζηκόηεηα καζεκαηηθώλ Αξρή θαηακέηξεζεο Όζα έδσζαλ νη Έιιελεο... Τξίγσλνη αξηζκνί Τεηξάγσλνη αξηζκνί Δπηκήθεηο αξηζκνί Πξώηνη αξηζκνί Αξηζκνί κε μερσξηζηέο ηδηόηεηεο Γίδπκνη πξώηνη

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

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ 1. ρεδίαζε πλδπαζηηθνύ Κπθιώκαηνο Έλα ζπλδπαζηηθό θύθισκα (Κ) έρεη ηξεηο εηζόδνπο A, B θαη C θαη κία έμνδν Y Y=A B+AC Να θαηαζθεπάζεηε ην ράξηε Karnaugh. B 0

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

Άσκηση 1 - Μοπυοποίηση Κειμένου

Άσκηση 1 - Μοπυοποίηση Κειμένου Άσκηση 1 - Μοπυοποίηση Κειμένου Σηηο παξαθάησ γξακκέο εθαξκόζηε ηε κνξθνπνίεζε πνπ πεξηγξάθνπλ Γξακκή κε έληνλε γξαθή Γξακκή κε πιάγηα γξαθή Γξακκή κε ππνγξακκηζκέλε γξαθή Γξακκή κε Arial Font κεγέζνπο

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

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα! Cpyright 2013 Λόγος & Επικοινωνία // All rights Reserved Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα! Αυηό ηο παιχνίδι έχει ζηόχους: 1. ηελ εθγύκλαζε ηεο αθνπζηηθήο κλήκεο ησλ παηδηώλ 2. ηελ εμάζθεζε ζηελ

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

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano). Να δηαηππώζεηε ην Θ.Bolzano. 5 ΘΔΜΑ Α μονάδες A. Να απνδείμεηε όηη γηα θάζε πνιπωλπκηθή

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΠΟΥΔΕΣ ΣΤΙΣ ΦΥΣΙΚΕΣ ΕΠΙΣΤΗΜΕΣ ΓΕΝΙΚΑ ΜΑΘΗΜΑΤΙΚΑ ΙΙ - ΦΥΕ 0 7 Ινπλίνπ 009 Απαντήσειρ στιρ ασκήσειρ τηρ τελικήρ εξέτασηρ στιρ Σςνήθειρ Διαυοπικέρ Εξισώσειρ Αγαπηηέ θοιηηηή/ηπια,

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

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016 Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Dynamic types, Lambda calculus machines Apr 21 22, 2016 1 Dynamic types and contracts (a) To make sure you understand the

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

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ ΚΔΦ.. ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ Οξηζκόο ηεηξαγσληθήο ξίδαο: Αλ 0 ηόηε νλνκάδνπκε ηεηξαγσληθή ξίδα ηνπ ηελ κε αξλεηηθή ιύζε ηεο εμίζσζεο:. Γειαδή ηεηξαγσληθή ξίδα ηνπ 0 ιέγεηαη ν αξηζκόο 0 πνπ όηαλ πςσζεί

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις

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

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

Προγραμματισμός Ι. Εισαγωγή στην C++ Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Εισαγωγή στην C++ Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η γλώσσα C++ Σχεδιάστηκε το 1979 από τον Bjarne Stroustrup στα Bell Laboratories Βασίζεται

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

Παράδειγµα χρήσης πίνακα

Παράδειγµα χρήσης πίνακα 24 Strings Παράδειγµα χρήσης πίνακα Πίνακες χαρακτήρων Όλα τα strings τερµατίζουν µε το null χαρακτήρα ('\0') Παραδείγµατα char string1[] = "hello"; Το Null θα προστεθεί στο τέλος Η µεταβλητή string1 έχει

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014 ΔΙΑΓΩΝΙΣΜΑ ΕΚΠ. ΕΤΟΥΣ 204-205 ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/204 A ΟΜΑΓΑ Οδηγία: Να γράυεηε ζηο ηεηράδιο ζας ηον αριθμό κάθε μιας από ηις παρακάηφ ερφηήζεις Α.-Α.8 και

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

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii) . Να ιπζνύλ ηα ζπζηήκαηα.,, 6 4 4 4 5( ) 6( ). Να ιπζνύλ ηα ζπζηήκαηα.,,,6 7. Να ιπζνύλ ηα ζπζηήκαηα. 5 ( )( ) ( ) 4. Να ιπζνύλ ηα ζπζηήκαηα. 5 4 6 7 4. 5. Να ιπζνύλ ηα ζπζηήκαηα. 59 ( )( ) ()( 5) 7 6.

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

Section 8.3 Trigonometric Equations

Section 8.3 Trigonometric Equations 99 Section 8. Trigonometric Equations Objective 1: Solve Equations Involving One Trigonometric Function. In this section and the next, we will exple how to solving equations involving trigonometric functions.

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

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

Κεθάιαην 20. Ελαχιστοποίηση του κόστους Κεθάιαην 0 Ελαχιστοποίηση του κόστους Ειαρηζηνπνίεζε ηνπ θόζηνπο Μηα επηρείξεζε ειαρηζηνπνηεί ην θόζηνο ηεο αλ παξάγεη νπνηνδήπνηε δεδνκέλν επίπεδν πξντόληνο y 0 ζην κηθξόηεξν δπλαηό ζπλνιηθό θόζηνο. Τν

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

Πξνγξακκαηηζκόο Ι. Δείθηεο. Κσλζηαληίλνο Τζεξπέο. (βαζηζκέλν ζηηο δηαθάλεηεο ηνπ θ. Δεκήηξε Μηραήι)

Πξνγξακκαηηζκόο Ι. Δείθηεο. Κσλζηαληίλνο Τζεξπέο. (βαζηζκέλν ζηηο δηαθάλεηεο ηνπ θ. Δεκήηξε Μηραήι) Πξνγξακκαηηζκόο Ι Δείθηεο Κσλζηαληίλνο Τζεξπέο (βαζηζκέλν ζηηο δηαθάλεηεο ηνπ θ. Δεκήηξε Μηραήι) Τκήκα Πιεξνθνξηθήο θαη Τειεκαηηθήο Φαξνθόπεην Παλεπηζηήκην Τη είλαη ν δείθηεο Έλαο δείθηεο είλαη κηα κεηαβιεηή

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

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο: Πίνακες Σσμβόλων Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο: Εηζαγσγή ελόο ζηνηρείνπ Αλαδήηεζε ζηνηρείνπ κε δεδνκέλν θιεηδί Άιιεο ρξήζηκεο ιεηηνπξγίεο είλαη: Δηαγξαθή ελόο θαζνξηζκέλνπ ζηνηρείνπ

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

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

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

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

Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή. Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε.

Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή. Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε. Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε. Παξάκεηξνη πξνο αμηνιόγεζε Ννκνζεηηθή ζσξάθηζε Κνηλόο Σύιινγνο Ακνηβή Καηαγγειία/Λύζε

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

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ Σήκαηα 1 Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) Σήκαηα Οξηζκόο ζήκαηνο Ταμηλόκεζε ζεκάησλ Σεηξέο Fourier Μεηαζρεκαηηζκόο Fourier Σπλέιημε Σπζρέηηζε θαη Φαζκαηηθή Ππθλόηεηα 2 Οξηζκόο Σήκαηνο

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

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

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

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

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής ΜΙΚΡΟΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ ΣΟΜΟ Α Mάθημα 5: To παραγωγής σναρηήζεις κόζηοσς Η ζπλάξηεζε ζπλνιηθνύ θόζηνπο C FC VC Όπνπ FC= ην ζηαζεξό θόζηνο (ην θόζηνο γηα ηνλ ζηαζεξό παξαγσγηθό ζπληειεζηή) θαη VC= ην κεηαβιεηό

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

Τι θα δούμε σε αυτό το μάθημα;

Τι θα δούμε σε αυτό το μάθημα; Τι θα δούμε σε αυτό το μάθημα; Οξηζκόο κηαο θιάζεο σο ζπιινγήο ζπζρεηηδόκελσλ κεζόδσλ θαη πεδίσλ δεδνκέλσλ Έιεγρνο πξόζβαζεο κε ηελ ρξήζε πξνζδηνξηζηώλ πξόζβαζεο Γεκηνπξγία αληηθεηκέλσλ κε ηελ ρξήζε θαηαζθεπαζηώλ

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

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

Αντικειμενοστρεφής Προγραμματισμός Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 24/4/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Υπερφόρτωση μεθόδων Υπερφόρτωση μεθόδων Πολλαπλές

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

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ Είμαζηε ηυχεροί που είμαζηε δάζκαλοι Ον/μο:.. A Λσκείοσ Ύλη: Εσθύγραμμη Κίνηζη 8-11-2015 Θέμα 1 ο : 1. Η εμίζωζε θίλεζεο ελόο θηλεηνύ πνπ θηλείηαη επζύγξακκα είλαη ε x = 5t. Πνηα

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

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training Dipl.Biol.cand.med. Stylianos Kalaitzis Stylianos Kalaitzis Μνλνϋβξηδηζκνο 1 Γπν γνλείο, εηεξόδπγνη γηα ηνλ αιθηζκό θάλνπλ παηδηά. Πνία ε πηζαλόηεηα

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

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο. 7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Ση είλαη έλαο θαηαρσξεηήο; O θαηαρσξεηήο είλαη κηα νκάδα από flip-flop πνπ κπνξεί λα απνζεθεύζεη πξνζσξηλά ςεθηαθή πιεξνθνξία. Μπνξεί λα δηαηεξήζεη ηα δεδνκέλα ηνπ

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

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία 8.3.2016 A8-0046/319 319 Άρθρο 34 παράγραθος 1 ζηοιχείο δ (δ) 14 έηε γηα θηεληαηξηθά θάξκαθα πνπ πξννξίδνληαη γηα άιια είδε δώωλ από απηά πνπ αλαθέξνληαη ζηελ παξάγξαθν 1 ζηνηρεία α) θαη γ). (δ) 10 έηε

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

Η αξρή ζύλδεζεο Client-Server

Η αξρή ζύλδεζεο Client-Server Η αξρή ζύλδεζεο Client-Server Δηαθνκηζηήο (Server) Πξνζθέξεη ππεξεζίεο ζηνπο Πειάηεο (Client) Μεγάινη ππνινγηζηέο γηα ηηο ππεξεζίεο Internet (π.ρ. WWW, FTP) Λακβάλεη εξσηήζεηο θαη δίδεη απαληήζεηο Πειάηεο

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

Οργάνωση και Δομή Παρουσιάσεων

Οργάνωση και Δομή Παρουσιάσεων Οργάνωση και Δομή Παρουσιάσεων Οη παξνπζηάζεηο κε βνήζεηα ηνπ ππνινγηζηή γίλνληαη κε πξνγξάκκαηα παξνπζηάζεσλ, όπσο ην OpenOffice.org Impress [1] θαη ην Microsoft Office PowerPoint [2]. Απηά ηα πξνγξάκκαηα

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

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017 α: κολάδα β: κολάδες Σειίδα από 8 ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 7 ΘΔΜΑ Α Α Έζηω, κε Θα δείμνπκε όηη f ( ) f ( ) Πξάγκαηη, ζην δηάζηεκα [, ] ε f ηθαλνπνηεί ηηο πξνϋπνζέζεηο ηνπ ΘΜΤ Επνκέλωο,

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

Πξνγξακκαηηζκόο Ι (ΗΥ120)

Πξνγξακκαηηζκόο Ι (ΗΥ120) Πξνγξακκαηηζκόο Ι (ΗΥ120) Γηάιεμε 9: Σπλαξηήζεηο Οξηζκόο ζπλαξηήζεωλ () { /* δήλωζη μεηαβληηών */ /* ενηολέρ ελέγσος/επεξεπγαζίαρ */ 2 o Μηα ζπλάξηεζε νξίδεηαη δίλνληαο

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

Αντισταθμιστική ανάλυση

Αντισταθμιστική ανάλυση Θεσξήζηε έλαλ αιγόξηζκν Α πνπ ρξεζηκνπνηεί κηα δνκή δεδνκέλσλ Γ : Καηά ηε δηάξθεηα εθηέιεζεο ηνπ Α ε Γ πξαγκαηνπνηεί κία αθνινπζία από πξάμεηο. Παξάδεηγκα: Θπκεζείηε ην πξόβιεκα ηεο εύξεζεο-έλσζεο Δίρακε

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

7. Δομές Ελέγχου (Control Statements)

7. Δομές Ελέγχου (Control Statements) 7. Δομές Ελέγχου (Control Statements) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Αλγόριθμοι, δομές ελέγχου και ψευδοκώδικας Δομές ελέγχου στη

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