Αποστολέας Θέμα: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ  (Αναγνώστηκε 26376 φορές)

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 328
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #105 στις: 04 Νοέ 2015, 02:29:49 μμ »
Στις ασκήσεις σου δεν έχεις όμως το τι θα  επιστρέφει το πρόγραμμα σε περίπτωση υπερχείλισης-υποχείλισης! Και επιπλέον και οι δυο ασκήσεις ζητούν ουσιαστικά την επανάληψη του κώδικα για την ουρά! Δεν είναι κάπως κουραστικό αυτό; (αν πέσουν μαζί...δηλαδή;)

mokasa

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 26
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #106 στις: 04 Νοέ 2015, 09:24:07 μμ »
Θα ήθελα κάποια σχόλια - παρατηρήσεις για τις ασκήσεις, αν κάποιος έχει χρόνο και διάθεση, ευχαριστώ!
(EDIT) Διόρθωσα το αρχείο, ζητώ συγνώμη για την καθυστέρηση. Επίσης αφαίρεσα μια άσκηση με ουρά, καθώς στις πρόσφατες οδηγίες αναφέρεται ότι ασκήσεις σε γλώσσα με χρήση πίνακα μπορούν να υλοποιηθούν μόνο για τη δομή της στοίβας.
« Τελευταία τροποποίηση: 30 Δεκ 2015, 09:03:51 πμ από Lorien »

NiColas1957

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 318
  • Animus Facit Nobilem
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #107 στις: 11 Νοέ 2015, 09:19:53 μμ »
ο ΚΒ ???

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 879
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #108 στις: 12 Νοέ 2015, 09:45:08 πμ »
Θα ήθελα κάποια σχόλια - παρατηρήσεις για τις ασκήσεις, αν κάποιος έχει χρόνο και διάθεση, ευχαριστώ!
Το αρχείο σου έχει κάποιο πρόβλημα (μηδενικό μέγεθος??)
Φιλικά,
Γιώργος Θαλασσινός

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2444
  • I 'm not young enough to know everything
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #109 στις: 01 Δεκ 2015, 12:04:13 μμ »
Το ερώτημα για μένα είναι το πόσο θα το τραβήξουμε. Το πιο καλό θα ήταν να μπουν ασκήσεις που δικαιολογούν τη χρήση στοίβας-ουράς. Πχ σε πίνακα 2 διαστάσεων υπάρχουν μόνο 0 και 1. Όσα 1 είναι γειτονικά αποτελούν μια νησίδα. Να δίνεται μια θέση που έχει 1 και να βρίσκουμε το πλήθος των 1 που περιλαμβάνει η συγκεκριμένη νησίδα.
Αν περιγράψουμε τον τρόπο χρήσης ουράς στην άσκηση, γίνεται (πχ βρίσκεις τους γείτονες του αρχικού σημείου που είναι 1, τους βάζεις σε μια ουρά και μετά βγάζεις από την ουρά ένα στοιχείο και βάζεις τους γείτονες του κλπ κλπ). Επίσης ασκήσεις που βγαίνουν αναδρομικά μπορούν να χρησιμοποιηθούν σαν παραδείγματα στοίβας αφού η αναδρομή και η στοίβα συνδέονται. Αλλά το θέμα είναι πόσο θέλουμε και πόσο πρέπει να το τραβήξουμε.

Γιάννης Αναγνωστάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 796
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #110 στις: 10 Απρ 2016, 12:10:13 πμ »
Εγώ θέλω να κάνω μία ερώτηση σε όσους έχουν διδάξει ασκήσεις με στοίβα

Όπου έχει προκύψει ανάγκη για απώθηση, κάνετε αντικατάσταση της τιμής που απωθείται με άλλη (π.χ stack[top]<-- '-', όπως κάνουν στην άσκηση - υπόδειγμα των οδηγιών); Και απο που στην εκφώνηση αυτή των οδηγιών προκύπτει 'ανάγκη' για αντικατάσταση του αριθμού κυκλοφορίας με '-'

