Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα

Σχετικά έγγραφα
Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

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

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. Διαφάνειεσ: Βαςικζσ Αρχζσ Προγραμματιςμοφ Α.Π.Θ. Δθμιτρθσ Βράκασ

Δομθμζνοσ Προγραμματιςμόσ. Βαγγζλθσ Οικονόμου Εργαςτιριο 9

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

17. Πολυδιάςτατοι πίνακεσ

ςυςτιματα γραμμικϊν εξιςϊςεων

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ

16. Πίνακεσ και Συναρτήςεισ

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

Ποσοτικές Μέθοδοι Δρ. Χάϊδω Δριτσάκη

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν. Κϊςτασ Αρβανιτάκθσ

Δομζσ Δεδομζνων Πίνακεσ

8 τριγωνομετρία. βαςικζσ ζννοιεσ. γ ςφω. εφω και γ. κεφάλαιο

Πλαγιογώνια Συςτήματα Συντεταγμζνων Γιϊργοσ Καςαπίδθσ

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

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

Γράφοι. Δομζσ Δεδομζνων Διάλεξθ 9

ΟΝΟΜΑΣΟΛΟΓΙΑ ΠΑΡΑΜΕΣΡΩΝ ΓΙΑ ΠΡΟΑΡΜΟΜΕΝΕ ΑΝΑΦΟΡΕ. παραμζτρου> (Εμφανίηεται ςαν Caption ςτθν φόρμα των φίλτρων).

Περιεχόμενα. χολι Χοροφ Αντιγόνθ Βοφτου - Πολιτικι Διαχείριςθσ Cookie 1

1 ΕΙΣΑΓΩΓΗ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3)

ΑΝΑΠΣΤΞΘ ΕΦΑΡΜΟΓΩΝ Ε ΠΡΟΓΡΑΜΜΑΣΙΣΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 3 ο ΓΕΝΙΚΟ ΛΤΚΕΙΟ Ν. ΜΤΡΝΘ- ΕΠΙΜΕΛΕΙΑ: ΠΤΡΙΔΑΚΘ Λ.

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

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι

Στα προθγοφμενα δφο εργαςτιρια είδαμε τθ δομι απόφαςθσ (ι επιλογισ ι ελζγχου ροισ). Ασ κυμθκοφμε:

HY437 Αλγόριθμοι CAD

1 ο ΜΑΘΗΜΑ Κεφάλαιο 1, Παράγραφοι 1.1, 1.2 ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

Εργαςτιριο Βάςεων Δεδομζνων

ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου

Η γλώςςα προγραμματιςμού C

Η θεωρία τησ ςτατιςτικήσ ςε ερωτήςεισ-απαντήςεισ Μέροσ 1 ον (έωσ ομαδοποίηςη δεδομένων)

Α) Ενδεικτικϋσ απαντόςεισ των θεμϊτων

Μάκθμα 1 Ειςαγωγι ςτθν αναπθρία

Δείκτεσ απόδοςθσ υλικών

Ειδικά Θζματα Βάςεων Δεδομζνων

ΒΙΟΛΟΓΟΙ ΓΙΑ ΦΥΣΙΚΟΥΣ

Διάδοση θερμότητας σε μία διάσταση

Κατά τθν ενεργοποίθςθ τθσ ιδιότθτασ αυτισ ενδζχεται να εμφανιςτεί ζνα μινυμα ςαν αυτό τθσ παρακάτω εικόνασ. Απλά επιβεβαιϊςτε πατϊντασ ΟΚ.

ΑΝΣΙΣΡΟΦΗ ΤΝΑΡΣΗΗ. f y x y f A αντιςτοιχίηεται ςτο μοναδικό x A για το οποίο. Παρατθριςεισ Ιδιότθτεσ τθσ αντίςτροφθσ ςυνάρτθςθσ 1. Η. f A τθσ f.

ΕΤΦΤΗ ΕΛΕΓΧΟ. Κεφάλαιο 3 τοιχεία τησ Αςαφοφσ Λογικήσ

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

Γενικά Μαθηματικά ΙΙ

Πειραματικι Ψυχολογία (ΨΧ66)

Γενικά Μαθηματικά ΙΙ

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

Modellus 4.01 Συ ντομοσ Οδηγο σ

Βάρειπ Δεδξμέμωμ. Επγαστήπιο ΙΙ. Τμήμα Πλεπουοπικήρ ΑΠΘ

