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

Πέτρος Κ.

  • Βετεράνος
  • ****
  • Μηνύματα: 99
Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« στις: 22 Ιούν 2015, 08:53:23 μμ »
Δεν έχω καταλάβει τι εννοεί ο ποιητής;

Είδα στο βιβλίο του καθηγήτή ότι υπάρχουν οι αλγόριθμοί για Ωθηση / Απώθηση και Εισαγωγή / Εξαγωγή για τις ΔΤ3 και ΔΤ4.
α) Οι μαθητές θα τους θεωρούν δεδομένους ως υποπρόγραμματα και θα τους χρησιμοποιούν στα προγράμματά τους;
β) Θα πρέπει οι μαθητές να ξέρουν να τους υλοποιούν σε ΓΛΩΣΣΑ;
γ) Γιατί στην Ωθηση και Απώθηση δίνει δεδομένο το TOP? Αυτή η μεταβλήτή λογικά είναι εσωτερική της δομής και δεν είναι προσπελάσιμη απ'έξω!
δ) Ο πίνακας Stack πως και που θα δηλωθεί;
ε) Πως μπορώ να χρησιμοποιήσω 2 ή περισσότερες στοίβες σε ένα πρόγραμμα; Πώς δηλώνω μία στοίβα σε ΓΛΩΣΣΑ;

Rathaniel

  • Βετεράνος
  • ****
  • Μηνύματα: 77
  • Έπρεπε να είχα γίνει Χημικός......
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #1 στις: 25 Ιούν 2015, 07:48:59 πμ »
α) Πολύ αμφιβάλλω για τους αλγορίθμους σε υποπρογράμματα.
β)Πιστεύω πως ναι θα πρέπει. Το πρόβλημα όμως θα πρέπει να είναι με πολύ καλή περιγραφή για να καταλάβει κάποιος τις απαιτήσεις στοίβας-ουράς.Ειδικά όμως για την ουρά θα πρέπει το πρόβλημα που δίνεται να έχει αρκετές παραδοχές. Ο τρόπος υλοποίησης της ουράς στο βιβλίο είναι εντελώς λάθος προγραμματιστικά (γιατί κανονικά γίνεται με δείκτες), οπότε θα πρέπει να ελαχιστοποιηθούν οι απαιτήσεις από το πρόβλημα.
γ)Αν θεωρείται δεδομένο, τότε στο πρόβλημα θα πρέπει να λεει ότι το δίνει ο χρήστη με Διάβασε. Συμφωνω με την προσπελασιμότητα, η top θα αλλάζει από μόνη της από το πρόγραμμα.
δ)
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΟΣ: Stack[20]
το πρόβλημα θα πρέπει υποχρεωτικά να περιγράφει το μέγεθος της στοίβας.   
ε)Για την δήλωση, σου απάντησα στο δ. Τώρα η χρήση έχει καποια τυποποιημένη διαδικασία προγραμματιστική (έλεγχοι υπερχείλισης-υποχείλισης με χρήση της top, αλλαγή της top, κοκ), αλλά όλα εξαρτούνται από την περιγραφή του προβλήματος. Για το "2 ή περισσότερες" θα έλεγα ότι μπορεί να έχεις δύο στοίβες σαν να είναι δύο παράλληλοι πίνακες (ονόματα βιβλίων και βάρη βιβλίων) , ή να είναι δύο στοίβες διαφορετικές (Στοίβα_βιβλίων1  και Στοίβα_βιβλίων2) και να ελέγχεται σε ποιά από τις δύο έγιναν οι περισσότερες λειτουργίες, ή αν στο τέλος μιας επαναληπτικής διαδικασίας η Στοίβα1 έχει περισσότερα βιβλία από την άλλη.

Η χρήση στοίβας σε πρόγραμμα δεν θα δημιουργήσει πρόβλημα. Τώρα για την ουρά.....
Χρηστίδης Αλέξανδρος,
Μηχανικός Επ/κών και Πλη/κών Συστημάτων,
Msc Στα Προηγμένα Συστήματα Πληροφορικής

