Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Μονοδιάστατοι πίνακες => Γ΄ Λυκείου => Αναζήτηση => Μήνυμα ξεκίνησε από: tkon στις 04 Μαρ 2008, 01:23:12 ΜΜ

Τίτλος: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: tkon στις 04 Μαρ 2008, 01:23:12 ΜΜ
ΘΑ ΗΘΕΛΑ ΝΑ ΔΩΣΕΙ ΚΑΠΟΙΟΣ ΜΙΑ ΣΩΣΤΗ ΑΠΑΝΤΗΣΗ ΣΤΙΣ ΠΑΡΑΚΑΤΩ ΕΡΩΤΗΣΕΙΣ:
1) Η ΣΤΟΙΒΑ ΚΑΙ Η ΟΥΡΑ ΤΕΛΙΚΑ ΕΙΝΑΙ ΣΤΑΤΙΚΗ Ή ΔΥΝΑΜΙΚΗ ΔΟΜΗ ΔΕΔΟΜΕΝΩΝ;
2) Η ΣΥΝΤΑΞΗ ΤΟΥ ΠΑΡΑΚΑΤΩ ΤΜΗΜΑΤΟΣ ΣΤΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΕΙΝΑΙ ΣΩΣΤΗ;
ΠΡΟΓΡΑΜΜΑ Α1
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ:Χ,Π[20]
   ΠΡΑΓΜΑΤΙΚΕΣ:
   ΛΟΓΙΚΕΣ:ΒΡΕΘΗΚΕ
   ΧΑΡΑΚΤΗΡΕΣ:Χ[20]

ΑΝ ΔΗΛΑΔΗ ΔΕΝ ΕΧΩ  ΠΡΑΓΜΑΤΙΚΕΣ ΜΕΤΑΒΛΗΤΕΣ, ΑΛΛΑ ΤΙΣ ΔΗΛΩΣΩ ΣΤΟ ΠΡΟΓΡΑΜΜΑ ΟΠΩΣ ΠΑΡΑΠΑΝΩ ΕΙΝΑΙ ΣΩΣΤΟ;

3) ΥΠΑΡΧΕΙ ΠΕΡΙΠΤΩΣΗ ΝΑ ΠΕΣΕΙ ΣΕ ΑΣΚΗΣΗ ΣΕΙΡΙΑΚΗ ΣΕ ΤΑΞΙΜΟΜΗΜΕΝΟ ΠΙΝΑΚΑ;
ΠΕΡΙΜΕΝΩ ΑΠΑΝΤΗΣΗ
ΕΥΧΑΡΙΣΤΩ
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: P.Tsiotakis στις 04 Μαρ 2008, 02:41:26 ΜΜ
1. Η στοίβα και η ουρά, όπως υλοποιούνται στο διδακτικό μας πακέτο είναι ΣΤΑΤΙΚΕΣ δομές δεδομένων. Αλλιώς τι νόημα έχει η υπερχείλιση;  ::)

2. Δεν μπορεί να υπάρχει πίνακας και μεταβλητή με το ίδιο όνομα (αυτό δεν εννοούσες;). Το να υπάρχει η δήλωση ΠΡΑΓΜΑΤΙΚΕΣ και καμία μεταβλητή να ακολουθεί, δεν θα το χαρακτήριζα λάθος, αλλά μάλλον δεν θα υπάρχει σε γραπτό μαθητή. (Τυπογραφικό)

3. ΜΑΚΑΡΙ. Το τέλειο ερώτημα κρίσεως: περιγράφεται στο βιβλίο αλλά δεν παρουσιάζεται ο αλγόριθμος. Όχι σε άσκηση (που μπορείς να γράψει την κλασική σειριακή, αλλά σαν θεωρία)
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: alkisg στις 04 Μαρ 2008, 03:36:22 ΜΜ
Το (2) εγώ θα το χαρακτήριζα συντακτικό λάθος. Σε ΓΛΩΣΣΑ είμαστε, υπάρχουν αυστηροί κανόνες.
Τώρα αν δεν αναφέρεται ρητώς στο βιβλίο... ε, τι να κάνουμε, δεν είναι το μόνο.
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: andreas_p στις 05 Μαρ 2008, 08:26:02 ΠΜ
Καλημέρα σας.

1)   Στατικές

2)  Λάθος

3)  Το περιμένουμε ... χρόνια τώρα  (θέμα  θεϊκό)


