39
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Κεφάλαιο 3ο 3.1 Δεδομένα 3.2 Αλγόριθμο + Δομές δεδομένων = Προγράμματα Το έργο με τίτλο Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα . Βασισμένο σε έργο στο http://ioarvanit.mysch.gr. Παροχή δικαιωμάτων πέρα από τα πλαίσια αυτής της άδειας μπορεί να είναι διαθέσιμη στο http://ioarvanit.mysch.gr.

ΑΕΠΠ - Μάθημα 19

Embed Size (px)

Citation preview

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Κεφάλαιο 3ο3.1 Δεδομένα

3.2 Αλγόριθμο + Δομές δεδομένων = Προγράμματα

Το έργο με τίτλο Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Βασισμένο σε έργο στο http://ioarvanit.mysch.gr.Παροχή δικαιωμάτων πέρα από τα πλαίσια αυτής της άδειας μπορεί να είναι διαθέσιμη στο http://ioarvanit.mysch.gr.

Αυτός είναι ο Παυσανίας

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δεδομένα που αφορούν το σχολείο του:

Αυτός είναι ο Παυσανίας

● Επώνυμο: Μάντισον● Όνομα: Παυσανίας● Όνομα πατρός: Τραϊανός● Όνομα μητρός: Άναμπελ● Βαθμός: 16,7● Απουσίες: 23● Διαγωγή: Κοσμιοτάτη

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δεδομένα που αφορούν την ομάδα μπάσκετ:

Αυτός είναι ο Παυσανίας

● Επώνυμο: Μάντισον● Όνομα: Παυσανίας● Ύψος: 1,91● Βάρος: 80 κιλά● Θέση: Γκαρντ● Μ.Ο. Πόντων: 12● Μ.Ο. Ασίστ: 7

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δεδομένα που αφορούν το προφίλ του στο Facebook:

Αυτός είναι ο Παυσανίας

● Όνομα προφίλ: Madison-Paf● Ενδιαφέρεται για:Φιλία● Τόπος Καταγωγής: Φλώρινα● Ασχολίες και ενδιαφέροντα:

● Metallica● Clash● Offspring

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δεδομένα που αφορούν την κοπέλα του:

Αυτός είναι ο Παυσανίας

● Εμφάνιση: Κούκλος● Προσόντα χαρακτήρα:

● Πιστός● Συμπονετικός● Ρομαντικός

● Αρνητικά χαρακτήρα:● Πολύ σοβαρός

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δεδομένα που αφορούν την πρώην κοπέλα του:

Αυτός είναι ο Παυσανίας

● Εμφάνιση: Έτσι και έτσι● Προσόντα χαρακτήρα:

● Τίποτα

● Αρνητικά χαρακτήρα:● Ένας βλάκας και μισός

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Συμπέρασμα;

Τα δεδομένα είναι η αφαιρετική αναπαράσταση της πραγματικότητας.

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Συμπέρασμα;

Τα δεδομένα είναι η αφαιρετική αναπαράσταση της πραγματικότητας.

Περιγράφουν κάποιες όψεις της.

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Η πληροφορικής μελετάει τα δεδομένα από τις εξής σκοπιές

● Υλικού

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Η πληροφορικής μελετάει τα δεδομένα από τις εξής σκοπιές

● Υλικού

● Γλωσσών προγραμματισμού

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Η πληροφορικής μελετάει τα δεδομένα από τις εξής σκοπιές

● Υλικού

● Γλωσσών προγραμματισμού

● Δομών δεδομένων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Η πληροφορικής μελετάει τα δεδομένα από τις εξής σκοπιές

● Υλικού

● Γλωσσών προγραμματισμού

● Δομών δεδομένων

● Ανάλυσης δεδομένωνΣημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την

άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δομή δεδομένων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δομή δεδομένων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δομή δεδομένων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δομή δεδομένων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δομή δεδομένων

Σύνολο αποθηκευμένων δεδομένων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δομή δεδομένων

Σύνολο αποθηκευμένων δεδομένων τα οποία γίνονται αντικείμενα επεξεργασίας από διάφορες λειτουργίες

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Πράξεις δομών δεδομένων

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Πράξεις δομών δεδομένων

5

2 12

6 1 4

Προσπέλαση:πρόσβαση σε ένα κόμβο με σκοπό να εξετασθεί ή να τροποποιηθεί το περιεχόμενό του

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Πράξεις δομών δεδομένων

5

2 12

6 1 4

Εισαγωγή:προσθήκη νέων κόμβων σε μία υπάρχουσα δομή

3

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Πράξεις δομών δεδομένων

