Αρχική ΑΕΠΠ - Δομές Δεδομένων Λειτουργικά Συστήματα Δίκτυα Υπολογιστών ΙΙ Βάσεις Δεδομένων Παιδαγωγικά - Διδακτική

Βασικές Έννοιες

Μεταβλητή - Έκφραση Δομή Ακολουθίας Δομή Επιλογής Δομή Επανάληψης

Αναπαράσταση Αλγορίθμων

Διάγραμμα Ροής

Πίνακας Τιμών

Πίνακες

Μονοδιάστατοι Δισδιάστατοι Πολυδιάστατοι Αναζήτηση Ταξινόμηση Στοίβα Ουρά

Υποπρογράμματα

Συναρτήσεις Διαδικασίες Σχετικά με τις παράμετρους

Δυναμικές Δομές

Λίστες Δέντρα Γράφοι

 Ιστορικό Πρόσφατες αλλαγές Εκτύπωση Αναζήτηση

Ιστορικό: DataStructures.HomePage

Απόκρυψη μικρών αλλαγών - Αλλαγές κώδικα

09-02-2008 (20:43) από Aris -
Πρόσθεση σειρών 19-20:

Πριν, όμως, από αυτές θα πρέπει να αναπτύξουμε τις έννοιες Μεταβλητή και Έκφραση.

09-02-2008 (20:41) από Aris -
Πρόσθεση σειρών 75-76:

Με τη χρήση των συναρτήσεων και των διαδικασιών γίνεται πράξη ο τμηματικός προγραμματισμός.

09-02-2008 (20:38) από Aris -
Αλλαγή σειρών 36-37 από:

Φοιτητές

σε:

Εκτός ύλης για το μάθημα ΑΕΠΠ

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

Αλλαγή σειρών 49-53 από:

Θέματα που αφορούν αναζήτηση σε στοίβα, ουρά, λίστα, δέντρο και γράφο καλύπτονται στις αντίστοιχες ενότητες.

σε:
  • KMP (εκτός ύλης ΑΕΠΠ)
  • Boyer-Moore (εκτός ύλης ΑΕΠΠ)
Αλλαγή σειρών 61-68 από:

Λίστες

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

σε:
Πρόσθεση σειρών 73-82:

Υποπρογράμματα

Δυναμικές Δομές

Εκτός ύλης για το μάθημα ΑΕΠΠ

Λίστες

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

09-02-2008 (20:15) από Aris -
Διαγραφή σειράς 35:
09-02-2008 (20:14) από Aris -
Αλλαγή σειρών 35-36 από:

σε:

Πολυδιάστατοι

Φοιτητές

09-02-2008 (20:09) από Aris -
Αλλαγή σειρών 19-32 από:

Αναπαράσταση Αλγορίθμων

Οι αλγόριθμοι, εκτός από το πρόγραμμα με το οποίο επιλύονται, μπορούν να παρουσιαστούν και με άλλες μορφές. Οι κυριότερες είναι τα διαγράμματα ροής και η ψευδογλώσσα. Σ' αυτή την ενότητα παρουσιάζονται τα διαγράμματα ροής.

Επίσης, ένα πολύ χρήσιμο εργαλείο για την εκτέλεση ενός αλγόριθμου χωρίς τη χρήση υπολογιστή είναι ο πίνακας τιμών. Με τον πίνακα μπορούμε να παρακολουθήσουμε βήμα - βήμα την εξέλιξη. Σ' αυτή την ενότητα δείχνουμε πως μπορούμε να φτιάξουμε τον πίνακα.

Ανάλυση Αλγορίθμων

Για να συγκρίνουμε διαφορετικούς αλγόριθμους που λύνουν το ίδιο πρόβλημα απαιτείται να προσδιορίσουμε την ποσότητα των υπολογιστικών πόρων που απαιτούνται για την εκτέλεση του αλγόριθμου (π.χ. υπολογιστικός χρόνος, θέσεις μνήμης, αριθμός επεξεργαστών, επικοινωνία μέσω δικτύου κλπ). Η διαδικασία της μαθηματικής εκτίμησης των υπολογιστικών πόρων που απαιτεί η εκτέλεση ενός αλγορίθμου ονομάζεται ανάλυση του αλγόριθμου.

Πίνακες

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

σε:

Αναπαράσταση Αλγορίθμων

Οι αλγόριθμοι, εκτός από το πρόγραμμα με το οποίο επιλύονται, μπορούν να παρουσιαστούν και με άλλες μορφές. Οι κυριότερες είναι τα διαγράμματα ροής και η ψευδογλώσσα. Η ψευδογλώσσα και η ΓΛΩΣΣΑ, όπως παρουσιάζονται στο βιβλίο ΑΕΠΠ, έχουν πάρα πολλές ομοιότητες.

