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

Σχετικά έγγραφα
Οντοκεντρικός Προγραμματισμός

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

Επιχειρηςιακή Έρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

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

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

Αναπαράςταςθ Γνώςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 4 ο XPath

Αποτυπώςεισ & Τεκμηρίωςη Αντικειμζνων

Διδακτικι τθσ Γλϊςςασ Ι

Τεχνικό Σχζδιο - CAD

Κλαςικι Ηλεκτροδυναμικι

Ειδικζσ Ναυπηγικζσ Καταςκευζσ και Ιςτιοφόρα κάφη (Ε)

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

Ερωτήσεις επανάληψης. Ενδοκρινείς αδένες. Τμήμα Ιαηρικής Πανεπιζηήμιο Παηρών

Aντιπτζριςθ (ΕΠ027) Ενότθτα 12

ΘΕΡΜΟΔΤΝΑΜΙΚΗ IΙ. Ενότθτα 4: Χθμικζσ αντιδράςεισ αερίων τακερά Χθμικισ Ιςορροπίασ Πρότυπθ Ελεφκερθ Ενζργεια

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

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

Aντιπτζριςη (ΕΠ027) Ενότητα 10

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

Αναπαράςταςθ Γνώςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 5: Κανόνεσ Λογικι και Συμπεραςμόσ

Aντιπτζριςη (ΕΠ027) Ενότητα 6

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

Aντιπτζριςη (ΕΠ027) Ενότητα 5

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Ψθφιακι Επεξεργαςία ιματοσ

Παράγοντεσ υμμετοχήσ Ενηλίκων ςτην Εκπαίδευςη: Ζητήματα Κινητοποίηςησ και Πρόςβαςησ ςε Οργανωμζνεσ Εκπαιδευτικζσ Δραςτηριότητεσ

ΘΕΡΜΟΔΤΝΑΜΙΚΘ IΙ. Ενότθτα 11: Διαλυτότθτα Ιδανικά διαλφματα ογομών Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικών Μθχανικών

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

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

Τεχνολογία Περιβάλλοντοσ: Διαχείριςθ Υγρών Αποβλιτων Ενότθτα 9: Απολφμανςθ. Κορνάροσ Μιχαιλ Πολυτεχνικι Σχολι Τμιμα Χθμικών Μθχανικών

Ειςαγωγή ςτη διδακτική των γλωςςών

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

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

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

Αναπαράςταςθ Γνϊςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 2 ο - DTD

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 3: Μθδενικόσ Νόμοσ - Ζργο. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

Εκκλθςιαςτικό Δίκαιο ΙΙΙ (Μεταπτυχιακό)

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Ψθφιακι Επεξεργαςία ιματοσ

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 1: Βαςικά χαρακτθριςτικά τθσ Θερμοδυναμικισ. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

Διδακτικι τθσ Γλϊςςασ Ι

Επιχειρηςιακή Έρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

Τεχνολογία Περιβάλλοντοσ: Διαχείριςθ Στερεών Αποβλιτων Ενότθτα 4: Μθχανικόσ Διαχωριςμόσ. Κορνάροσ Μιχαιλ Πολυτεχνικι Σχολι Τμιμα Χθμικών Μθχανικών

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

Διαγλωςςική Επικοινωνία

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

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

Ψθφιακά Ηλεκτρονικά. Ενότθτα 5 : Ανάλυςθ κυκλώματοσ με D και JK FLIP- FLOP Φώτιοσ Βαρτηιώτθσ

ΔΙΔΑΚΣΙΚΗ ΣΗ ΠΑΙΔΑΓΩΓΙΚΗ ΓΤΜΝΑΣΙΚΗ ΙΙ

Διαγλωςςική Επικοινωνία

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

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Ψθφιακι Επεξεργαςία ιματοσ

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Aντιπτζριςη (ΕΠ027) Ενότητα 2

Ελλθνικι Δθμοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 13 : Άλλοι Μετρθτζσ Φϊτιοσ Βαρτηιϊτθσ

Τεχνθτι Νοθμοςφνθ. Ενότθτα 2: Αναπαράςταςθ Γνϊςθσ και Συλλογιςμόσ. Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι Σχολι Τμιμα Μθχανικϊν Η/Υ & Πλθροφορικισ

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

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

Διδακτικζσ Προςεγγίςεισ Διερευνθτικισ Μάκθςθσ