Ανδρέας
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: bagelis στις 06 Μαρ 2008, 11:03:07 ΠΜ
1) Διφορούμενο, ΔΕΝ ΠΡΕΠΕΙ ΝΑ ΜΠΕΙ ΣΕ ΕΞΕΤΑΣΕΙΣ
Παλιότερα είχε γίνει μια ολόκληρη κουβέντα για αυτό!!!!

2) Λάθος, λόγω του Χ

3) Μπορεί, αλλά θα πρέπει να περιγράφεται από την εκφώνηση πλήρως, δεν σημαίνει δηλαδή ότι αν ο πίνακας είναι ταξινομημένος και ζητηθεί σειριακή είσαι υποχρεωμένος να το κάνεις
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: Stavros στις 06 Μαρ 2008, 11:57:19 ΠΜ
Για μένα σίγουρα το 2 είναι λάθος, και καλά κάνει η γλώσσα που δεν σε αφείνει να συνεχίσεις αν εκτελέσεις το πρόγραμμα και δεν έχεις δειλώσει κάποια μεταβλητή στην ομάδα των πραγματικών αριθμών. Ας κρατήσουν κάποια αυστηρότητα στη δομή των προγραμμάτων :)

Για το 3 αν και δεν έχει γίνει εμένα προσοπικά δεν θα με πείραζε να υπήρχε μία τέτοια άσκηση
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: evry στις 12 Μαρ 2008, 09:45:46 ΜΜ

   Δεν κατάλαβα γιατί θεωρούμε τη στοίβα στατική δομή. Αν υποθέσουμε ότι έχουμε σε μια στοίβα 3 στοιχεία, το μέγεθός της είναι 3 και όχι το μέγεθος του πίνακα στον οποίο αποθηκεύεται. Η στοίβα και η ουρά είναι δομές στις οποίες μπορούμε να προσθέτουμε και να αφαιρούμε στοιχεία, άρα είναι δυναμικές και όχι στατικές.
   Τώρα το αν υλοποιούνται με πίνακα ή με συνδεδεμένη λίστα δεν μας ενδιαφέρει. Αυτή άλλωστε είναι και η ιδέα των αφηρημένων δομών δεδομένων, δεν πρέπει να βλέπουμε την υλοποίηση αλλά μόνο τη διεπαφή (interface). Δηλαδή δε μπορούμε να διαχωρίζουμε τη στοίβα που υλοποιείται με πίνακα και αυτή που υλοποιείται με συνδεδεμένη λίστα. Αυτό που πρέπει να βλέπουμε είναι μόνο τη δομή και τις βασικές λειτουργίες της, άσε που η υλοποίηση είναι εκτός ύλης. Αλλά όπως και να έχει ακόμα και με πίνακες πάλι μπορείς να υλοποίησεις μια δυναμική δομή. Οι δομές δεδομένων στην STL της C++ και στην Java έχω την εντύπωση ότι υλοποιούνται με πίνακες απλά όταν δεν υπάρχει άλλη διαθέσιμη θέση στον πίνακα, τότε ο πίνακας επεκτείνεται κατά κάποιες θέσεις (βλέπε dynamic arrays)
  Τώρα σχετικά με την υπερχείλιση που είπε ο Παναγιώτης (η οποία κατά τη γνώμη μου κακώς είναι στην ύλη αφού η υλοποίηση της στοίβας είναι εκτός) αυτή μπορεί να συμβεί και όταν υλοποιήσεις τη στοίβα με συνδεδεμένη λίστα και δεν υπάρχει αρκετή μνήμη. Και τότε υπερχείλιση έχεις, αλλά δεν πρόκειται για στατική δομή. Ακόμα και η συνδεδεμένη λίστα είναι περιορισμένη από την μνήμη του υπολογιστή η οποία μπορεί να θεωρηθεί σαν ένας τεράστιος πίνακας.
    Η γνώμη μου είναι πως όταν αναφερόμαστε σε τέτοιες δομές δεδομένων δεν πρέπει να σκεφτόμαστε την υλοποίηση αλλά μόνο τις βασικές λειτουργίες τους και να τις βλέπουμε σαν Αφηρημένες Δομές (ή Τύπους) Δεδομένων.
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: P.Tsiotakis στις 13 Μαρ 2008, 10:15:49 ΠΜ
Στη σελίδα 73 του σχολικού βιβλίου, στην παράγραφο 3.9 με τίτλο Άλλες δομές δεδομένων, αναφέρει:
"Κοινό γνώρισμα των δομών που εξετάστηκαν προηγουμένως είναι οτι οι διαδοχικοί κόμβοι αποθηκεύονται σε συνεχόμενες θέσεις της κύριας μνήμης. Στην παράγραφο αυτή γίνεται μια παρουσίαση...λίστες, δένδρα, γράφους"

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

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


