Ουρά - Στοιβα

Ξεκίνησε από Spyridon, 12 Μαΐου 2009, 04:46:55 ΜΜ

« προηγούμενο - επόμενο »

Spyridon

Παιδία  καλησπέρα
Μια ερώτηση που την κάνω με αφορμή το 1ο Επαναληπτικό διαγώνισμα του Π. Τσιωτάκη. Όταν λέμε ‘ το στοιχείο θα εισαχθεί ‘πριν’ τον δείκτη πίσω’ τι εννοούμε; Όπως κοιτάμε την ουρά στα δεξιά η στα αριστερά του δείκτη ‘πίσω’?
Παναγιώτη αν το δεις απάντησε μου αν μπορείς.

Ευχαριστώ
Σπύρος

evry

υποθέτω ότι εννοούμε στην επόμενη κενή θέση η οποία είναι στη θέση δεξιά από τον πίσω, οπότε και ο πίσω αυξάνεται κατά 1 και πάει και αυτός δεξιά
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Spyridon

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

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

evry

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

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

Παράθεση από: Spiridon στις 12 Μαΐου 2009, 06:15:09 ΜΜ
Και εγώ συμφωνώ , η μάλλον συμφωνούσα, απόλυτα με αυτό μέχρι που κάποιος μαθητής μου με ρώτησε γιατί το πριν να είναι στα δεξιά και όχι στα αριστερά του ‘πίσω’ έτσι λοιπόν στην προσπάθεια μου να βρω ένα παράδειγμα να του πω σκεφτικά το εξής, το οποίο όμως ενισχύει τη δική του άποψη.

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

P.Tsiotakis

Ας υποθέσουμε οτι έχω μια ουρά 10 θέσεων και περιέχρι 3 στοιχεία μόνο στις θέσεις 4, 5, 6. Τη φαντάζομαι στο μυαλό μου όπως η ουρά στην παράγραφο 3.5 του σχολικού.

Ο δείκτης εμπρός = 4
και   πίσω = 6.

"Πριν τον δείκτη πίσω..." τι εννοεί;

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

Καρκαμάνης Γεώργιος

Λίγο άσχετο με το αρχικό ερώτημα:

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

Αρκετοί μαθητές μου εκφράζουν την εξής απορία:
Γιατί σχεδιάζουμε την ουρά ώστε να βάζουμε από την  δεξιά πλευρά  και να βγάζουμε από την αριστερή και να μην την σχεδιάζουμε με αντίθετη φορά;

Μια καλή απάντηση είναι αυτή του Παναγιώτη : Γιατί έτσι το έχει το βιβλίο.

P.Tsiotakis

Επίσης, μπορούμε να απάντάμε "γιατί δεν είμαστε Άραβες"

gpapargi

Αν θέλεις να βάλεις από δεξιά προς τα αριστερά δεν υπάρχει πρόβλημα. Αρκεί να έχεις το 1 στα δεξιά. Ένας άραβας για παράδειγμα θα έβαζε το 1 δεξιά και τα στοιχεία από δεξιά προς τα αριστερά, αλλά ουσιαστικά θα έκανε το ίδιο πράγμα. Αυτό που έχει σημασία είναι η αντιστοίχιση των στοιχείων με τις τιμές των δεικτών και όχι η αντιστοίχιση των τιμών των δεικτών με τη θέση πάνω στο χαρτί. (Πέρα από αυτό η ουρά είναι κυκλική πράγμα που δεν το «ζωγραφίζουμε» φέτος).

Να ένα παράδειγμα που λίγο πολύ το κάνουμε όλοι: Όταν σχεδιάζουμε μονοδιάστατο πίνακα κάθετο βάζουμε το 1 πάνω. Όταν σχεδιάζουμε στοίβα υλοποιημένη με πίνακα βάζουμε το 1 κάτω. Πίνακα ζωγραφίζουμε και στις 2 περιπτώσεις και πάντα το πρώτο στοιχείο μπαίνει στο 1. Αλλάζει όμως η αντιστοίχιση του 1 στο χαρτί.

Πάντως θα μπορούσαμε να υλοποιήσουμε ουρά γεμίζοντας από το 10 προς το 1 αν και θα ήταν κάπως ανορθόδοξο, αλλά αν οι πράξεις είναι υλοποιημένες σωστά και ξέρουμε που είναι το «μπροστά» και που το «πίσω» δε βλέπω πρόβλημα. Ο πίνακας είναι απλά μια δομή που «φιλοξενεί» την αφηρημένη δομή δεδομένων της στοίβας/ουράς. Αν το κάνεις με δείκτες δε δεσμεύεσαι τόσο στο σχέδιο και βλέπεις πιο εύκολα γεμίσματα και προς τις 2 κατευθύνσεις.