Σ' αυτή την ενότητα επιλέγεται να παρουσιασοτύν τα διαγράμματα ροής και ο πίνακας τιμών. Οι δύο αυτές δομές είναι ιδιαίτερα χρήσιμες. Ο πίνακας τιμών είναι το μόνο εργαλείο που έχουμε για την εκτέλεση ενός αλγόριθμου χωρίς τη χρήση υπολογιστή. Με τον πίνακα μπορούμε να παρακολουθήσουμε βήμα - βήμα την εξέλιξη.

Πίνακες

Μονοδιάστατοι

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

Δισδιάστατοι

Όπως και στους μονοδιάστατους πίνακες, έτσι και εδώ συναντάμε πολλές βασικές λειτουργίες οι οποίες και αναπτύσσονται. Οι πιο συνηθησμένες είναι: άθροισμα γραμμής ή στήλης, εύρεση ελαγίστου - μεγίστου γραμμής ή στήλης κ.α.

09-02-2008 (19:55) από Aris -
Πρόσθεση σειρών 1-4:

Το μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον διδάσκεται στην Γ' Γενικού Λυκείου και αποτελεί εξεταζόμενο πανελλαδικά μάθημα για την Τεχνολογική Κατεύθυνση.

Είναι ένα μάθημα εισαγωγικό στις έννοιες των αλγορίθμων και των δομών δεδομένων. Το μάθημα αυτό έχει βοηθήσει πάρα πολλά παιδιά που έχουν περάσει σε σχολές πληροφορικής να αντιμετωπίσουν με μεγαλύτερη ευκολία ένα μάθημα το οποίο ονομάζεται Αλγόριθμοι και Δομές Δεδομένων (ή σκέτο Δομές Δεδομένων ή όπως αλλιώς το ονομάζει η σχολή).

Διαγραφή σειρών 8-9:

Επίσης, αρκετά από αυτά τα θέματα καλύπτονται και στο μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον που διδάσκονται οι μαθητές της Γ' Γενικού Λυκείου.

Αλλαγή σειρών 11-12 από:

Βασικές Έννοιες Αλγορίθμων

σε:

Βασικές Έννοιες Αλγορίθμων

09-02-2008 (18:39) από 127.0.0.1 -
Διαγραφή σειράς 0:
30-01-2008 (20:28) από Aris -
Διαγραφή σειράς 1:
30-01-2008 (20:28) από Aris -
Πρόσθεση σειρών 19-24:

Αναπαράσταση Αλγορίθμων

Οι αλγόριθμοι, εκτός από το πρόγραμμα με το οποίο επιλύονται, μπορούν να παρουσιαστούν και με άλλες μορφές. Οι κυριότερες είναι τα διαγράμματα ροής και η ψευδογλώσσα. Σ' αυτή την ενότητα παρουσιάζονται τα διαγράμματα ροής.

Επίσης, ένα πολύ χρήσιμο εργαλείο για την εκτέλεση ενός αλγόριθμου χωρίς τη χρήση υπολογιστή είναι ο πίνακας τιμών. Με τον πίνακα μπορούμε να παρακολουθήσουμε βήμα - βήμα την εξέλιξη. Σ' αυτή την ενότητα δείχνουμε πως μπορούμε να φτιάξουμε τον πίνακα.

30-01-2008 (16:59) από Aris -
Αλλαγή σειρών 9-10 από:

Οι ενότητες που θα καλύψουμε αφορούν:

σε:

Λόγο του ότι οι παρούσες σημειώσεις απευθύνονται τόσο σε μαθητές όσο και σε φοιτητές, οι περισσότεροι αλγόριθμοι δίνονται σε μορφή αλγορίθμου ή προγράμματος σύμφωνα με την υποθετική γλώσσα προγραμματισμού ΓΛΩΣΣΑ όπως περιγράφεται στο βιβλίο της Γ' Λυκείου. Αυτό διευκολύνει την παρακολούθηση των αλγορίθμων από τους μαθητές. Αν λάβουμε υπ' όψιν ότι πλέον πολλοί φοιτητές έχουν δώσει το συγκεκριμένο μάθημα, έχουν την απαραίτητη εξοικείωση με αυτήν. Σε κάποια προχωρημένα θέματα όμως, όπως οι λίστες, τα δέντρα και οι γράφοι όπου το συντακτικό της ΓΛΩΣΣΑΣ δεν καλύπτει τα συγκεκριμένα θέματα, γίνεται χρήση της γλώσσας C. Αυτό δεν θα αποτελέσει πρόβλημα γιατί αυτά τα θέματα είναι εκτός ύλης ΑΕΠΠ και για τους φοιτητές που απευθύνονται έχουν κάνει το πιθανότερο το μάθημα της C.

30-01-2008 (14:57) από Aris - Περίληψη των θεμάτων του μαθήματος
Πρόσθεση σειρών 59-60:

Η στοίβα είναι μία δομή στην οποία τα στοιχεία βρίσκονται σε γραμμική διάταξη. Στην στοίβα μπορούμε να εισάγουμε στοιχεία ή να εξάγουμε, αν υπάρχουν. Η ιδιαιτερότητα σε σχέση με τις δομές του πίνακα και της λίστας είναι ότι στη στοίβα αναφερόμαστε σε ένα μόνο στοιχείο της κάθε φορά, στην κεφαλή. Η στοίβα υλοποιεί την μέθοδο που καλείται LIFO (Last In First Out).