Sergio

  • Αστέριος Φανίκος, Καθηγητής Πληροφορικής, fanikosaATschDOTgr
  • Δεινόσαυρος
  • *****
  • Μηνύματα: 801
  • Κάλλιο γνώση, παρά γρόσι.. (ΛΑΪΚΗ ΠΑΡΟΙΜΙΑ)
    • Προσωπική Σελίδα
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #2 στις: 27 Ιούν 2015, 10:07:29 πμ »
Η υλοποίηση της στοίβας με πίνακα δε νομίζω πως θα προβληματίσει τους μαθητές.

Για την ουρά διατηρώ κάποιες επιφυλάξεις λόγω της "κυκλικής" λειτουργίας των δεικτών front και rear όταν η υλοποίηση γίνεται με πίνακα ..  :-\
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

Πέτρος Κ.

  • Βετεράνος
  • ****
  • Μηνύματα: 99
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #3 στις: 10 Ιούλ 2015, 09:16:40 μμ »
Αναρωτιέμαι, πώς θα απαντήσουμε στην παρακάτω άσκηση:

Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ το οποίο, χρησιμοποιώντας δομή στοίβας, να διαβάζει 5 αριθμούς και να τους εμφανίζει με αντίστροφη σειρά.

nikolasmer

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 539
  • There can be only one...may it be AEPP.
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #4 στις: 10 Ιούλ 2015, 09:54:19 μμ »
Αναρωτιέμαι, πώς θα απαντήσουμε στην παρακάτω άσκηση:

Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ το οποίο, χρησιμοποιώντας δομή στοίβας, να διαβάζει 5 αριθμούς και να τους εμφανίζει με αντίστροφη σειρά.

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

Μερεντίτης Νικόλαος
Καθηγητής Πληροφορικής - Φροντιστής

Κανένας

  • Βετεράνος
  • ****
  • Μηνύματα: 52
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #5 στις: 10 Ιούλ 2015, 10:07:26 μμ »
Αναρωτιέμαι, πώς θα απαντήσουμε στην παρακάτω άσκηση:

Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ το οποίο, χρησιμοποιώντας δομή στοίβας, να διαβάζει 5 αριθμούς και να τους εμφανίζει με αντίστροφη σειρά.
Πέτρο, πέντε ωθήσεις και μετά πέντε απωθήσεις.
ΝΙΚΗΦΟΡΟΣ ΜΑΝΔΗΛΑΡΑΣ
ΓΕΛ ΝΑΞΟΥ

Diotima

  • Επισκέπτης
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #6 στις: 10 Ιούλ 2015, 11:30:23 μμ »
Αναρωτιέμαι, πώς θα απαντήσουμε στην παρακάτω άσκηση:

Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ το οποίο, χρησιμοποιώντας δομή στοίβας, να διαβάζει 5 αριθμούς και να τους εμφανίζει με αντίστροφη σειρά.
Κι εγώ δε νομίζω ότι έχει νόημα αυτή η διατύπωση άσκησης σαν εφαρμογή της στοίβας. Λύνεται απλά χωρίς τις λειτουργίες της στοίβας. Θα ήταν καλύτερα νομίζω να ζητείται να γίνει ώθηση 5 αριθμών σε μια στοίβα και απώθηση τους στη συνέχεια.
Εμένα αυτό που με προβληματίζει και σε σχέση με τη συζήτηση που γίνεται εδώ είναι η εξής παρατήρηση από τη διδακτέα-εξεταστέα ύλη:

"Να προστεθούν ασκήσεις στη στοίβα και ουρά που επίσης θα υλοποιηθούν απ’ευθείας σε ΓΛΩΣΣΑ και με την πρόσθεση της ενότητας 3.9 που θα διδαχθεί."

Γιατί συνδέουν τις ασκήσεις σε στοίβα και ουρά με την ενότητα 3.9;
Μήπως εννοούν ότι θα διδαχθούν με τη δομή της λίστας;
Παρακάτω βέβαια οι παρατηρήσεις λένε:

"Οι δυναμικές δομές της ενότητας 3.9 (λίστες, δένδρα, γράφοι) να διδαχθούν αποκλειστικά ως θεωρία."
Μήπως λοιπόν οι δυναμικές δομές διδαχθούν θεωρητικά μόνο και ασκήσεις σε αυτές θα γίνουν μόνο για τη στοίβα και την ουρά;
Αν είναι έτσι βέβαια, τότε η υλοποίηση της στοίβας και της ουράς με πίνακα στο 3ο κεφάλαιο δε θα συμφωνεί με τις ασκήσεις.
Νομίζω λοιπόν ότι χρειάζονται απαραίτητα διευκρινήσεις για τις παρατηρήσεις και δε μπορούμε να βγάλουμε σίγουρα συμπεράσματα τώρα. Αν δε διευκρινιστούν αυτά δε μπορούμε να σκεφτόμαστε ασκήσεις.

Πέτρος Κ.

  • Βετεράνος
  • ****
  • Μηνύματα: 99
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #7 στις: 11 Ιούλ 2015, 09:46:11 πμ »
Λύνεται απλά χωρίς τις λειτουργίες της στοίβας. Θα ήταν καλύτερα νομίζω να ζητείται να γίνει ώθηση 5 αριθμών σε μια στοίβα και απώθηση τους στη συνέχεια.

Το ξέρω ότι λύνεται πιο απλά χωρίς στοίβα. Αλλά εγώ θέλω να δώ στην πράξη πώς δηλώνουμε την στοίβα σε ένα πρόγραμμα σε ΓΛΩΣΣΑ και πώς εκτελούμε τα push και pop...

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2211
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #8 στις: 11 Ιούλ 2015, 11:36:36 πμ »
Δεν θα την δηλώσουμε σαν πίνακα;;;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Diotima

  • Επισκέπτης
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #9 στις: 11 Ιούλ 2015, 01:23:16 μμ »
Αυτό δε μπορώ να καταλάβω Πέτρο:

"Να προστεθούν ασκήσεις στη στοίβα και ουρά που επίσης θα υλοποιηθούν απ’ευθείας σε ΓΛΩΣΣΑ και με την πρόσθεση της ενότητας 3.9 που θα διδαχθεί."

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

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2211
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #10 στις: 11 Ιούλ 2015, 03:59:56 μμ »
Μάλλον λάθος διατύπωση θα έλεγα
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Diotima

  • Επισκέπτης
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #11 στις: 11 Ιούλ 2015, 05:28:07 μμ »
Συμφωνώ μαζί σου Πέτρο, μετά από πολύ σκέψη και μελέτη όσων είναι στο βιβλίο μαθητή και καθηγητή, μάλλον η σύνδεση της στοίβας και της ουράς με την παράγραφο 3.9 στη διατύπωση ήταν άστοχη, μπορεί ακόμα και ο άνθρωπος που την έγραψε να είχε στο μυαλό του δυναμικούς πίνακες ή και τίποτα από αυτά, οπότε σταματώ να προβληματίζομαι. Από κάπου πρέπει να ξεκινήσουμε. Αν τυχόν αύριο ανατραπούν τα πράγματα βλέπουμε.

Diotima

  • Επισκέπτης
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #12 στις: 11 Ιούλ 2015, 06:26:46 μμ »
Έφτιαξα δύο διαδικασίες για ώθηση και απώθηση των αριθμών και ένα πρόγραμμα που τις καλεί και υλοποιεί την άσκηση που τέθηκε παραπάνω. Το πρόγραμμα χρησιμοποιεί μια στοίβα με 100 θέσεις.

ΠΡΟΓΡΑΜΜΑ ΠΕΝΤΕ_ΑΡΙΘΜΟΙ_ΣΕ_ΣΤΟΙΒΑ
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Stack[100], i, top, number, item
   ΛΟΓΙΚΕΣ: done