Πάντως στην ερώτηση του Παναγιώτη δε βλέπω κανένα πρόβλημα. Το πριν έχει να κάνει με την τιμή του δείκτη. Στην ουρά η εισαγωγή γίνεται πάντα μετά τον δείκτη «rear». Όπως κι αν έχεις ζωγραφίσει την ουρά εμπεριέχεται η έννοια του «πριν» και του «μετά». Ο παναγιώτης υπονοεί το ορθόδοξο γέμισμα (από το 1 προς το 10) και το πριν σημαίνει "μικρότερη" τιμή δείκτη. Το μικρότερη το βάζω σε εισαγωγικά γιατί ουσιαστικά είναι "κυκλικά μικρότερη" τιμή.

Spyridon

#8
Παράθεση από: gpapargi στις 13 Μαΐου 2009, 08:59:42 ΠΜ
Πάντως στην ερώτηση του Παναγιώτη δε βλέπω κανένα πρόβλημα. Το πριν έχει να κάνει με την τιμή του δείκτη. Στην ουρά η εισαγωγή γίνεται πάντα μετά τον δείκτη «rear». Όπως κι αν έχεις ζωγραφίσει την ουρά εμπεριέχεται η έννοια του «πριν» και του «μετά». Ο παναγιώτης υπονοεί το ορθόδοξο γέμισμα (από το 1 προς το 10) και το πριν σημαίνει "μικρότερη" τιμή δείκτη. Το μικρότερη το βάζω σε εισαγωγικά γιατί ουσιαστικά είναι "κυκλικά μικρότερη" τιμή.

Αυτό ακριβώς ήθελα να ρωτήσω. Μιλώντας πάντα για ‘ορθόδοξο γέμισμα’ είχα την εντύπωση ότι το ‘πριν’ δεν σημαίνει σε θέση μικρότερη από τον ‘πίσω’ ,δηλαδή στα αριστερά του ‘πίσω’, αλλά σε θέση μεγαλύτερη του ‘πίσω’ δηλαδή στα δεξιά του όπως είπε και ο Ευριπίδης. Έτσι λοιπόν δίνοντας το διαγώνισμα σε 4 μαθητές μου,(ευχαριστώ Παναγιώτη) οι 3 θεώρησαν ότι το πριν είναι στα δεξιά του ‘πίσω’ και έτσι μου έγραψαν ότι αυτή η πρόταση είναι σωστή. Ο ένας μου έγραψε το αντίθετο και αυτό ήταν κάτι που με έβαλε σε σκέψεις και έκανα την ερώτηση. Γιατί προφανώς όλοι ήξεραν ότι δεν μπορούν να βάλουν ένα στοιχείο σε θέση του πίνακα που ήδη έχει στοιχείο αλλά παρόλα αυτά θεωρώ ότι μπερδεύτηκαν με την εκφώνηση για το τι σημαίνει ‘πριν’ και ‘μετά’. Η ερώτηση μου δεν έχει να κάνει με το ποια είναι η σωστή φορά γεμίσματος του πίνακα, αλλά, παίρνοντας σα δεδομένη την ‘ορθόδοξη φορά’ με το ποιο είναι το ‘πριν’ και ποιο το ‘μετά’.

Σπύρος

gpapargi

Λοιπόν… λέγοντας ορθόδοξο γέμισμα εννοούμε από το 1 προς το 10 είτε αυτό αποτυπώνεται στο χαρτί από αριστερά προς τα δεξιά είτε από δεξιά προς τα αριστερά.
Το «πριν» και το «μετά» λοιπόν πρέπει να ακολουθεί το «πριν» και το «μετά» στους αριθμούς. Άρα κάπως απλοϊκά «πριν» = μικρότερο και «μετά» = μεγαλύτερο.
Βέβαια ξαναλέω ότι η ουρά είναι κυκλική οπότε μετά το 10 είναι το 1.

Βασικά αυτό που συμβαίνει είναι ότι είναι ορισμένη μια θετική φορά και με βάση αυτήν ορίζεται το πριν και το μετά. Ότι κι αν συμβαίνει όμως πάντα η εισαγωγή γίνεται στη θέση που είναι «κυκλικά μετά» το rear.

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