ΟΔΗΓΙΕ ΔΗΜΙΟΤΡΓΙΑ ΚΑΙ ΡΤΘΜΙΗ ΔΩΡΕΑΝ ΗΛΕΚΣΡΟΝΙΚΟΤ ΣΑΧΤΔΡΟΜΕΙΟΤ ΣΟ GOOGLE (G-MAIL)

ΥΡΟΝΣΙΣΗΡΙΟ Μ. Ε. ΚΑΙ ΚΕΝΣΡΟ ΙΔΙΑΙΣΕΡΩΝ ΜΑΘΗΜΑΣΩΝ «ΚΤΡΙΣΗ» ΔΙΑΓΩΝΙΜΑ ΘΕΜΑΣΑ Β ΛΤΚΕΙΟΤ ΥΕΒΡΟΤΑΡΙΟ 2018 ΑΕΠΠ

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

ΧΕΔΙΑΜΟ ΠΡΟΪΟΝΣΩΝ ΜΕ Η/Τ

HY437 Αλγόριθμοι CAD

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι

Γομέρ Γεδομένων (Data Structures) Χαπμανδάπηρ Δςάγγελορ, Τμήμα Δθαπμοζμένων Μαθημαηικών, Δαπινό Δξάμηνο 2010/11. Διζαγωγή: Σύνηομη Δπιζκόπηζη ηηρ C++

Ραραμετροποίθςθ ειςαγωγισ δεδομζνων περιόδων

Σχεδίαςη Σφγχρονων Ακολουθιακών Κυκλωμάτων

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

Πνομα Ομάδασ: Προγραμματιςμόσ ενόσ κινοφμενου ρομπότ

Βαγγζλθσ Οικονόμου Διάλεξθ 7. Συναρτιςεισ Μζροσ 2ο

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

Διαγώνισμα Χημείας Γ Λυκείου στα Κεφάλαια 1-4

HY437 Αλγόριθμοι CAD

ΕΝΟΤΘΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΘ. ΚΕΦΑΛΑΙΟ 8: Πειρατεία Λογιςμικοφ

Θεςιακά ςυςτιματα αρίκμθςθσ

Ενδεικτική Οργάνωςη Ενοτήτων. Α Σάξη. Διδ. 1 ΕΝΟΣΗΣΑ 1. 6 Ομαδοποίθςθ, Μοτίβα,

Αςφάλεια και Προςταςία Δεδομζνων

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

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

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

Γενικά Μακθματικά ΙΙ

Ονοματεπϊνυμο.. ΔΙΑΓΩΝΙΣΜΑ ΑΕΠΠ

Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων. 18. Αλφαριθμητικά. Ιωάννθσ Κατάκθσ. ΕΡΛ 032: Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων

Εργαςτθριακζσ Αςκιςεισ Αρικμθτικισ Ανάλυςθσ

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

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

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

ΦΥΕ 14 ΑΚΑΔ. ΕΤΟΣ Η ΕΡΓΑΣΙΑ. Ημερομηνία παράδοςησ: 12 Νοεμβρίου (Όλεσ οι αςκιςεισ βακμολογοφνται ιςοτίμωσ με 10 μονάδεσ θ κάκε μία)

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

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

ΣΤΟΙΧΕΙΑ ΜΑΘΗΜΑΤΙΚΗΣ ΛΟΓΙΚΗΣ

Διαχείριςη Αριθμοδεικτών (v.1.0.7)

Ιδιότθτεσ πεδίων Γενικζσ.

Εισαγωγικές έννοιες. Αντώνησ Κ Μαώργιώτησ

Οδηγίεσ για την πρόςβαςη των δικαιοφχων ςτο ΟΠΣΑΑ

Αυτόνομοι Πράκτορες. Αναφορά Εργασίας Εξαμήνου. Το αστέρι του Aibo και τα κόκαλα του

ΝΟΜΟ ΣΟΤ BOYLE(βαςιςμζνο ςε πείραμα)

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

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

Αςφάλεια και Προςταςία Δεδομζνων

Μετατροπι Αναλογικοφ Σιματοσ ςε Ψθφιακό. Διάλεξθ 10

Πωσ δημιουργώ μάθημα ςτο e-class του ΠΣΔ [επίπεδο 1]