Πρόσθεση σειρών 63-64:

Η ουρά είναι μία δομή στην οποία μπορούμε κάθε φορά να αναφερόμαστε στην αρχή και στο τέλος της. Νέα στοιχεία μπορούν να εισαχθούν στο τέλος και τα στοιχεία που εξάγονται βρίσκονται στην αρχή. Η μέθοδος που υλοποιεί καλείται FIFO (First In First Out).

Αλλαγή σειρών 67-71 από:

Γράφοι

σε:

Τα δέντρα ανήκουν στις μη γραμμικές δομές. Έχουν πολλές εφαρμογές στους υπολογιστές. Για παράδειγμα, η δομή των φακέλων και των αρχείων του λειτουργικού συστήματος είναι δενδρική. Σ' αυτή την ενότητα αναπτύσσουμε τις βασικές λειτουργίες που εκτελούνται σε μία σε δενδρικές δομές.

Γράφοι

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

30-01-2008 (13:24) από Aris -
Αλλαγή σειρών 2-63 από:

Αρχική στις ΔΔ

σε:

Το μάθημα αυτό το συναντάμε στις περισσότερες σχολές πληροφορικής σε ΑΕΙ και ΑΤΕΙ. Το πιο γνωστό βιβλίο, το οποίο θεωρείτε σαν "ευαγγέλιο", είναι το “Αλγόριθμοι και Δομές Δεδομένων” του Niklaus Wirth, δημιουργού των Pascal, Modula-2 και Modula-3.

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

Επίσης, αρκετά από αυτά τα θέματα καλύπτονται και στο μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον που διδάσκονται οι μαθητές της Γ' Γενικού Λυκείου.

Οι ενότητες που θα καλύψουμε αφορούν:

Βασικές Έννοιες Αλγορίθμων

Στο δομημένο προγραμματισμό χρησιμοποιούνται τρεις (3) βασικές δομές με τις οποίες γράφουμε κάθε τύπο προγράμματος. Στις βασικές έννοιες αναπτύσσουμε αυτές τις δομές:

Ανάλυση Αλγορίθμων

Για να συγκρίνουμε διαφορετικούς αλγόριθμους που λύνουν το ίδιο πρόβλημα απαιτείται να προσδιορίσουμε την ποσότητα των υπολογιστικών πόρων που απαιτούνται για την εκτέλεση του αλγόριθμου (π.χ. υπολογιστικός χρόνος, θέσεις μνήμης, αριθμός επεξεργαστών, επικοινωνία μέσω δικτύου κλπ). Η διαδικασία της μαθηματικής εκτίμησης των υπολογιστικών πόρων που απαιτεί η εκτέλεση ενός αλγορίθμου ονομάζεται ανάλυση του αλγόριθμου.

Πίνακες

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

Αναζήτηση

Η αναζήτηση είναι μία πολύ συνηθισμένη διαδικασία η οποία γίνεται κυρίως σε πίνακες και αλφαριθμητικά. Σε αρκετές γλώσσες προγραμματισμού τα αλφαριθμητικά αποθηκεύονται σε πίνακες. Αυτό διευκολύνει πολύ στο ότι με τους ίδιους αλγόριθμους μπορούμε να αναζητήσουμε οποιοδήποτε τύπο πληροφορίες.

Συγκεκριμένα θα ασχοληθούμε με τα παρακάτω είδη αναζήτησης:

Θέματα που αφορούν αναζήτηση σε στοίβα, ουρά, λίστα, δέντρο και γράφο καλύπτονται στις αντίστοιχες ενότητες.

Ταξινόμηση

Η ταξινόμηση πινάκων είναι ένα θέμα το οποίο προσφέρει να ευκαιρία να θιγούν σημαντικοί παράγοντες που αφορούν την ανάπτυξη των αλγορίθμων. Συγκεκριμένα δείχνει ότι για την επίλυση του ίδιου προβλήματος υπάρχουν πολλές διαφορετικές προσεγγίσεις. Επίσης, προσφέρεται ένα πολύ καλό πεδίο εφαρμογή της ανάλυσης αλγορίθμων μιας και συναντάμε αλγόριθμους από όλες τις κατηγορίες.

Οι αλγόριθμοι με τους οποίους θα ασχοληθούμε είναι:

Λίστες

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

Στοίβα

Ουρά

Δέντρα

Γράφοι

30-01-2008 (12:30) από Aris -
Πρόσθεση σειράς 1:
29-01-2008 (18:56) από 127.0.0.1 -
Αλλαγή σειράς 1 από:
σε:

Αρχική στις ΔΔ

29-01-2008 (18:56) από 127.0.0.1 -
Πρόσθεση σειράς 1:

Τελευταία ενημέρωση: 09-02-2008 (20:43)

Copyright 2008 - Άρης Φεργάδης