Κατά τη γνώμη μου δεν υπάρχει τίποτα το διφορούμενο, στο σχολικό διδακτικό μας πακέτο οι δομές στοίβα και ουρά είναι στατικές δομές δεδομένων. Οι δυναμικές δομές δεδομένων είναι εκτός ύλης.
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: evry στις 13 Μαρ 2008, 12:56:07 ΜΜ
Κατά τη γνώμη μου θα πρέπει να εξετάζουμε τις αφηρημένες λειτουργίες των δομών και όχι το πως υλοποιούνται, αυτό είναι το πνεύμα των δομών δεδομένων και της έννοιας του Αφηρημένου Τύπου Δεδομένων (ΑΔΤ), σαν μην βλέπουμε την υλοποίηση. Επίσης κάτι άλλο, τα δέντρα και οι γράφοι είναι στατικές ή δυναμικές δομές δεδομένων? Ας πούμε ότι υλοποιούνται με πίνακες. Μπορείς να αφαιρέσεις κάλλιστα μια ακμή θέτοντας 0 στο αντίστοιχο κελί. Αυτό δε σημαίνει ότι είναι δυναμική δομή; (αφού μπορείς σε χρόνο εκτέλεσης να αλλάξεις τη δομή του γράφου, δηλαδή να αλλάξεις τη δομή δυναμικά άρα μιλάμε για δυναμική δομή).
   Αυτό στο οποίο θέλω να καταλήξω είναι όπως είπα και πριν ότι πρέπει να εξετάζουμε μόνο τις βασικές λειτουργίες των δομών και να τις βλέπουμε σαν Αφηρημένους Τύπους Δεδομένων. Η υλοποίηση δεν παίζει ρόλο για το αν αναφέρομαστε σε στατικές ή δυναμικές δομές δεδομένων.
    Αν δεχτούμε ότι οι δομές που υλοποιούνται με πίνακα είναι στατικές τότε θα πρέπει να δεχτούμε ότι αφού η μνήμη του υπολογιστή είναι πεπερασμένη, και πρόκειται ουσιαστικά για έναν μονοδιάστατο πίνακα όλες οι δομές δεδομένων είναι στατικές, αφού όλες χρησιμοποιούν τμήματα αυτού του μονοδιάστατου πίνακα. Επίσης δεν εξετάζω τόσο πολύ το πνεύμα του βιβλίου γιατί σε πολλές περιπτώσεις αυτό έχει αποδειχθεί ότι δεν είναι αξιόπιστο (βλέπε αποτελεσματικότητα). Επειδή πάντως δε νομίζω ότι θα συμφωνήσουμε με τον Παναγιώτη (μάλλον είμαστε στα δυο άκρα :-)) μήπως να το βάλουμε σε ψηφοφορία? Έχει κανείς καμιά άλλη άποψη?
    Πιστεύω ότι η συγκεκριμένη συζήτηση και η διαφωνία μας έχει σημασία από την πλευρά ότι πολλοί μαθητές είναι επίσης δύσπιστοι για το αν οι δομές αυτές είναι στατικές ή δυναμικές, οπότε θα πρέπει να βρούμε καλά επιχειρήματα για να τους πείσουμε για το δίκιο της μιας ή της άλλης άποψης.

  Επίσης οι δυναμικές δομές δεδομένων δε νομίζω ότι είναι εκτός ύλης, αφού στο κεφάλαιο 3 οι διαφορές στατικών και δυναμικών δομών δεδομένων είναι εντός ύλης. Οι δυναμικές δομές δεδομένων γενικά είναι στην ύλη και μπορεί να πέσει στις πανελλήνιες ερώτηση θεωρίας για το τι είναι ή ποιες είναι οι διαφορές τους από τις στατικές δομές. Το πως υλοποιούνται οι δυναμικές δομές είναι εκτός ύλης (αυτό φαντάζομαι ότι εννοείς Παναγιώτη) αλλά η έννοια της δυναμικής δομής δεδομένων είναι μέσα στην ύλη. Και αν θέλεις να εξηγήσεις στα παιδιά με ένα παράδειγμα τι σημαίνει δυναμική δομή δεδομένων, το μόνο εργαλείο που έχεις στα χέρια σου είναι η στοίβα και η ουρά.
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: P.Tsiotakis στις 13 Μαρ 2008, 04:24:35 ΜΜ
Όταν η εκφώνηση ξεκινάει με τη διατύπωση: "έστω μια στοίβα 10 θέσεων...", τότε δεν μπορεί να αναφέρεται σε δυναμική δομή δεδομένων.