Επίσης αν θέλει ένας μαθητής να  εμφανίσει τα περιεχόμενα μίας στοίβας , δεν μπορεί  απλά να κάνει μία επανάληψη απο 1 μέχρι top (ή αντίστροφα); Γιατί πρέπει να εφαρμόσει τον αλγόριθμο της απώθησης;

Και αφού υλοποιούμε τις στοίβες με πίνακες, γιατί να μην επιτρέπεται ας πούμε μία αντιμετάθεση τιμών; μία ταξινόμηση; Πως αντιμετωπίζουμε τους μαθητές που ρωτάνε αυτές τις εύλογες απορίες;


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


pstasinos

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 44
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #111 στις: 10 Απρ 2016, 12:26:52 πμ »
Εγώ θέλω να κάνω μία ερώτηση σε όσους έχουν διδάξει ασκήσεις με στοίβα

Όπου έχει προκύψει ανάγκη για απώθηση, κάνετε αντικατάσταση της τιμής που απωθείται με άλλη (π.χ stack[top]<-- '-', όπως κάνουν στην άσκηση - υπόδειγμα των οδηγιών); Και απο που στην εκφώνηση αυτή των οδηγιών προκύπτει 'ανάγκη' για αντικατάσταση του αριθμού κυκλοφορίας με '-'

Επίσης αν θέλει ένας μαθητής να  εμφανίσει τα περιεχόμενα μίας στοίβας , δεν μπορεί  απλά να κάνει μία επανάληψη απο 1 μέχρι top (ή αντίστροφα); Γιατί πρέπει να εφαρμόσει τον αλγόριθμο της απώθησης;

Σωστή παρατήρηση. Προσωπικά το θέμα το έχω συζητήσει αρκετά με τους μαθητές μου. Αν η άσκηση που έχουν να αντιμετωπίσουν , αρχικά γεμίζει μια στοίβα και θέλοντας να υπολογίσουν κάτι απλά την αδειάζουν , και εκεί να τελειώνει η άσκηση , τότε απλά τους έχω πει το top <- top -1 . Αλλιώς θέλει προσοχή όπως αναφέρεις.
Συμφωνώ πως απλά με μία επανάληψη , εμφανίζει κάποιος τις τιμές . Δεν έχει νόημα ο αλγόριθμος της απώθησης.
Σε ποιο υπόδειγμα οδηγιών αναφέρει την αντικατάσταση του stack[top] ; Ευχαριστώ

dski

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 181
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #112 στις: 10 Απρ 2016, 01:44:30 πμ »
Επίσης αν θέλει ένας μαθητής να  εμφανίσει τα περιεχόμενα μίας στοίβας , δεν μπορεί  απλά να κάνει μία επανάληψη απο 1 μέχρι top (ή αντίστροφα); Γιατί πρέπει να εφαρμόσει τον αλγόριθμο της απώθησης;

Και αφού υλοποιούμε τις στοίβες με πίνακες, γιατί να μην επιτρέπεται ας πούμε μία αντιμετάθεση τιμών; μία ταξινόμηση; Πως αντιμετωπίζουμε τους μαθητές που ρωτάνε αυτές τις εύλογες απορίες;

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

Το θέμα αυτό έχει ξανατεθεί στο Στέκι πριν λίγο καιρό. Δείτε τη σχετική συζήτηση εδώ.

Γιάννης Αναγνωστάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 796
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #113 στις: 10 Απρ 2016, 08:46:35 πμ »
Κατά την άποψή μου στη στοίβα, ως αφηρημένη δομή δεδομένων, οι μόνες αποδεκτές ενέργειες/λειτουργίες είναι η ώθηση και η απώθηση. Οποιαδήποτε άλλη λειτουργία θα πρέπει να υλοποιείται με χρήση αυτών. Αν κανείς ορίσει και άλλες ενέργειες (π.χ. προσπέλαση και εμφάνιση των στοιχείων μέσω μιας επανάληψης) τότε η δομή δεν είναι πλέον στοίβα αλλά κάτι άλλο.

Το θέμα αυτό έχει ξανατεθεί στο Στέκι πριν λίγο καιρό. Δείτε τη σχετική συζήτηση εδώ.

Συμφωνώ μαζί σου, απλά παιδαγωγικά και διδακτικά η όλη ιστόρια 'μπάζει'...

Γιάννης Αναγνωστάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 796
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #114 στις: 10 Απρ 2016, 08:56:46 πμ »
Σωστή παρατήρηση. Προσωπικά το θέμα το έχω συζητήσει αρκετά με τους μαθητές μου. Αν η άσκηση που έχουν να αντιμετωπίσουν , αρχικά γεμίζει μια στοίβα και θέλοντας να υπολογίσουν κάτι απλά την αδειάζουν , και εκεί να τελειώνει η άσκηση , τότε απλά τους έχω πει το top <- top -1 . Αλλιώς θέλει προσοχή όπως αναφέρεις.
Συμφωνώ πως απλά με μία επανάληψη , εμφανίζει κάποιος τις τιμές . Δεν έχει νόημα ο αλγόριθμος της απώθησης.
Σε ποιο υπόδειγμα οδηγιών αναφέρει την αντικατάσταση του stack[top] ; Ευχαριστώ

Στο παράδειγμα που υπάρχει στις επίσημες οδηγίες, στην άσκηση  με το οχηματαγωγό πλοίο

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2167
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #115 στις: 10 Απρ 2016, 11:08:13 πμ »
Η δική μου άποψη είναι ότι η στοίβα είναι απλά ένας τρόπος υλοποίησης μιας λειτουργίας, δηλαδή LIFO
Και εφόσον την υλοποιούμε με πίνακα, οτιδήποτε δεν παραβιάζει την λειτουργία LIFO, δεν είναι λάθος
Αν πχ πρέπει να εμφανίσουμε όλα τα αυτοκίνητα που υπάρχουν στο πλοίο, δεν υπάρχει κανένας λόγος να τα εμφανίσουμε από την κορυφή προς τα κάτω
Ο σκοπός της διδασκαλίας της στοίβας είναι να κατανοήσουν τα παιδιά την λειτουργία LIFO θεωρητικά και με κώδικα
Από εκεί και πέρα, οι ασκήσεις μπορούν να "ξεχειλώσουν" όπως κάθε άσκηση προγραμματισμού

ΥΓ. Για τις '-' Γιάννη, ασχολίαστο..
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

xara_pap

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #116 στις: 11 Απρ 2016, 03:10:29 μμ »
Εφόσον γίνεται υλόποίηση με πίνακα δεν θα σου έβγαζε σφάλμα να εμφανίσεις από 1 μεχρι Top. Όμως η λογική της στοίβας είναι ότι έχουμε προσβαση μόνο στο κορυφαίο στοιχείο της στοίβας. Άρα για να τα προσπελάσεις πρέπει να κάνεις απώθηση. Ακόμη εγώ είπα στα παιδιά για παράδειγμα σε μία άσκηση που έχει ο κυριος Καρκαμάνης με ηλεκτρονικό κατάστημα που βάζει προιόντα στο καλάθι και βγάζει κι εν τέλει ρωτάει τι λεφτα θα πληρώσει ο πελάτης, όποιος πάει να το βρεί το άθροισμα αφού τελειώσει η επανάληψη ότι πρέπει να φάινεται ξεκάθαρα ότι ο top μειώνεται σε κάθε επανάληψη κατά ένα και οχι απλως να προσθέσουν ανάποδα όλα τα στοιχεία. Μέχρι να έχουμε παραπάνω πληροφορίες καλύτερα να είμαστε όσο πιο αναλυτικοί γίνεται. Όσο για την αντικατάσταση με την παύλα γνώμη μου είναι ότι είναι βλακεία και δεν το είπα στα παιδιά μιας και στις οδηγίες έχει υλοποίηση ώθησης απώθησης και δεν την βάζει την παύλα αρα στηρίχθηκα πάνω σε αυτό παρόλο που στο ferry boat το βάζει. Τους είπα να το βάλουν μόνο αν λέει η άσκηση να αντικαταστήσεις το στοιχείο με πάυλα ή οτιδήποτε άλλο.
Αν και πιστεύω ότι φέτος μόνο θεωρητικές ασκήσεις θα βάλουν και το πολύ να κάνουμε μία ώθηση και απώθηση σε πρώτο δεύτερο θέμα πολύ απλή.