ΑΡΧΗ
   top <-- 0
   ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
      ΔΙΑΒΑΣΕ number
      ΚΑΛΕΣΕ ΩΘΗΣΗ (Stack, number, top, done)
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 5
      ΚΑΛΕΣΕ ΑΠΩΘΗΣΗ (Stack, item, top, done)
      ΓΡΑΨΕ item
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ ΩΘΗΣΗ (Stack, item, top, done)
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Stack[100], item, top
   ΛΟΓΙΚΕΣ: done
ΑΡΧΗ
   ΑΝ top < 100 ΤΟΤΕ
      top <-- top + 1
      Stack[top] <-- item
      done <-- ΑΛΗΘΗΣ
   ΑΛΛΙΩΣ
      done <-- ΨΕΥΔΗΣ
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

ΔΙΑΔΙΚΑΣΙΑ ΑΠΩΘΗΣΗ (Stack, item, top, done)
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Stack[100], item, top
   ΛΟΓΙΚΕΣ: done
ΑΡΧΗ
   ΑΝ top <> 0 ΤΟΤΕ    ! ή top > = 1
      item <-- Stack[top]
      top <-- top - 1
      done <-- ΑΛΗΘΗΣ
   ΑΛΛΙΩΣ
      done <-- ΨΕΥΔΗΣ
   ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

Diotima

  • Επισκέπτης
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #13 στις: 11 Ιούλ 2015, 11:08:33 μμ »
Επισυνάπτω ένα αρχείο με την πρώτη και δεύτερη άσκηση που έγραψα που είναι αυτή:
α) Να γράψετε πρόγραμμα που θα διαβάζει 10 ακεραίους αριθμούς και θα κάνει εισαγωγή των αριθμών σε μια ουρά 10 θέσεων, στη συνέχεια να εξαχθούν 6 αριθμοί οι οποίοι θα εμφανίζονται με τη σειρά που εξάγονται και να εισαχθούν άλλοι 3 ακέραιοι αριθμοί.
Να εμφανιστούν κατά σειρά οι αριθμοί που βρίσκονται στο τέλος μέσα στην ουρά.
β) Το πρόγραμμα θα καλεί τις διαδικασίες ΕΙΣΑΓΩΓΗ και ΕΞΑΓΩΓΗ που θα υλοποιούν τις αντίστοιχες λειτουργίες της ουράς τις οποίες και θα γράψετε. Αν η ουρά γεμίσει αλλά έχει άδειες θέσεις μπροστά, τότε να μεταφέρονται τα στοιχεία που βρίσκονται στην ουρά μπροστά ώστε να συνεχίζεται η διαδικασία της εισαγωγής.
Θα επιστρέφονται από τις διαδικασίες οι λογικές τιμές ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ αναλόγως αν η εισαγωγή ή η εξαγωγή στοιχείου στην ουρά έγιναν επιτυχώς ή όχι.

tdrivas

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 607
  • κάποτε έκαιγαν βιβλία,τώρα καίνε μυαλά...
Απ: Aσκήσεις σε στοίβα και ουρά σε ΓΛΩΣΣΑ
« Απάντηση #14 στις: 12 Ιούλ 2015, 12:04:58 μμ »
Γράψτε πρόγραμμα που διαβάζει χαρακτήρα προς χαρακτήρα μία πρόταση και ελέγχει αν οι παρενθέσεις που ανοίγουν είναι ίσες με αυτές που κλείνουν. Μία καλή προσέγγιση είναι να χρησιμοποιήσετε μία στοίβα. Όταν διαβαστεί μία αριστερή παρένθεση πρέπει να εισάγεται στην στοίβα και όταν διαβαστεί μία δεξιά παρένθεση πρέπει μία αριστερή να απωθείται από την στοίβα. Αν η στοίβα είναι κενή στο τέλος της πρότασης σημαίνει ότι η πρόταση είναι σωστή συντακτικά όσο αναφορά τον αριθμό των παρενθέσεων
Thanassis Drivas
BSc in Computer Science
MSc in Space Science Applications and Technologies