Η τεχνική της δυναμικής παραχώρησης μνήμης είναι η αύξηση του δείκτη top κατά 1 στη στοίβα;

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

Στο μάθημά μας δεν υπάρχει εντός ύλης παρουσίαση κάποιας δυναμικής δομής δεδομένων, όπως δεν υπάρχει και παρουσίαση του αλγορίθμου της δυαδικής αναζήτησης. Αυτό είναι το άλλο άκρο  :o
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: evry στις 13 Μαρ 2008, 09:14:42 ΜΜ
Η ιδέα του Αφηρημένου Τύπου Δεδομένων είναι η ανεξαρτησία από την υλοποίηση. Ο αφηρημένος τύπος Στοίβα/Ουρά σε αφηρημένο επίπεδο είναι ή στατικός ή δυναμικός, όχι και τα δυο, και σίγουρα όχι με βάση την υλοποίηση. Η εκφώνηση "έστω μια στοίβα 10 θέσεων" ουσιαστικά σου αποκαλύπτει την υλοποίηση της στοίβας η οποία αν δεν κάνω λάθος είναι και εκτός ύλης.

   Φυσικά και στο μάθημά μας δεν υπάρχει παρουσίαση δυναμικής δομής δεδομένων, εδώ συμφωνούμε απόλυτα. Το ερώτημα είναι πως από την στιγμή που δεν υπάρχει μια δυναμική δεδομένων να επικαλεστείς σαν παράδειγμα πως θα εξηγήσεις στα παιδιά τις διαφορές μεταξύ δυναμικών και στατικών δομών οι οποίες είναι εντός ύλης;
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: P.Tsiotakis στις 14 Μαρ 2008, 01:25:47 ΜΜ
Η εκφώνηση "Σε ΅ία ουρά 10 θέσεων έχουν τοποθετηθεί..."
αφορά το θέμα 1Β των εξετάσεων εσπερινών λυκείων 2004
(http://users.kor.sch.gr/ptsiotakis/aepp/aepp_panel_esp_2004.htm ).

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

Κατά συνέπεια, δεν έχω κάποιο παράδειγμα δυναμικής δομής δεδομένων να παρουσιάσω στους μαθητές μου, εκτός κι αν αφιερώσω 2 λεπτά να τους δείξω το εκτός ύλης παράδειγμα της σελίδα 74 του σχολικού βιβλίου.
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: potato στις 25 Μαΐου 2008, 09:59:26 ΜΜ
   evry, για το αν θα χαρακτηρίσεις έναν ΑΤΔ δυναμικό ή στατικό εξαρτάται από την υλοποιήση. Λέμε ότι ένας ADT είναι ανεξάρτητος της implementation και των specifications της γλώσσας που υλοποιείται, εξαιτίας του χειρισμού του που γίνεται από το interface του και μόνο(η λειτουργία παραμένει ίδια). Αλλά ερώτηση που αφορά χαρακτηριστικά όπως δυναμική ή όχι είναι θέμα υλοποιήσης. Είναι σαν να ρωτάς αν ένας κώδικας είναι ασφαλής ή όχι, είναι και αυτό θέμα υλοιποιήσης ανεξάρτητα από το αν 2 ΑΤΔ έχουν τις ίδιες πράξεις.

  Επομένως, δεν υπάρχει μία απάντηση. Οι μαθητές του Λυκείου μπορούν να απαντήσουν μόνο στατική. Γενικότερα.. απλά εξαρτάται..
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: evry στις 26 Μαΐου 2008, 12:58:06 ΠΜ

Οι πίνακες είναι στατική δομή δεδομένων? 

Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: papaluk στις 26 Μαΐου 2008, 12:17:56 ΜΜ
σελίδα 56, " οι στατικές υλοποιούνται με πίνακες..."
συμφωνώ με τον κύριο Τσιωτάκη
Στην τάξη λέω " σύμφωνα με σχολικό εφόσον στοιβα ουρά υλοποιούνται με πίνακες είναι στατικές. αν κάποια στιγμή δουλέψετε και ασχολειθείτε παραπάνω με προγραμματισμό θα διαπιστώσετε ότι αυτός ο ισχυρισμός δεν ισχύει πλήρως"  και όλοι είμαστε ευχαριστημένοι, αρκεί να μν τους λέω πατάτα :)
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: potato στις 26 Μαΐου 2008, 01:08:14 ΜΜ
Παράθεση από: evry στις 26 Μαΐου 2008, 12:58:06 ΠΜ