Transcript:

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα

Περιεχόμενα Ζννοια δομισ Οριςμόσ δομισ Διλωςθ μεταβλθτϊν Απόδοςθ Αρχικϊν τιμϊν Αναφορά ςτα μζλθ μιασ δομισ Ζνκεςθ Δομισ Πίνακεσ Δομϊν

Η ζννοια τθσ δομισ Χρθςιμοποιιςαμε τουσ τφπουσ δεδομζνων για να προςδιορίςουμε τισ μεταβλθτζσ με τισ οποίεσ αναπαριςτοφμε τα δεδομζνα του προβλιματόσ μασ. Ζτςι, προςδιορίςαμε ςαν ακζραιου τφπου τθ μεταβλθτι του απαρικμθτι, και ςαν τφπου κινθτισ υποδιαςτολισ απλισ ακρίβειασ τθ μεταβλθτι που αναπαριςτά τθ κερμοκραςία. Τι γίνεται όμωσ με τθν αναπαράςταςθ δεδομζνων όπωσ «διεφκυνςθ», «ςυντεταγμζνεσ τετραγϊνου» κ.λπ. Προφανϊσ, είναι αδφνατο να ζχουμε ζναν τφπο για τθν αναπαράςταςθ κάκε ζννοιασ του φυςικοφ προβλιματοσ. Οι ςφγχρονεσ γλϊςςεσ προγραμματιςμοφ για να επιτρζψουν το χειριςμό ομάδων δεδομζνων διαφορετικοφ τφπου, τα οποία ζχουν ςχζςθ μεταξφ τουσ, παρζχουν ζνα μθχανιςμό που επιτρζπει τον οριςμό νζων τφπων.

Η ζννοια τθσ δομισ Ο τφποσ τθσ δομής (struct) (ή της εγγραφής (record) τηςpascal), ςε αντίκεςθ με αυτόν του πίνακα, μασ επιτρζπει να χειριηόμαςτε ομάδεσ δεδομζνων, τα οποία ζχουν κάποια ςχζςθ μεταξφ τουσ και είναι διαφορετικοφ τφπου. Τον μθχανιςμό struct χρθςιμοποιοφμε για να ορίςουμε ζνα νζο τφπο, είτε όταν κζλουμε να αναπαραςτιςουμε μια ζννοια ι ζνα αντικείμενο του φυςικοφ προβλιματοσ που χαρακτθρίηεται από ζνα ςφνολο ιδιοτιτων διαφορετικοφ πικανόν τφπου ι όταν για οποιοδιποτε λόγο κζλουμε να ομαδοποιιςουμε κάτω από ζνα όνομα μεταβλθτζσ του προγράμματοσ οι οποίεσ είναι πικανόν διαφορετικοφ τφπου. Επιπλζον, ςε αντίκεςθ με τον πίνακα, όπου το κάκε διαφορετικό δεδομζνο προςδιορίηεται από τθν τάξθ του μζςα ςε αυτόν, το κάκε δεδομζνο μζλοσ τθσ δομισ, που ονομάηεται και πεδίο (field), μπορεί να ζχει το δικό του όνομα. Τα μζλθ μιασ δομισ μπορεί να ανικουν ςτουσ βαςικοφσ τφπουσ int, char, float και double, μπορεί να είναι πίνακεσ αλλά ακόμθ και άλλεσ δομζσ.

Οριςμόσ Δομισ Ο οριςμόσ μιασ δομισ ζχει τθν παρακάτω μορφι: struct [<όνομα δομισ >] { <τφποσ 1 ου μζλουσ> <όνομα 1 ου μζλουσ>; <τφποσ 2 ου μζλουσ> <όνομα 2 ου μζλουσ>; <τφποσ 3 ου μζλουσ> <όνομα 3 ου μζλουσ>; <τφποσ n ου μζλουσ> <όνομα n ου μζλουσ>; };

Οριςμόσ Δομισ Ο οριςμόσ τθσ δομισ ορίηει ςτθν πράξθ ζνα «καλοφπι», ςφμφωνα με το οποίο κα δεςμεφεται μνιμθ για τισ δθλοφμενεσ μεταβλθτζσ τθσ νζασ δομισ ι αλλιϊσ, του νζου τφπου. Σαν παράδειγμα, δίνεται ο οριςμόσ τθσ δομισ ορκογϊνιο (rectangle): struct rectangle { int x1, y1; int x2, y2; int line_color; int fill_color; };