Μυκθτολογικζσ αςκζνειεσ δενδρωδϊν και αμπζλου

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 9 : Διαδικαςία φνκεςθσ Φϊτιοσ Βαρτηιϊτθσ

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

Aντιπτζριςη (ΕΠ027) Ενότητα 9

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

Παράγοντεσ υμμετοχήσ Ενηλίκων ςτην Εκπαίδευςη: Ζητήματα Κινητοποίηςησ και Πρόςβαςησ ςε Οργανωμζνεσ Εκπαιδευτικζσ Δραςτηριότητεσ

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

Ψθφιακι Επεξεργαςία ιματοσ

Ειςαγωγι ςτισ Μεταφραςτικζσ Σπουδζσ

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

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

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

Ψθφιακά Ηλεκτρονικά. Ενότθτα 7 : Ελαχιςτοποίθςθ και κωδικοποίθςθ καταςτάςεων Φϊτιοσ Βαρτηιϊτθσ

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

ΠΡΟΠΟΝΗΣΙΚΕ ΠΡΟΑΡΜΟΓΕ ΣΙ ΑΝΑΠΣΤΞΙΑΚΕ ΗΛΙΚΙΕ (555)

Αναπαράςταςθ Γνϊςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 1 ο - XML

ΕΙΚΟΝΙΚΟ ΕΡΓΑΣΗΡΙΟ ΠΑΙΔΟΚΑΡΔΙΟΛΟΓΙΑ Ενότητα: Φυςιολογία εμβρυϊκισ και περιγεννθτικισ κυκλοφορίασ

ΕΙΚΟΝΙΚΟ ΕΡΓΑΣΗΡΙΟ ΠΑΙΔΟΚΑΡΔΙΟΛΟΓΙΑ Ενότητα: Bαρφτατεσ μορφζσ (critical) ςυγγενϊν καρδιοπακειϊν

Ειςαγωγή ςτη διδακτική των γλωςςών

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

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 11 : Μετρθτζσ Ριπισ Φϊτιοσ Βαρτηιϊτθσ

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

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

Ψθφιακι Επεξεργαςία ιματοσ

Ειςαγωγή ςτη διδακτική των γλωςςών

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

Τεχνθτι Νοθμοςφνθ. Ενότθτα 4: Στρατθγικζσ Ελζγχου Επίλυςθσ. Ιωάννθσ Χατηθλυγεροφδθσ Πολυτεχνικι Σχολι Τμιμα Μθχανικϊν Η/Υ & Πλθροφορικισ

Βάςεισ Δεδομζνων Ι. Ενότητα 4: Μετατροπή ςχήματοσ Ο/Σ ςε ςχεςιακό. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ

EMUNI A.U.Th. SUMMER SCHOOL

S, (5, -3, 34, -23, 7) ( *, _

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

Διεπαφζσ Φορητών Συςκευών

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

Transcript:

Οντοκεντρικόσ Ρρογραμματιςμόσ Ενότθτα 9: C++ ΕΙΣΟΔΟΣ - ΕΞΟΔΟΣ / ΑΛΦΑΙΘΜΗΤΙΚΑ / ΑΧΕΙΑ Διαχείριςθ Αρχείων Ιωάννθσ Χατηθλυγεροφδθσ Ρολυτεχνικι Σχολι Τμιμα Μθχανικϊν Η/Υ & Ρλθροφορικισ

Διαχείριςθ Αρχείων

Ιεραρχία Δεδομζνων Από μικρότερα ςε μεγαλφτερα: o Bit (δυαδικό ψθφίο 1 ι 0) o Byte: 8 bits Μπορεί να αποκθκεφςει ζναν χαρακτιρα (char) Unicode για μεγάλα ςετ χαρακτιρων (wchar_t) o Ρεδίο (Field): γκρουπ χαρακτιρων με κάποιο νόθμα (πχ ζνα όνομα) o Εγγραφι (Record): ομάδα από ςχετικά πεδία (struct ι class ςτθν C++) o Αρχείο (File): ομάδα ςχετικϊν εγγραφϊν o Βάςθ Δεδομζνων (Database): ομάδα ςχετικϊν αρχείων 3/18

Αρχεία ςτθν C++ Η C++ χειρίηεται τα αρχεία ωσ αλλθλουχία bytes o το τζλοσ ςθματοδοτείται με: end-of-file 0 1 2 3 4 5 6 7 8 9... n-1... end-of-file marker Πταν ανοίγει ζνα αρχείο o Δθμιουργείται αντικείμενο και ςυνδζεται με ζνα κανάλι (stream) o cin, cout, κτλ. όταν περιλαμβάνεται θ <iostream> 4/18

Κανάλια - Streams Για να διαχειριςτοφμε ζνα αρχείο: o Κάνουμε include τισ <iostream> και <fstream> o Class templates basic_ifstream (είςοδοσ) basic_ofstream (ζξοδοσ) basic_fstream (I/O) o typedefs ειδικά για char I/O ifstream (είςοδοσ char) ofstream (εξοδοσ char) fstream (char I/O) 5/18

Τρόποι ανοίγματοσ αρχείου Τρόποι ανοίγματοσ αρχείου (File-open modes) Mode Description ios::app ios::ate ios::in ios::out ios::trunc ios::binary o ofstream για ζξοδο Εγγραθή ζηο ηέλος ηοσ αρτείοσ Άνοιγμα αρτείοσ για εγγραθή και μεηαθορά ζηο ηέλος ηοσ αρτείοσ. Μπορεί να γίνει εγγραθή ζε οποιοδήποηε ζημείο ηοσ αρτείοσ. Άνοιγμα αρτείοσ για είζοδο Άνοιγμα αρτείοσ για εγγραθή Διαγραθή ηων περιετόνηων ηοσ αρτείοσ αν σπάρτει (προκαθοριζμένη ζσμπεριθορά και ηοσ ios::out) Ανοίγει αρτείο για δσαδική ανάγνωζη/εγγραθή (π.τ., ότι κείμενο) ofstream outclientfile("persons.dat", ios::out ); ofstream outclientfile("persons.dat"); 6/18

Παράδειγμα Ζξοδοσ #include <iostream> using std::cout; using std::cin; using std::ios; using std::cerr; using std::endl; #include <fstream> using std::ofstream; #include <cstdlib> int main(){ ofstream outclientfile("persons.dat", ios::out ); if (!outclientfile ) { cerr << "File could not be opened" << endl; return 1; } char name[30]; int age; while ( cin >> name >> age ) outclientfile << name <<' '<< age<< endl; return 0; } 7/18

Παράδειγμα Είςοδοσ #include <iostream> using std::cout; using std::ios; using std::cerr; using std::endl; #include <fstream> using std::ifstream; #include <iomanip> #include <cstdlib> int main(){ ifstream inclientfile("persons.dat", ios::in ); if (!inclientfile ) { cerr << "File could not be opened" << endl; return 1; } char name[ 30 ]; int age; while ( inclientfile >> name >> age ) cout << name << ' ' << age << endl; return 0; } 8/18

Δείκτεσ ςε κζςθ αρχείου Δείκτεσ ςε κζςθ ςτο αρχείο o Number of next byte to read/write o Συναρτιςεισ αλλαγισ κζςθσ του δείκτθ seekg (seek get τθσ istream class) seekp (seek put τθσ ostream class) Οι κλάςεισ διακζτουν "get και "put" δείκτεσ o seekg και seekp παίρνουν ωσ ορίςματα: Offset: αρικμόσ bytes Direction (προκακοριςμζνθ τιμι ios::beg) ios::beg ςε ςχζςθ με τθν αρχι του αρχείου ios::cur ςε ςχζςθ με τθν τρζχουςα κζςθ ios::end ςε ςχζςθ με το τζλοσ 9/18

Άνοιγμα Αρχείου Η C++ δεν αναγκάηει ςυγκεκριμζνθ δομι ςτο αρχείο o Η ζννοια μιασ εγγραφισ κακορίηεται/υλοποιείται από τον προγραμματιςτι Για να ανοίξει το αρχείο δθμιουργείται αντικείμενο o δθμιουργεί «γραμμι επικοινωνίασ" από το αντικείμενο ςτο αρχείο o Κλάςεισ ifstream (μόνο για είςοδο) ofstream (μόνο για ζξοδο) fstream (I/O) o Οι δθμιουργοί παίρνουν ωσ παραμζτρουσ το όνομα του αρχείου ( file name) και τον τρόπο (file-open mode) ofstream outclientfile( "filename", fileopenmode ); o Για να ανοίξουμε ζνα αρχείο αργότερα (αφοφ δθμιουργιςουμε το αντικείμενο): Ofstream outclientfile; outclientfile.open( "filename", fileopenmode); 10/18

Παραδείγματα seekg Ραραδείγματα o fileobject.seekg(0) Ρθγαίνει ςτθν αρχι του αρχείου (location 0), προκακοριςμζνο: ios::beg o fileobject.seekg(n) Ρθγαίνει ςτο n-οςτό byte από τθν αρχι o fileobject.seekg(n, ios::cur) Μεταφζρεται n bytes μπροςτά o fileobject.seekg(y, ios::end) Ρθγαίνει πίςω y bytes από το τζλοσ o fileobject.seekg(0, ios::cur) Ρθγαίνει ςτο τελευταίο byte o seekp (όμοια) 11/18

Πρόςκετο Υλικό Μελετιςτε και τα παραδείγματα από το Κεφάλαιο 14 του βιβλίου: «C++ How to Program, 9/e Paul & Harvey Deitel» http://media.pearsoncmg.com/ph/esm/deitel/cpp_htp_9/code_examples/code_examples.zip 12/18

Χρθματοδότθςθ Το παρόν εκπαιδευτικό υλικό ζχει αναπτυχκεί ςτo πλαίςιo του εκπαιδευτικοφ ζργου του διδάςκοντα. Το ζργο «Ανοικτά Ακαδθμαϊκά Μακιματα ςτο Πανεπιςτιμιο Ακθνών» ζχει χρθματοδοτιςει μόνο τθν αναδιαμόρφωςθ του εκπαιδευτικοφ υλικοφ. Το ζργο υλοποιείται ςτο πλαίςιο του Επιχειρθςιακοφ Ρρογράμματοσ «Εκπαίδευςθ και Δια Βίου Μάκθςθ» και ςυγχρθματοδοτείται από τθν Ευρωπαϊκι Ζνωςθ (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εκνικοφσ πόρουσ. 13/18

Σθμείωμα Ιςτορικοφ Εκδόςεων Ζργου Το παρόν ζργο αποτελεί τθν ζκδοςθ 1.0. 14/18

Σθμείωμα Αναφοράσ Copyright: Ρανεπιςτιμιον Ρατρϊν, Ιωάννθσ Χατηθλυγεροφδθσ, 2015. «Οντοκεντρικόσ Ρρογραμματιςμόσ». Ζκδοςθ: 1.0. Ράτρα 2015. Διακζςιμο από τθ δικτυακι διεφκυνςθ: https://eclass.upatras.gr/courses/ceid1105/ 15/18

Σθμείωμα Αδειοδότθςθσ Το παρόν υλικό διατίκεται με τουσ όρουσ τθσ άδειασ χριςθσ Creative Commons Αναφορά, Μθ Εμπορικι Χριςθ Ραρόμοια Διανομι 4.0 *1+ ι μεταγενζςτερθ, Διεκνισ Ζκδοςθ. Εξαιροφνται τα αυτοτελι ζργα τρίτων π.χ. φωτογραφίεσ, διαγράμματα κ.λ.π., τα οποία εμπεριζχονται ςε αυτό και τα οποία αναφζρονται μαηί με τουσ όρουσ χριςθσ τουσ ςτο «Σθμείωμα Χριςθσ Ζργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ωσ Μθ Εμπορικι ορίηεται θ χριςθ: που δεν περιλαμβάνει άμεςο ι ζμμεςο οικονομικό όφελοσ από τθν χριςθ του ζργου, για το διανομζα του ζργου και αδειοδόχο που δεν περιλαμβάνει οικονομικι ςυναλλαγι ωσ προχπόκεςθ για τθ χριςθ ι πρόςβαςθ ςτο ζργο που δεν προςπορίηει ςτο διανομζα του ζργου και αδειοδόχο ζμμεςο οικονομικό όφελοσ (π.χ. διαφθμίςεισ) από τθν προβολι του ζργου ςε διαδικτυακό τόπο Ο δικαιοφχοσ μπορεί να παρζχει ςτον αδειοδόχο ξεχωριςτι άδεια να χρθςιμοποιεί το ζργο για εμπορικι χριςθ, εφόςον αυτό του ηθτθκεί.

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

Σθμείωμα Χριςθσ Ζργων Τρίτων Οι διαφάνειεσ βαςίηονται ςτο βιβλίο «C++ How to Program, 8th Edition, Harvey M. Deitel, Paul J. Deitel, Prentice Hall.» 18/18