Οι πίνακες είναι στατική δομή δεδομένων? 


  Όταν λέμε σκέτο "πίνακες" εννοούμε τους στατικούς.
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: evry στις 26 Μαΐου 2008, 02:56:24 ΜΜ

Κατ'αρχήν δυστυχώς για κάποιους υπάρχουν και δυναμικοί πίνακες, αλλά δεν είναι αντιεπιστημονικό να λες στα παιδιά ότι
"παιδιά μέχρι τις 31 Μαϊου πρέπει να θεωρείτε σωστά αυτά αλλά μετά τις 31 θα δείτε ότι δεν ισχύουν πλήρως?"
Είναι αυτή σοβαρή στάση δασκάλου και επιστήμονα? Δηλαδή όλος ο κόσμος είναι οι πανελλήνιες και το σχολικό βιβλίο και ότι δεν γράφεται εκεί δεν υπάρχει? Ούτε η Βίβλος να ήτανε

Παράθεση από: papaluk στις 26 Μαΐου 2008, 12:17:56 ΜΜ
σελίδα 56, " οι στατικές υλοποιούνται με πίνακες..."
συμφωνώ με τον κύριο Τσιωτάκη
Στην τάξη λέω " σύμφωνα με σχολικό εφόσον στοιβα ουρά υλοποιούνται με πίνακες είναι στατικές. αν κάποια στιγμή δουλέψετε και ασχολειθείτε παραπάνω με προγραμματισμό θα διαπιστώσετε ότι αυτός ο ισχυρισμός δεν ισχύει πλήρως"  και όλοι είμαστε ευχαριστημένοι, αρκεί να μν τους λέω πατάτα :)
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: evry στις 26 Μαΐου 2008, 03:00:20 ΜΜ
Δηλαδή "σκέτο στοίβα" ==> εξαρτάται από την υλοποίηση
          "σκέτο πίνακας" ==> στατικός

Μήπως το παραπάνω αντιβαίνει στην απλή λογική?
Σε γλώσσες όπως η PHP, Perl, Python που χρησιμοποιούνται δυναμικοί πίνακες, πάλι σκέτο πίνακες τους λένε.
Που θέλω να καταλήξω. Μήπως κάποιοι ορισμοί που έχει το σχολικό βιβλίο δημιουργούν σύγχυση? Μήπως δεν είναι καλή ιδέα να τους υιοθετούμε σα να είναι το σχολικό βιβλίο καμιά βίβλος του προγραμματισμού? Είναι υπεύθυνη στάση να λέμε κάποια πράγματα στα παιδιά τα οποία θα ανακαλύψουν σε έναν μόλις χρόνο ότι δεν ισχύουν?

Παράθεση από: potato στις 26 Μαΐου 2008, 01:08:14 ΜΜ
  Όταν λέμε σκέτο "πίνακες" εννοούμε τους στατικούς.
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: pgrontas στις 26 Μαΐου 2008, 03:23:28 ΜΜ
Πρέπει να ξεκαθαρίσουμε τι εννοούμε με στατική και δυναμική δομή δεδομένων:
Αν πούμε ότι τα στοιχεία της δυναμικής αλλάζουν, ενώ της στατικής όχι, τότε όλες είναι δυναμικές δομές δεδομένων, ακόμα και ο πίνακας.
Αν πούμε ότι το μέγιστο πλήθος των στοιχείων μιας δυναμικής δομής αλλάζει τότε είναι στατικές.

Σαν αφηρημένες δομές όλες για μένα είναι δυναμικές. Η διαφορά είναι στην χρήση.Αν θυμάμαι καλά:
Πίνακας = δομή δεδομένων με Ο(1) προσπέλαση. Μπορεί να υλοποιηθεί σε συνεχόμενες θέσεις μνήμης με στατική κατανομή, ή με δυναμική κατανομή και ευρετήριο. 
Στοίβα και Ουρά=δομές δεδομένων με Ο(1) εισαγωγή και διαγραφή. 