5

2 12

6 1 4

Διαγραφή:αποτελεί το αντίστροφο της εισαγωγής, δηλαδή ένας κόμβος αφαιρείται από μία δομή

3

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Πράξεις δομών δεδομένων

5

2 12

6 4

Αναζήτηση:προσπελαύνονται οι κόμβοι μιας δομής, προκειμένου να εντοπιστούν ένας ή περισσότεροι που έχουν μια δεδομένη ιδιότητα

3

Βρες κόμβους =6

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Πράξεις δομών δεδομένων

5

2 12

6 4

Αντιγραφή:όλοι οι κόμβοι ή μερικοί από τους κόμβους μίας δομής αντιγράφονται σε μία άλλη δομή

3

3

2 7

3

2 7

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Πράξεις δομών δεδομένων

5

2

12

6

4

Ταξινόμηση:οι κόμβοι μιας δομής διατάσσονται κατάαύξουσα ή φθίνουσα σειρά

3

3

2

7

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Πράξεις δομών δεδομένων

5

2

12

6

4

Συγχώνευση:δύο ή περισσότερες δομές συνενώνονται σε μία ενιαία δομή

3

3

2

7

9

11

17

2

12

9

3

2

3

1

11

6

5 4

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Πράξεις δομών δεδομένων

Διαχωρισμός:αποτελεί την αντίστροφη πράξη τηςσυγχώνευσης

7

2

12

9

3

2

3

1

11

6

5 4

7

2

12

9

3

2

3

1

11

6

5

4

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Αλγόριθμοι + Δομές Δεδομένων = Προγράμματα

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

1 Αβραμίδης

2 Αγγελίδης

3 Βερνίκος

4 Δεληναούμ

5 Ζαχαρίου

...... .............

997 Παππάς

998 Στυλιανού

999 Χρυσικός

1000 Ψάρας

Ο Τ

1 2385022333

2 2385021221

3 2385022231

4 2385029883

5 2385024464

...... .............

997 2385022223

998 2385029788

999 2385025655

1000 2385024896

1 Α 1

2 Β 3

3 Γ

4 Δ 4

5 Ε

...... ....

997 Φ

998 Χ 999

999 Ψ 1000

1000 Ω

Ω

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Η μνήμη

Κατειλημμένη θέση

Άδεια θέση

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Στατικές δομέςΘέλω μια δομή για να αποθηκεύσω 10 αριθμούς

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Στατικές δομέςΘέλω μια δομή για να αποθηκεύσω 10 αριθμούς

Μια στατική δομή χρειάζεται να δεσμεύσει από την αρχή 10 θέσεις μνήμης συνεχόμενες.

Η δέσμευση γίνεται κατά την φάση του προγραμματισμού

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δυναμικές δομέςΘέλω μια δομή για να αποθηκεύω αριθμούς. Όσους χρειαστεί.

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δυναμικές δομέςΘέλω μια δομή για να αποθηκεύω αριθμούς. Όσους χρειαστεί.

Στην περίπτωση αυτή δεν δεσμεύω καμία θέση μνήμης από την αρχή.

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δυναμικές δομέςΘέλω μια δομή για να αποθηκεύω αριθμούς. Όσους χρειαστεί.

Στην περίπτωση αυτή δεν δεσμεύω καμία θέση μνήμης από την αρχή.

Μόλις χρειαστώ μία κατά την εκτέλεση του προγράμματος, η μνήμη μου δίνει την πρώτη ελεύθερη που την βολεύει

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δυναμικές δομέςΘέλω μια δομή για να αποθηκεύω αριθμούς. Όσους χρειαστεί.

Αν χρειαστώ και επόμενη, μου παραχωρεί και άλλη.

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δυναμικές δομέςΘέλω μια δομή για να αποθηκεύω αριθμούς. Όσους χρειαστεί.

Αν χρειαστώ και επόμενη, μου παραχωρεί και άλλη.

Αν δεν υπάρχει γειτονική θέση ελεύθερη μου δίνει μία άλλη που να την βολεύει

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .

Δυναμικές δομέςΘέλω μια δομή για να αποθηκεύω αριθμούς. Όσους χρειαστεί.

Αν χρειαστώ και επόμενη, μου παραχωρεί και άλλη.

Αν δεν υπάρχει γειτονική θέση ελεύθερη μου δίνει μία άλλη που να την βολεύει

Δυναμική παραχώρηση μνήμης

Σημειώσεις για το μάθημα ΑΕΠΠ της Γ Λυκείου από τον δημιουργό Αρβανιτάκη Γιάννη διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα .