Αποστολέας Θέμα: ΟΥΡΑ-ΣΤΟΙΒΑ  (Αναγνώστηκε 13687 φορές)

tkon

  • Ομάδα διαγωνισμάτων 2014
  • *
  • Μηνύματα: 31
ΟΥΡΑ-ΣΤΟΙΒΑ
« στις: 04 Μάρ 2008, 01:23:12 μμ »
ΘΑ ΗΘΕΛΑ ΝΑ ΔΩΣΕΙ ΚΑΠΟΙΟΣ ΜΙΑ ΣΩΣΤΗ ΑΠΑΝΤΗΣΗ ΣΤΙΣ ΠΑΡΑΚΑΤΩ ΕΡΩΤΗΣΕΙΣ:
1) Η ΣΤΟΙΒΑ ΚΑΙ Η ΟΥΡΑ ΤΕΛΙΚΑ ΕΙΝΑΙ ΣΤΑΤΙΚΗ Ή ΔΥΝΑΜΙΚΗ ΔΟΜΗ ΔΕΔΟΜΕΝΩΝ;
2) Η ΣΥΝΤΑΞΗ ΤΟΥ ΠΑΡΑΚΑΤΩ ΤΜΗΜΑΤΟΣ ΣΤΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΕΙΝΑΙ ΣΩΣΤΗ;
ΠΡΟΓΡΑΜΜΑ Α1
 ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ:Χ,Π[20]
   ΠΡΑΓΜΑΤΙΚΕΣ:
   ΛΟΓΙΚΕΣ:ΒΡΕΘΗΚΕ
   ΧΑΡΑΚΤΗΡΕΣ:Χ[20]
 
 ΑΝ ΔΗΛΑΔΗ ΔΕΝ ΕΧΩ  ΠΡΑΓΜΑΤΙΚΕΣ ΜΕΤΑΒΛΗΤΕΣ, ΑΛΛΑ ΤΙΣ ΔΗΛΩΣΩ ΣΤΟ ΠΡΟΓΡΑΜΜΑ ΟΠΩΣ ΠΑΡΑΠΑΝΩ ΕΙΝΑΙ ΣΩΣΤΟ;

3) ΥΠΑΡΧΕΙ ΠΕΡΙΠΤΩΣΗ ΝΑ ΠΕΣΕΙ ΣΕ ΑΣΚΗΣΗ ΣΕΙΡΙΑΚΗ ΣΕ ΤΑΞΙΜΟΜΗΜΕΝΟ ΠΙΝΑΚΑ;
ΠΕΡΙΜΕΝΩ ΑΠΑΝΤΗΣΗ
ΕΥΧΑΡΙΣΤΩ

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3219
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #1 στις: 04 Μάρ 2008, 02:41:26 μμ »
1. Η στοίβα και η ουρά, όπως υλοποιούνται στο διδακτικό μας πακέτο είναι ΣΤΑΤΙΚΕΣ δομές δεδομένων. Αλλιώς τι νόημα έχει η υπερχείλιση;  ::)

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

3. ΜΑΚΑΡΙ. Το τέλειο ερώτημα κρίσεως: περιγράφεται στο βιβλίο αλλά δεν παρουσιάζεται ο αλγόριθμος. Όχι σε άσκηση (που μπορείς να γράψει την κλασική σειριακή, αλλά σαν θεωρία)

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5161
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #2 στις: 04 Μάρ 2008, 03:36:22 μμ »
Το (2) εγώ θα το χαρακτήριζα συντακτικό λάθος. Σε ΓΛΩΣΣΑ είμαστε, υπάρχουν αυστηροί κανόνες.
Τώρα αν δεν αναφέρεται ρητώς στο βιβλίο... ε, τι να κάνουμε, δεν είναι το μόνο.

andreas_p

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1015
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #3 στις: 05 Μάρ 2008, 08:26:02 πμ »
Καλημέρα σας.

1)   Στατικές

2)  Λάθος

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


Ανδρέας

bagelis

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

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

3) Μπορεί, αλλά θα πρέπει να περιγράφεται από την εκφώνηση πλήρως, δεν σημαίνει δηλαδή ότι αν ο πίνακας είναι ταξινομημένος και ζητηθεί σειριακή είσαι υποχρεωμένος να το κάνεις

Stavros

  • Θαμώνας
  • ***
  • Μηνύματα: 40
    • http://csforces.gr/
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #5 στις: 06 Μάρ 2008, 11:57:19 πμ »
Για μένα σίγουρα το 2 είναι λάθος, και καλά κάνει η γλώσσα που δεν σε αφείνει να συνεχίσεις αν εκτελέσεις το πρόγραμμα και δεν έχεις δειλώσει κάποια μεταβλητή στην ομάδα των πραγματικών αριθμών. Ας κρατήσουν κάποια αυστηρότητα στη δομή των προγραμμάτων :)

Για το 3 αν και δεν έχει γίνει εμένα προσοπικά δεν θα με πείραζε να υπήρχε μία τέτοια άσκηση
Stavros
3ετής φοιτητής πληροφορικής


Το νέο φοιτητικό site
www.universitas.gr
www.csforces.gr/forums
All about computers!!!
Join us!!!!

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #6 στις: 12 Μάρ 2008, 09:45:46 μμ »

   Δεν κατάλαβα γιατί θεωρούμε τη στοίβα στατική δομή. Αν υποθέσουμε ότι έχουμε σε μια στοίβα 3 στοιχεία, το μέγεθός της είναι 3 και όχι το μέγεθος του πίνακα στον οποίο αποθηκεύεται. Η στοίβα και η ουρά είναι δομές στις οποίες μπορούμε να προσθέτουμε και να αφαιρούμε στοιχεία, άρα είναι δυναμικές και όχι στατικές.
   Τώρα το αν υλοποιούνται με πίνακα ή με συνδεδεμένη λίστα δεν μας ενδιαφέρει. Αυτή άλλωστε είναι και η ιδέα των αφηρημένων δομών δεδομένων, δεν πρέπει να βλέπουμε την υλοποίηση αλλά μόνο τη διεπαφή (interface). Δηλαδή δε μπορούμε να διαχωρίζουμε τη στοίβα που υλοποιείται με πίνακα και αυτή που υλοποιείται με συνδεδεμένη λίστα. Αυτό που πρέπει να βλέπουμε είναι μόνο τη δομή και τις βασικές λειτουργίες της, άσε που η υλοποίηση είναι εκτός ύλης. Αλλά όπως και να έχει ακόμα και με πίνακες πάλι μπορείς να υλοποίησεις μια δυναμική δομή. Οι δομές δεδομένων στην STL της C++ και στην Java έχω την εντύπωση ότι υλοποιούνται με πίνακες απλά όταν δεν υπάρχει άλλη διαθέσιμη θέση στον πίνακα, τότε ο πίνακας επεκτείνεται κατά κάποιες θέσεις (βλέπε dynamic arrays)
  Τώρα σχετικά με την υπερχείλιση που είπε ο Παναγιώτης (η οποία κατά τη γνώμη μου κακώς είναι στην ύλη αφού η υλοποίηση της στοίβας είναι εκτός) αυτή μπορεί να συμβεί και όταν υλοποιήσεις τη στοίβα με συνδεδεμένη λίστα και δεν υπάρχει αρκετή μνήμη. Και τότε υπερχείλιση έχεις, αλλά δεν πρόκειται για στατική δομή. Ακόμα και η συνδεδεμένη λίστα είναι περιορισμένη από την μνήμη του υπολογιστή η οποία μπορεί να θεωρηθεί σαν ένας τεράστιος πίνακας.
    Η γνώμη μου είναι πως όταν αναφερόμαστε σε τέτοιες δομές δεδομένων δεν πρέπει να σκεφτόμαστε την υλοποίηση αλλά μόνο τις βασικές λειτουργίες τους και να τις βλέπουμε σαν Αφηρημένες Δομές (ή Τύπους) Δεδομένων.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3219
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #7 στις: 13 Μάρ 2008, 10:15:49 πμ »
Στη σελίδα 73 του σχολικού βιβλίου, στην παράγραφο 3.9 με τίτλο Άλλες δομές δεδομένων, αναφέρει:
"Κοινό γνώρισμα των δομών που εξετάστηκαν προηγουμένως είναι οτι οι διαδοχικοί κόμβοι αποθηκεύονται σε συνεχόμενες θέσεις της κύριας μνήμης. Στην παράγραφο αυτή γίνεται μια παρουσίαση...λίστες, δένδρα, γράφους"

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

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


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

evry

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

  Επίσης οι δυναμικές δομές δεδομένων δε νομίζω ότι είναι εκτός ύλης, αφού στο κεφάλαιο 3 οι διαφορές στατικών και δυναμικών δομών δεδομένων είναι εντός ύλης. Οι δυναμικές δομές δεδομένων γενικά είναι στην ύλη και μπορεί να πέσει στις πανελλήνιες ερώτηση θεωρίας για το τι είναι ή ποιες είναι οι διαφορές τους από τις στατικές δομές. Το πως υλοποιούνται οι δυναμικές δομές είναι εκτός ύλης (αυτό φαντάζομαι ότι εννοείς Παναγιώτη) αλλά η έννοια της δυναμικής δομής δεδομένων είναι μέσα στην ύλη. Και αν θέλεις να εξηγήσεις στα παιδιά με ένα παράδειγμα τι σημαίνει δυναμική δομή δεδομένων, το μόνο εργαλείο που έχεις στα χέρια σου είναι η στοίβα και η ουρά.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3219
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #9 στις: 13 Μάρ 2008, 04:24:35 μμ »
Όταν η εκφώνηση ξεκινάει με τη διατύπωση: "έστω μια στοίβα 10 θέσεων...", τότε δεν μπορεί να αναφέρεται σε δυναμική δομή δεδομένων.

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

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

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

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #10 στις: 13 Μάρ 2008, 09:14:42 μμ »
Η ιδέα του Αφηρημένου Τύπου Δεδομένων είναι η ανεξαρτησία από την υλοποίηση. Ο αφηρημένος τύπος Στοίβα/Ουρά σε αφηρημένο επίπεδο είναι ή στατικός ή δυναμικός, όχι και τα δυο, και σίγουρα όχι με βάση την υλοποίηση. Η εκφώνηση "έστω μια στοίβα 10 θέσεων" ουσιαστικά σου αποκαλύπτει την υλοποίηση της στοίβας η οποία αν δεν κάνω λάθος είναι και εκτός ύλης.

   Φυσικά και στο μάθημά μας δεν υπάρχει παρουσίαση δυναμικής δομής δεδομένων, εδώ συμφωνούμε απόλυτα. Το ερώτημα είναι πως από την στιγμή που δεν υπάρχει μια δυναμική δεδομένων να επικαλεστείς σαν παράδειγμα πως θα εξηγήσεις στα παιδιά τις διαφορές μεταξύ δυναμικών και στατικών δομών οι οποίες είναι εντός ύλης;
« Τελευταία τροποποίηση: 13 Μάρ 2008, 10:44:31 μμ από evry »
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3219
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #11 στις: 14 Μάρ 2008, 01:25:47 μμ »
Η εκφώνηση "Σε ΅ία ουρά 10 θέσεων έχουν τοποθετηθεί..."
αφορά το θέμα 1Β των εξετάσεων εσπερινών λυκείων 2004
(http://users.kor.sch.gr/ptsiotakis/aepp/aepp_panel_esp_2004.htm ).

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

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

potato

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

  Επομένως, δεν υπάρχει μία απάντηση. Οι μαθητές του Λυκείου μπορούν να απαντήσουν μόνο στατική. Γενικότερα.. απλά εξαρτάται..
Be open source. Knowledge belongs to the world.

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #13 στις: 26 Μάι 2008, 12:58:06 πμ »

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

 
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

papaluk

  • Μηχ. Η/Υ & Πληρ. ΠΕ19
  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 94
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #14 στις: 26 Μάι 2008, 12:17:56 μμ »
σελίδα 56, " οι στατικές υλοποιούνται με πίνακες..."
συμφωνώ με τον κύριο Τσιωτάκη
Στην τάξη λέω " σύμφωνα με σχολικό εφόσον στοιβα ουρά υλοποιούνται με πίνακες είναι στατικές. αν κάποια στιγμή δουλέψετε και ασχολειθείτε παραπάνω με προγραμματισμό θα διαπιστώσετε ότι αυτός ο ισχυρισμός δεν ισχύει πλήρως"  και όλοι είμαστε ευχαριστημένοι, αρκεί να μν τους λέω πατάτα :)

potato

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 59
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #15 στις: 26 Μάι 2008, 01:08:14 μμ »

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

 

  Όταν λέμε σκέτο "πίνακες" εννοούμε τους στατικούς.
Be open source. Knowledge belongs to the world.

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #16 στις: 26 Μάι 2008, 02:56:24 μμ »

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

σελίδα 56, " οι στατικές υλοποιούνται με πίνακες..."
συμφωνώ με τον κύριο Τσιωτάκη
Στην τάξη λέω " σύμφωνα με σχολικό εφόσον στοιβα ουρά υλοποιούνται με πίνακες είναι στατικές. αν κάποια στιγμή δουλέψετε και ασχολειθείτε παραπάνω με προγραμματισμό θα διαπιστώσετε ότι αυτός ο ισχυρισμός δεν ισχύει πλήρως"  και όλοι είμαστε ευχαριστημένοι, αρκεί να μν τους λέω πατάτα :)
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #17 στις: 26 Μάι 2008, 03:00:20 μμ »
Δηλαδή "σκέτο στοίβα" ==> εξαρτάται από την υλοποίηση
          "σκέτο πίνακας" ==> στατικός

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

  Όταν λέμε σκέτο "πίνακες" εννοούμε τους στατικούς.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1328
  • There are always possibilities...
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #18 στις: 26 Μάι 2008, 03:23:28 μμ »
Πρέπει να ξεκαθαρίσουμε τι εννοούμε με στατική και δυναμική δομή δεδομένων:
Αν πούμε ότι τα στοιχεία της δυναμικής αλλάζουν, ενώ της στατικής όχι, τότε όλες είναι δυναμικές δομές δεδομένων, ακόμα και ο πίνακας.
Αν πούμε ότι το μέγιστο πλήθος των στοιχείων μιας δυναμικής δομής αλλάζει τότε είναι στατικές.

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

Συμφωνώ με τον Ευριπίδη, ότι η σύγχυση στο συγκεκριμένο θέμα  οφείλεται στο ότι το σχολικό βιβλίο μπερδεύει την αφηρημένη δομή δεδομένων με την υλοποίηση.Στο συγκεκριμένο κεφάλαιο κατά την γνώμη μου  δεν θα έπρεπε να υπάρχει καθόλου αναφορά σε μνήμη, δυναμική κατανομή ή εφόσον υπάρχει θα έπρεπε να έχει γίνει σωστά. Συμφωνώ επίσης ότι δεν μου αρέσει να λέμε 'ψέματα' ή ότι θα τα μάθετε αργότερα.
Από την άλλη δεν ξέρω κατά πόσο μπορούμε να ανοίξουμε τέτοια συζήτηση λαμβάνοντας υπόψιν τους περιορισμούς του μαθήματος.
A man provided with paper, pencil, and rubber, and subject to strict discipline is in effect a universal machine - Alan Turing

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #19 στις: 26 Μάι 2008, 03:30:57 μμ »

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

Για παράδειγμα η θεώρηση ότι ένας πίνακας είναι μια στατική δομή δεδομένων γιατί δεν μπορούμε να αλλάξουμε το μέγεθός του και η στοίβα είναι μια δυναμική δομή δεδομένων γιατί το μέγεθός της αλλάζει είναι πιστεύω πιο κατανοητό για τα παιδιά και πιο λογικό για κάποιον που δεν έχει ιδιαίτερες γνώσεις προγραμματισμού. Εγώ απλά δίνω έναν ορισμό στατικών - δυναμικών δομών στα πλαίσια ενός αφηρημένου τύπου δεδομένων, δεν με ενδιαφέρει δηλαδή αν υλοποιείται στατικά η δυναμικά αλλά αν το μέγεθός του αλλάζει από τις αφηρημένες λειτουργίες του.
Άλλωστε το να μιλάμε για υλοποίηση δομών δεδομένων στο μάθημα αυτό ειδικά όταν αυτή είναι εκτός ύλης δεν είναι too much?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

potato

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 59
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #20 στις: 26 Μάι 2008, 04:20:44 μμ »
Δηλαδή "σκέτο στοίβα" ==> εξαρτάται από την υλοποίηση
          "σκέτο πίνακας" ==> στατικός

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

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

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

edit: Δεν πρέπει να σκέφτεσαι τι γίνεται σε μερικές γλώσσες μόνο, πόσο μάλλον όταν αυτές είναι υψηλού επιπέδου. Ειδικά όταν κάνεις λόγο για διαχείριση μνήμης. Καλύτερα να σκεφτείς σε C τότε.
« Τελευταία τροποποίηση: 26 Μάι 2008, 04:31:05 μμ από potato »
Be open source. Knowledge belongs to the world.

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #21 στις: 26 Μάι 2008, 06:28:44 μμ »
Είχα την έντυπωση ότι όταν λέμε στατικό πίνακα εννοούμε στατικό πίνακα, όταν λέμε δυναμικό πίνακα εννοούμε δυναμικό πίνακα και όταν λέμε πίνακα εννοούμε κάποιον πίνακα που μπορεί να είναι στατικός ή δυναμικός. Επίσης δεν κατάλαβα τι εννοείς λάθος ορολογίες. Από ποια πλευρά? Και ποιος θα αποφασίσει ποια ορολογία είναι σωστή?
   Επίσης δεν κάνω λόγο για διαχείριση μνήμης. Μιλάω για στατικούς/δυναμικούς αφηρημένους τύπους δεδομένων και αν μπορούμε να ορίσουμε τέτοιους γιατί πιστεύω ότι έτσι θα μπορέσουμε να εξηγήσουμε καλύτερα στα παιδιά αυτές τις έννοιες από το να μπαίνουμε σε λεπτομέρειες υλοποίησης.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3219
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #22 στις: 26 Μάι 2008, 07:04:02 μμ »
Πρέπει να σας ενημερώσω οτι για την περίσταση μας (ΑΕΠΠ), οι πίνακες είναι στατική δομή δεδομένων  :o

papaluk

  • Μηχ. Η/Υ & Πληρ. ΠΕ19
  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 94
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #23 στις: 26 Μάι 2008, 07:54:26 μμ »

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

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

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

potato

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 59
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #24 στις: 26 Μάι 2008, 08:02:06 μμ »
  Ξαναλέω ότι οσαναφορά τα παιδιά δεν χρειάζεται να ξέρουν κάτι παραπάνω. Όπως λέει και ο κύριος Τσιωτάκης από πάνω, χρειάζεται να ξέρουν ότι απλά οι δομές δεδομένων που ξέρουν είναι στατικές. Οποιαδήποτε άλλη αναφορά αποτελεί πλεονασμό, αφού μετά τα παιδιά πρέπει να έρθουν σε επαφή με έννοιες όπως μνήμη, και δεν θεωρώ ότι χρειάζεται να αφιερώσεις τόσο χρόνο να εξηγήσεις κάτι που πραγματικά για την πλειοψηφία θα είναι ασήμαντο. Αντί για αυτό θα μπορούσατε να τους εξηγήσετε μια πιο τραβηγμένη ασκησούλα.

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

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

Φιλικά πάντα.
Be open source. Knowledge belongs to the world.

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #25 στις: 26 Μάι 2008, 08:05:01 μμ »
Οι πίνακες στην ψευδογλώσσα είναι στατικές δομές δεδομένων που το μέγεθός τους καθορίζεται κατά την διάρκεια της εκτέλεσης. Και όλοι είναι ευχαριστημένοι.  :P

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

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

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

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

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

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



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

Αυτό πάλι τι είναι; Όταν λέμε σκέτο πίνακες μπορεί να εννοούμε και τον μαυροπίνακα της τάξης ή τις μήτρες των μαθηματικών ή τους στατικούς πίνακες της ΓΛΩΣΣΑΣ ή τους δυναμικούς της perl ή τους στατικούς της ψευδογλώσσας που όμως έχουν δυναμική συμπεριφορά.
« Τελευταία τροποποίηση: 26 Μάι 2008, 09:16:20 μμ από sstergou »
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

potato

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 59
Απ: ΟΥΡΑ-ΣΤΟΙΒΑ
« Απάντηση #26 στις: 26 Μάι 2008, 09:13:03 μμ »



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

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

Ίσως αν διαβάζατε καλύτερα τα ποστ που έκανα να καταλαβαίνατε πως το εννοώ.
Be open source. Knowledge belongs to the world.