-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Advertisements

Βασικές έννοιες αλγορίθμων
Συνδυαστικα κυκλωματα με MSI και LSI
3.4 Στοίβα (stack) (μόνο θεωρία)
Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση.
Επιμορφωτής: Ονομ/νυμο Επιμορφωτή
Επιμορφωτής: Ονομ/νυμο Επιμορφωτή
Εισαγωγικές έννοιες πληροφορικής
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Δευτερεύουσες Μονάδες Α π οθήκευσης Δεδομένων Διάλεξη.
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (2).
Προγραμματισμός Η/Υ Πανεπιστήμιο Αιγαίου
Το υλικό του Υπολογιστή
Σημειώσεις : Χρήστος Μουρατίδης
ΟΙ ΠΛΗΡΟΦΟΡΙΕΣ ΣΤΟ ΕΣΩΤΕΡΙΚΟ ΤΟΥ Η/Υ
Πίνακες-Αλφαριθμητικά
Εισαγωγή στους Η/Υ Πίνακες.
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
ΜΑΘ3122/106 Γλώσσα Προγραμματισμού
Προγραμματισμός Ι Πίνακες •Ο πίνακας είναι μία συλλογή μεταβλητών ίδιου τύπου, οι οποίες είναι αποθηκευμένες σε διαδοχικές θέσεις μνήμης. Χρησιμοποιείται.
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Εκτέλεση Αλγορίθμων σε ψευδογλώσσα
TEMPLATES STANDARD TEMPLATE LIBRARY ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ C Evangelos Theodoridis.
Στοίβα & Ουρά Πέμπτη 08/03/2007 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Τμήμα: Γ3τεχν. Καθηγητής :Ν. Γιαννακόπουλος ΠΕ19 Ερωτήσεις:
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
Ολυμπιάδα Πληροφορικής
ΓΝΩΡΙΖΩ ΤΟΝ ΗΛΕΚΤΡΟΝΙΚΟ ΥΠΟΛΟΓΙΣΤΗ
Εισαγωγή στις Βασικές Έννοιες Πληροφορικής
Ολυμπιάδα Πληροφορικής
Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Stacks - Στοίβες.
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση
Α’ Γυμνασίου Βιβλίο «Σημειώσεις» σελίδες Α2
Ο ΗΛΕΚΤΡΟΝΙΚΟΣ ΥΠΟΛΟΓΙΣΤΗΣ
Δημιουργία Παρουσίασης
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Ε. ΠετράκηςΣτοίβες, Ουρές1 Στοίβες  Στοίβα: περιορισμένη ποικιλία λίστας  τα στοιχεία μπορούν να εισαχθούν ή να διαγραφούν μόνο από μια άκρη : λίστες.
Στοίβα, Ουρά.
Αλγόριθμοι συνέχεια 2.2.4, 2.2.5,
Ουρά Προτεραιότητας: Heap
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
Δομές Δεδομένων.
Δείκτες (Pointers) – Δομές (Structs)
Ενότητα Α.4. Δομημένος Προγραμματισμός
ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-1 Πίνακας Συμβόλων Πίνακας συμβόλων: δομή δεδομένων που χρησιμοποιείται για την αποθήκευση διαφόρων πληροφοριών.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Εισαγωγή στις Νέες Τεχνολογίες και Εργαστηριακές Εφαρμογές, Το εσωτερικό ενός υ π ολογιστή Κεφάλαιο 3.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Κεφάλαιο 10 – Υποπρογράμματα
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ (εΓΓΡΑΦΕΣ)
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Κεφάλαιο 3ο Δομές Δεδομένων.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Δομές δεδομένων και Αλγόριθμοι Κεφάλαιο 3. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δεδομένα Δεδομένα (data) Δεδομένα (data) –αφαιρετική αναπαράσταση.
Οι Δομές Δεδομένων Ουρά και Στοίβα
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
ΣΤΟΙΒΑ.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Οι Δομές Δεδομένων Ουρά και Στοίβα
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Βασικές έννοιες (Μάθημα 2) Τίτλος: Η Συσκευή
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
ΠΙΝΑΚΕΣ Οι δομές δεδομένων «Στοίβα» & «Ουρά»
ΠΙΝΑΚΕΣ Δομή ΟΥΡΑΣ (queue)
Μεταγράφημα παρουσίασης:

-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα

18. Pws ulopoieitai Στοίβα (Stack) Η στοίβα υλοποιεί τη λογική LIFO (Last In First Out). Τα δεδομένα εισάγονται στην κορυφή της στοίβας ενώ η αφαίρεση ενός στοιχείου γίνεται πάντα από την κορυφή της στοίβας. Η στατική στοίβα υλοποιείται με μονοδιάστατο πίνακα και χρησιμοποιεί ένα δείκτη Top που δείχνει στην κορυφή της στοίβας.

Στοίβα (Stack) Οι λειτουργίες είναι δύο : Η εισαγωγή-ώθηση (Push) ενός στοιχείου στην κορυφή της στοίβας. Η αφαίρεση-απώθηση (Pop) ενός στοιχείου από την κορυφή της στοίβας.

Στοίβα (Stack) Κατά την εισαγωγή ενός στοιχείου (ώθηση), πρέπει να γίνεται έλεγχος μήπως η στοίβα είναι γεμάτη (δηλαδή δεν υπάρχει άλλη ελεύθερη θέση στον πίνακα). Δηλαδή, ελέγχει μήπως συμβεί υπερχείλιση (overflow). Αντίστοιχα, κατά την αφαίρεση ενός στοιχείου (απώθηση), πρέπει να γίνεται έλεγχος μήπως η στοίβα είναι άδεια. Δηλαδή, ελέγχει μήπως συμβεί υποχείλιση (underflow).

19. Pws ulopoieitai Ουρά (Queue) Η ουρά υλοποιεί τη λογική FIFO (First In First Out). Τα δεδομένα εισάγονται στο πίσω μέρος της ουράς ενώ η εξαγωγή ενός στοιχείου γίνεται πάντα από το μπροστινό μέρος της ουράς. Η στατική ουρά υλοποιείται με μονοδιάστατο πίνακα και χρησιμοποιεί δύο δείκτες : Τον Front που δείχνει στο μπροστινό μέρος της ουράς και τον Rear που δείχνει στο πίσω μέρος της ουράς

Ουρά (Queue) Οι λειτουργίες είναι δύο : Η εισαγωγή ενός στοιχείου στο πίσω μέρος της ουράς. Η εξαγωγή ενός στοιχείου από το μπροστινό μέρος της ουράς..

20.Πλεονεκτήματα / Μειονεκτήματα των πινάκων Πλεονεκτήματα : Είναι ένας βολικός κι εύκολος τρόπος διαχείρισης δεδομένων του ιδίου τύπου Μειονεκτήματα : Απαιτούν μνήμη. Ο πίνακας δεσμεύει από την αρχή του προγράμματος αρκετές θέσεις μνήμης. Έτσι, αν χρησιμοποιούμε πολλούς πίνακες σε ένα πρόγραμμα το επιβαρύνουμε όσον αφορά τη μνήμη. Περιορίζουμε τις δυνατότητες του προγράμματος. Επειδή ο πίνακας είναι στατική δομή, δεν μπορεί να αλλάξει το μέγεθός του κατά την εκτέλεση του προγράμματος.

21.Δομές δεδομένων δευτερεύουσας μνήμης kai paradeigmata Επειδή η RAM δεν επαρκεί για την αποθήκευση των δεδομένων καθώς και το ότι δεν αποθηκεύει μόνιμα, χρησιμοποιούμε τους μαγνητικούς δίσκους (ταινίες, σκληροί δίσκοι κ.α.) και οπτικούς δίσκους (CD-ROM, DVD-ROM κ.α.). Αυτά αποτελούν την περιφερειακή ή δευτερεύουσα μνήμη. Για την αποθήκευση δεδομένων σε αυτή κάνουμε χρήση ειδικών δομών που λέγονται αρχεία (files).

Δομές δεδομένων δευτερεύουσας μνήμης Κάθε αρχείο περιέχει μία συλλογή εγγραφών (π.χ. ένα αρχείο με εγγραφές μαθητών). Μία εγγραφή (Record) αποτελεί τη συλλογή στοιχειωδών πληροφοριών σχετικά με ένα αντικείμενο (π.χ. μαθητής, ένα βιβλίο κλπ). Μία στοιχειώδης πληροφορία συνιστά ένα πεδίο (field). Π.χ. μία εγγραφή μαθητή περιέχει στοιχειώδεις πληροφορίες (πεδία) όπως : Επώνυμο, Όνομα, Πατρώνυμο, Έτος γέννησης, Τάξη κλπ.