Διλωςθ Μεταβλθτϊν Η διλωςθ μεταβλθτϊν ακολουκεί το γενικό κανόνα δθλϊςεων τθσ C και γίνεται με πρόταςθ διλωςθσ τθσ μορφισ: struct <όνομα δομής > <όνομα μεταβλητής >; ι struct <όνομα δομής > <ονομάτα μεταβλητών >; Παράδειγμα: struct rectangle rect1, rect2; με τθν προχπόκεςθ ότι ζχει προθγθκεί ο οριςμόσ τθσ δομισ rectangle

Απόδοςθ Αρχικϊν Τιμϊν Μποροφμε να αποδϊςουμε αρχικζσ τιμζσ ςτισ μεταβλθτζσ τθ ςτιγμι τθσ διλωςισ τουσ. Παράδειγμα: struct rectangle rect1= {10,10,40,40,RED,GREEN}, rect2 = {5,5,50,50,RED,BLUE};

Αναφορά ςτα μζλθ τθσ δομισ Η αναφορά ςτα μζλθ δομισ γίνεται με κατάλλθλο ςυνδυαςμό του ονόματοσ τθσ μεταβλθτισ και του ονόματοσ του μζλουσ. Χρθςιμοποιείται ο τελεςτισ τελεία (.) για να ςχθματιςκεί θ ζκφραςθ τθσ παρακάτω μορφισ: <όνομα μεταβλητής>.<όνομα μζλους> Ζτςι, θ ζκφραςθ rect1.x1 αναφζρεται ςτο μζλοσ x1 τθσ μεταβλθτισ rect1, ενϊ θ rect2.line_color αναφζρεται ςτο μζλοσ line_color τθσ μεταβλθτισ rect2

Ζνκεςθ δομισ Μια δομι μπορεί να περιλαμβάνει μζλθ τα οποία είναι τφπου άλλθσ δομισ. Παράδειγμα: struct person { }; struct address addr; struct day birthday;

Πζραςμα δομισ ςε ςυνάρτθςθ Η C υποςτθρίηει τθν κατ αναφορά αλλά και τθν κατά τιμι μεταβίβαςθ των δομϊν ςτισ ςυναρτιςεισ. Ζτςι, είναι επιλογι του προγραμματιςτι, αν κα περάςει επιλεκτικά οριςμζνα μζλθ τθσ δομισ, κα περάςει όλθ τθ δομι ι κα περάςει μόνο ζνα δείκτθ ςε αυτι.

Πίνακεσ Δομϊν H διλωςθ πίνακα δομϊν ζχει ωσ κατωτζρω: struct address addr[10]; Η απόδοςθ αρχικισ τιμισ ςτθ δομι είναι ανάλογθ με το γενικό κανόνα αρχικοποίθςθσ πινάκων. Ζτςι, για τθν αρχικοποίθςθ των τριϊν πρϊτων ςτοιχείων του πίνακα addr ζχουμε τθν παρακάτω διλωςθ αρχικοποίθςθσ: struct address addr[10] = { { Kleanthis, Telou Agra, 10, 24662, Patras }, { Nikos, Marathona,12,12345, Athens }, { kostas, Korinthou,340, 24561, Aigio } }; Τα υπόλοιπα ςτοιχεία του πίνακα addr κα ζχουν μθδενικζσ τιμζσ.

Πίνακεσ Δομϊν Για τθν αναφορά ςτα μζλθ των ςτοιχείων του πίνακα, ακολουκείται θ προφανισ ςφνταξθ. H ζκφραςθ addr[0].name αναφζρεται ςτο όνομα τθσ πρϊτθσ διεφκυνςθσ του πίνακα, ενϊ θ addr[1].name αναφζρεται ςτο όνομα τθσ δεφτερθσ διεφκυνςθσ του πίνακα. Προςζξτε τθν ζκφραςθ addr[1].name[0] αναφζρεται ςτον πρϊτο χαρακτιρα τοφ ονόματοσ τοφ πρϊτου ςτοιχείου τοφ πίνακα addr.

Παραδείγματα Ειςαγωγι Εμφάνιςθ Αναφορά ςτα μζλθ μιασ δομισ Πζραςμα δομισ ςε ςυνάρτθςθ