Συμφωνώ με τον Ευριπίδη, ότι η σύγχυση στο συγκεκριμένο θέμα  οφείλεται στο ότι το σχολικό βιβλίο μπερδεύει την αφηρημένη δομή δεδομένων με την υλοποίηση.Στο συγκεκριμένο κεφάλαιο κατά την γνώμη μου  δεν θα έπρεπε να υπάρχει καθόλου αναφορά σε μνήμη, δυναμική κατανομή ή εφόσον υπάρχει θα έπρεπε να έχει γίνει σωστά. Συμφωνώ επίσης ότι δεν μου αρέσει να λέμε 'ψέματα' ή ότι θα τα μάθετε αργότερα.
Από την άλλη δεν ξέρω κατά πόσο μπορούμε να ανοίξουμε τέτοια συζήτηση λαμβάνοντας υπόψιν τους περιορισμούς του μαθήματος.
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: evry στις 26 Μαΐου 2008, 03:30:57 ΜΜ

Ακριβώς, θα πρέπει να βρούμε να πούμε στα παιδιά κάτι το οποίο 1) να είναι επιστημονικά σωστό 2) να υπακούει στην απλή λογική ωστέ ο μαθητής να το θεωρήσει απλό και προφανές και 3) να μην έρχεται σε αντίθεση με το σχολικό βιβλίο γιατί το μάθημα είναι πανελλαδικό
(τα παραπάνω τα έγραψα σε φθίνουσα σειρά σπουδαιότητας κατά τη γνώμη μου :-)

Για παράδειγμα η θεώρηση ότι ένας πίνακας είναι μια στατική δομή δεδομένων γιατί δεν μπορούμε να αλλάξουμε το μέγεθός του και η στοίβα είναι μια δυναμική δομή δεδομένων γιατί το μέγεθός της αλλάζει είναι πιστεύω πιο κατανοητό για τα παιδιά και πιο λογικό για κάποιον που δεν έχει ιδιαίτερες γνώσεις προγραμματισμού. Εγώ απλά δίνω έναν ορισμό στατικών - δυναμικών δομών στα πλαίσια ενός αφηρημένου τύπου δεδομένων, δεν με ενδιαφέρει δηλαδή αν υλοποιείται στατικά η δυναμικά αλλά αν το μέγεθός του αλλάζει από τις αφηρημένες λειτουργίες του.
Άλλωστε το να μιλάμε για υλοποίηση δομών δεδομένων στο μάθημα αυτό ειδικά όταν αυτή είναι εκτός ύλης δεν είναι too much?
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: potato στις 26 Μαΐου 2008, 04:20:44 ΜΜ
Παράθεση από: evry στις 26 Μαΐου 2008, 03:00:20 ΜΜ
Δηλαδή "σκέτο στοίβα" ==> εξαρτάται από την υλοποίηση
          "σκέτο πίνακας" ==> στατικός

Μήπως το παραπάνω αντιβαίνει στην απλή λογική?
Σε γλώσσες όπως η PHP, Perl, Python που χρησιμοποιούνται δυναμικοί πίνακες, πάλι σκέτο πίνακες τους λένε.
Που θέλω να καταλήξω. Μήπως κάποιοι ορισμοί που έχει το σχολικό βιβλίο δημιουργούν σύγχυση? Μήπως δεν είναι καλή ιδέα να τους υιοθετούμε σα να είναι το σχολικό βιβλίο καμιά βίβλος του προγραμματισμού? Είναι υπεύθυνη στάση να λέμε κάποια πράγματα στα παιδιά τα οποία θα ανακαλύψουν σε έναν μόλις χρόνο ότι δεν ισχύουν?

Παράθεση από: potato στις 26 Μαΐου 2008, 01:08:14 ΜΜ
  Όταν λέμε σκέτο "πίνακες" εννοούμε τους στατικούς.

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

edit: Δεν πρέπει να σκέφτεσαι τι γίνεται σε μερικές γλώσσες μόνο, πόσο μάλλον όταν αυτές είναι υψηλού επιπέδου. Ειδικά όταν κάνεις λόγο για διαχείριση μνήμης. Καλύτερα να σκεφτείς σε C τότε.
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: evry στις 26 Μαΐου 2008, 06:28:44 ΜΜ
Είχα την έντυπωση ότι όταν λέμε στατικό πίνακα εννοούμε στατικό πίνακα, όταν λέμε δυναμικό πίνακα εννοούμε δυναμικό πίνακα και όταν λέμε πίνακα εννοούμε κάποιον πίνακα που μπορεί να είναι στατικός ή δυναμικός. Επίσης δεν κατάλαβα τι εννοείς λάθος ορολογίες. Από ποια πλευρά? Και ποιος θα αποφασίσει ποια ορολογία είναι σωστή?
   Επίσης δεν κάνω λόγο για διαχείριση μνήμης. Μιλάω για στατικούς/δυναμικούς αφηρημένους τύπους δεδομένων και αν μπορούμε να ορίσουμε τέτοιους γιατί πιστεύω ότι έτσι θα μπορέσουμε να εξηγήσουμε καλύτερα στα παιδιά αυτές τις έννοιες από το να μπαίνουμε σε λεπτομέρειες υλοποίησης.
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: P.Tsiotakis στις 26 Μαΐου 2008, 07:04:02 ΜΜ
Πρέπει να σας ενημερώσω οτι για την περίσταση μας (ΑΕΠΠ), οι πίνακες είναι στατική δομή δεδομένων  :o
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: papaluk στις 26 Μαΐου 2008, 07:54:26 ΜΜ
Παράθεση από: evry στις 26 Μαΐου 2008, 02:56:24 ΜΜ

Κατ'αρχήν δυστυχώς για κάποιους υπάρχουν και δυναμικοί πίνακες, αλλά δεν είναι αντιεπιστημονικό να λες στα παιδιά ότι
"παιδιά μέχρι τις 31 Μαϊου πρέπει να θεωρείτε σωστά αυτά αλλά μετά τις 31 θα δείτε ότι δεν ισχύουν πλήρως?"
Είναι αυτή σοβαρή στάση δασκάλου και επιστήμονα? Δηλαδή όλος ο κόσμος είναι οι πανελλήνιες και το σχολικό βιβλίο και ότι δεν γράφεται εκεί δεν υπάρχει? Ούτε η Βίβλος να ήτανε

Παράθεση από: papaluk στις 26 Μαΐου 2008, 12:17:56 ΜΜ
σελίδα 56, " οι στατικές υλοποιούνται με πίνακες..."
συμφωνώ με τον κύριο Τσιωτάκη
Στην τάξη λέω " σύμφωνα με σχολικό εφόσον στοιβα ουρά υλοποιούνται με πίνακες είναι στατικές. αν κάποια στιγμή δουλέψετε και ασχολειθείτε παραπάνω με προγραμματισμό θα διαπιστώσετε ότι αυτός ο ισχυρισμός δεν ισχύει πλήρως"  και όλοι είμαστε ευχαριστημένοι, αρκεί να μν τους λέω πατάτα :)

Εφόσον το σχολικό στο οποίο στηρίζουμε τη διδασκαλία ΑΕΠΠ λέει ότι σου ανέφερα, ότι υλοποιούνται με πίνακες και οι πίνακες είναι στατικές δομές.. Τι να τους πω στη συνέχεια, ότι ξέρετε τελικά δεν είναι στατικές και είναι ότι μας βολεύει και το σχολικό λέει πράγματα που δεν ισχύουν?
Ουσιατικά τους λέω κατά λέξη "αν σας βάλουνε θέμα στις εξετάσεις θα τις θεωρήσετε στατικές, αλλά όσοι και όταν ασχοληθείτε παραπάνω με προγραμματισμό θα δείτε ότι δεν είναι στατικές".. Πες μου σε παρακαλώ τι είναι αντιεπιστημονικό ή αντιδεοντολογικό? και ας έχεις στο μυαλό σου ότι δεν είναι μέσα στην ύλη μας οι δυναμικές παρά μια απλή αναφορά στις διαφορές με στατικές
συνεχίζω να συμφωνώ με κύριο Τσιωτάκη..
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: potato στις 26 Μαΐου 2008, 08:02:06 ΜΜ
  Ξαναλέω ότι οσαναφορά τα παιδιά δεν χρειάζεται να ξέρουν κάτι παραπάνω. Όπως λέει και ο κύριος Τσιωτάκης από πάνω, χρειάζεται να ξέρουν ότι απλά οι δομές δεδομένων που ξέρουν είναι στατικές. Οποιαδήποτε άλλη αναφορά αποτελεί πλεονασμό, αφού μετά τα παιδιά πρέπει να έρθουν σε επαφή με έννοιες όπως μνήμη, και δεν θεωρώ ότι χρειάζεται να αφιερώσεις τόσο χρόνο να εξηγήσεις κάτι που πραγματικά για την πλειοψηφία θα είναι ασήμαντο. Αντί για αυτό θα μπορούσατε να τους εξηγήσετε μια πιο τραβηγμένη ασκησούλα.

   Αναφορικά τώρα με το θέμα των πινάκων. Τονίζω και πάλι ότι όταν λέμε τη λέξη πίνακα στην καθημερινότητα εννοούμε τους στατικούς( και δικαιολογείται από τη συχνότητα χρήσης τους). Δεν λέω τι θα ήταν πιο σωστό να λέμε. Στην Perl όπως αναφέρθηκε ο κύριος evry έχουν μόνο δυναμικούς πίνακες, εκεί δεν τίθεται θέμα ονομασίας, το λένε απλά πίνακα! Δεν ισχύει παντού αυτό όμως. Στη C ας πούμε, από όπου και ήρθαν βασικές τέτοιες έννοιες, οι δυναμικοί πίνακες δεν είναι καν ANSI, και φυσικά υπάρχει διαχωρισμός της λέξης πίνακας(=στατικός) με την αναφορά σε δυναμικό. Οι παραπάνω λόγοι δικαιολογούν το γιατί προγραμματιστές γλωσσών υψηλού επιπέδου, και δεν τους ενδιαφέρει στην τελική, δεν γνωρίζουν όταν καλούν την new[] ας πούμε του τι γίνεται πραγματικά στο σύστημα και είναι και ο λόγος που δεν χρησιμοποιούν αυστηρά τις ορολογίες.

   Τέλος, να κλείσω με το ότι οι υλοποιήσεις των στοίβα-ουρά εμπεριέχουν παιχνίδια με τη μνήμη(όταν κάνεις allocate π.χ.), άρα δεν κάνουν πράξεις διαχείρισης της μνήμης?

Φιλικά πάντα.
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: sstergou στις 26 Μαΐου 2008, 08:05:01 ΜΜ
Οι πίνακες στην ψευδογλώσσα είναι στατικές δομές δεδομένων που το μέγεθός τους καθορίζεται κατά την διάρκεια της εκτέλεσης. Και όλοι είναι ευχαριστημένοι.  :P

Σελ. 56
1) με τον όρο στατική δομή εννοούμε ότι το ακριβές μέγεθος κατά τη στιγμή της μετάφρασης. Είναι σωστό;

Σελ. 64 - Σειριακή αναζήτηση Ν στοιχείων
Δεδομένα //n, table, key//...

Αυτό είναι σύμφωνο με τον παραπάνω ορισμό;

σελ. 60 Μια στοίβα μπορεί να υλοποιηθεί πολύ εύκολα με την βοήθεια ενός μονοδιάστατου πίνακα.... μπορεί να υλοποιηθεί και με άλλο τρόπο δηλαδή;

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

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

Παράθεση από: potato στις 26 Μαΐου 2008, 01:08:14 ΜΜ


  Όταν λέμε σκέτο "πίνακες" εννοούμε τους στατικούς.

Αυτό πάλι τι είναι; Όταν λέμε σκέτο πίνακες μπορεί να εννοούμε και τον μαυροπίνακα της τάξης ή τις μήτρες των μαθηματικών ή τους στατικούς πίνακες της ΓΛΩΣΣΑΣ ή τους δυναμικούς της perl ή τους στατικούς της ψευδογλώσσας που όμως έχουν δυναμική συμπεριφορά.
Τίτλος: Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
Αποστολή από: potato στις 26 Μαΐου 2008, 09:13:03 ΜΜ
Παράθεση από: sstergou στις 26 Μαΐου 2008, 08:05:01 ΜΜ

Παράθεση από: potato στις 26 Μαΐου 2008, 01:08:14 ΜΜ


  Όταν λέμε σκέτο "πίνακες" εννοούμε τους στατικούς.

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

Ίσως αν διαβάζατε καλύτερα τα ποστ που έκανα να καταλαβαίνατε πως το εννοώ.