Δομές δεδομένων δευτερεύουσας μνήμης

Σπουδαιότητα των δεδομένων στην Πληροφορική 22.Η Πληροφορική μελετά τα δεδομένα από τις ακόλουθες σκοπιές : Υλικού : Μελετάμε τον τρόπο αναπαράστασης και αποθήκευσης των δεδομένων στο εσωτερικό του Η/Υ (RAM, δίσκοι). Έχουν αναπτυχθεί διάφορα συστήματα κωδικοποίησης μεταξύ των οποίων το ASCII (κάθε χαρακτήρας παριστάνεται με 8 bit). Γλωσσών προγραμματισμού: Οι διάφορες γλώσσες προγραμματισμού μας επιτρέπουν να χρησιμοποιήσουμε τύπους μεταβλητών για να περιγράψουμε ένα δεδομένο (ακέραιος, πραγματικός, αλφαριθμητικό κλπ). Επιπλέον, φροντίζουν για την αποδοτικότερη μορφή αποθήκευσης κάθε μεταβλητής (π.χ. άλλες γλώσσες για τον ακέραιο τύπο δεσμεύουν 16 bit , άλλες 32 bit κλπ).

Σπουδαιότητα των δεδομένων στην Πληροφορική Δομών δεδομένων : Για αποθήκευση πιο σύνθετων δεδομένων (π.χ. τα στοιχεία ενός μαθητή ως ενιαίο σύνολο - εγγραφή) μελετάμε τρόπους αποδοτικής οργάνωσης και χειρισμού τους στο εσωτερικό του υπολογιστή. Ανάλυσης Δεδομένων : Μελετάμε τρόπους αλληλοσυσχέτισης των δεδομένων ώστε να παράγουμε χρήσιμες πληροφορίες που υποβοηθούν στη λήψη αποφάσεων ή παραγωγή νέας γνώσης. Π.χ. μία εταιρεία θέλει να μάθει ποιά είναι τα δέκα πρώτα προϊόντα με τις υψηλότερες πωλήσεις (top ten). Τεχνολογίες Βάσεων Δεδομένων, Μοντελοποίησης δεδομένων, Βάσεων Γνώσης αναπτύσσονται και χρησιμοποιούνται για το σκοπό αυτό.

Παράδειγμα 1 Έχουμε ένα πίνακα Α=[10,11,13,15,18] και ένα πίνακα Β=[2,24,25,2,1]. Να δημιουργήσετε με την χρήση ψευδοκώδικα τον πίνακα Γ, για τον οποίο ισχύει Γ[i]=Β[i]+Α[i]. Αν το άθροισμα των στοιχείων του πίνακα Γ είναι μεγαλύτερο από 100 να εμφανίζεται ένα μήνυμα «ΕRROR». Να εμφανιστεί η θέση/εις στην οποία βρίσκεται ο αριθμός 2 στον πίνακα Β

Παράδειγμα 2 Έχουμε τον πίνακα Α=[12,23,32,2,22,34,55,33,12,22] Να εμφανίσετε με χρήση ψευδοκώδικα το μέσο όρο των στοιχείων και αν αυτός είναι μεγαλύτερος από τον αριθμό 20 να εμφανίζεται μήνυμα. Να δημιουργήσετε ένα πίνακα Γ που τα στοιχεία του θα συσχετίζονται με τον πίνακα Α ως εξής: Γ[i]=(Α[i]+A[i]^2)/2+MO(A).

Παράδειγμα 3 -Πίνακας ASCII A6 A5 A4 A3 A2 A1 A0 Ο κώδικας διαβάζεται ως A6 A5 A4 A3 A2 A1 A0 Π.χ. το ‘Α’ = 1000001 και αποθηκεύεται ως 01000001

Παράδειγμα 3 -Πίνακας ASCII Θα δίνει ο χρήστης από το πληκτρολόγιο ένα χαρακτήρα. Θα ελέγχετε αν είναι ένας από τους χαρακτήρες Α-Ζ και a-z. Αν δεν είναι ένας από αυτούς θα βγαίνει μήνυμα για λάθος πληκτρολόγηση. Διαφορετικά θα δημιουργεί το Byte που αντιστοιχεί στον κώδικα ASCII και θα το αποθηκεύει σε έναν πίνακα A[1x8]. Τέλος θα βρίσκει το πλήθος των άσσων που υπάρχουν σε αυτό το byte