Αποστολέας Θέμα: Απορία στην Στοιβα  (Αναγνώστηκε 3893 φορές)

konnacarmen

  • Μηχανικών Η/Υ
  • Θαμώνας
  • ***
  • Μηνύματα: 36
Απορία στην Στοιβα
« στις: 08 Μαρ 2021, 08:05:28 μμ »
καλησπέρα σε όλους, μπορεί να είναι χαζή η ερώτηση μου αλλα εχω φάει μεγάλο σκάλωμα, Ξέρουμε οτι οταν χρησιμοποιούμε για την στοίβα την διαδικασία εξαγωγής όλων των στοιχείων χρησιμοποιούμε την Μέχρις_ότου.... η ερώτηση μου ειναι μπορούμε να χρησιμοποιήσουμε πχ και την ΓΙΑ ή πρέπει επειδή την διαδάσκουμε με την συγκεκριμένη δομή επανάληψης να χρησιμοποιήσουμε αυτη??


Ευχαριστω πολυυυυυυυυυ

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2370
Απ: Απορία στην Στοιβα
« Απάντηση #1 στις: 08 Μαρ 2021, 08:15:48 μμ »
Ίσα ίσα
Μια υλοποίηση με "Για" είναι πολύ πιο λογική!
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

konnacarmen

  • Μηχανικών Η/Υ
  • Θαμώνας
  • ***
  • Μηνύματα: 36
Απ: Απορία στην Στοιβα
« Απάντηση #2 στις: 08 Μαρ 2021, 08:31:06 μμ »
τελεια ευχαριστω παρα πολυ

P.Tsiotakis

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3320
    • P.Tsiotakis
Απ: Απορία στην Στοιβα
« Απάντηση #3 στις: 09 Μαρ 2021, 09:17:19 πμ »
το μέχρις_ότου μάλλον χρησιμοποιήθηκε για να μπορεί να έχει διπλή χρήση:
α) εξαγωγή κάποιων στοιχείων μέχρι ο χρήστης να επιλέξει διακοπή
β) εξαγωγή όλων

ενώ το ΓΙΑ καλύπτει μόνο το β. Προφανώς οποιαδήποτε κωδικοποίηση υλοποιεί την επεξεργασία FIFO είναι ορθή

konnacarmen

  • Μηχανικών Η/Υ
  • Θαμώνας
  • ***
  • Μηνύματα: 36
Απ: Απορία στην Στοιβα
« Απάντηση #4 στις: 26 Μαρ 2021, 01:35:31 μμ »
Καλησπλέρα να κάνω μια ερώτηση ακόμα.

Η ερώτηση τα δεδομένα μιοα στοίβας και μιας ουράς αποθυκευόνται στον σκληρο δίσκο Σωστό ή Λάθος? εγω θεωρώ οτι είναι σωστό καθώς βασίζονται στην δομή του πίνακα που ειναι στατική άρα τα δεδομένα του αποθηκεύονται στον σκληρό.

parsenopoulou

  • Οπαδός
  • **
  • Μηνύματα: 19
Απ: Απορία στην Στοιβα
« Απάντηση #5 στις: 26 Μαρ 2021, 03:19:29 μμ »
Kαλησπέρα.
Σύμφωνα με το σχολικό βιβλίο, στο κεφάλαιο 3, οι πίνακες είναι δομές κύριας μνήμης . Αφού λοιπόν η στοίβα και η ουρά υλοποιούνται με πίνακες, είναι κ αυτές δομές κύριας μνήμης, οπότε μιλάμε για προσωρινή αποθήκευση και όχι για μόνιμη όπως στην περίπτωση του σκληρού δίσκου. Άρα κατά την προσωπική μου εκτίμηση  η πρόταση είναι λάθος.

George Eco

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 469
Απ: Απορία στην Στοιβα
« Απάντηση #6 στις: 27 Μαρ 2021, 04:41:32 πμ »
Kαλησπέρα.
Σύμφωνα με το σχολικό βιβλίο, στο κεφάλαιο 3, οι πίνακες είναι δομές κύριας μνήμης . Αφού λοιπόν η στοίβα και η ουρά υλοποιούνται με πίνακες, είναι κ αυτές δομές κύριας μνήμης, οπότε μιλάμε για προσωρινή αποθήκευση και όχι για μόνιμη όπως στην περίπτωση του σκληρού δίσκου. Άρα κατά την προσωπική μου εκτίμηση  η πρόταση είναι λάθος.

Συμφωνώ. Πολύ απλά, για να γράψεις σε σκληρό δίσκο, χρειάζεστε εντολές διαχείρισης αρχείων. Η ΓΛΩΣΣΑ δε διαθέτει τέτοες εντολές. Στη RAM υλοποιούνται οι δομές αυτές.
« Τελευταία τροποποίηση: 27 Μαρ 2021, 04:59:23 πμ από George Eco »

konnacarmen

  • Μηχανικών Η/Υ
  • Θαμώνας
  • ***
  • Μηνύματα: 36
Απ: Απορία στην Στοιβα
« Απάντηση #7 στις: 29 Μαρ 2021, 09:51:27 μμ »
ωραια ευχαριστω παρα πολυυυυυυ

thaaanos

  • Βετεράνος
  • ****
  • Μηνύματα: 52
Απ: Απορία στην Στοιβα
« Απάντηση #8 στις: 06 Απρ 2021, 12:43:54 μμ »
Ίσα ίσα
Μια υλοποίηση με "Για" είναι πολύ πιο λογική!
Θα διαφωνήσω εδώ για "φιλοσοφικούς" λόγους, η χρήση της στοίβας πρέπει να γίνει μέσω της εξαγωγής, μέχρις ότου να αδειάσει. (ή όσο δεν είναι άδεια να εξάγεις)
Κώδικας: [Επιλογή]
 
ΓΙΑ TOP ΑΠΟ TOP ΜΕΧΡΙ 1 ΜΕ ΒΗΜΑ -1
    ΓΡΑΨΕ ΣΤΟΙΧΕΙΑ[TOP]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Το παραπάνω όσο λιτό και απέριττο και δελεαστικό και αν είναι μου φαίνεται "κάπως". Και σίγουρα στο μάθημα "Δομές Δεδομένων" θα έπαιρνα 0 αν έγραφα κάτι τέτοιο λολ
« Τελευταία τροποποίηση: 06 Απρ 2021, 01:02:16 μμ από thaaanos »

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2370
Απ: Απορία στην Στοιβα
« Απάντηση #9 στις: 06 Απρ 2021, 02:57:25 μμ »
Δηλαδή, θέλω να αδειάσω πλήρως μια στοίβα από την θέση ΤΟΡ μέχρι την θέση 1 και δεν θα χρησιμοποιήσω δομή Για;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Πέτρος Κ.

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 119
Απ: Απορία στην Στοιβα
« Απάντηση #10 στις: 06 Απρ 2021, 10:34:54 μμ »
Μα έτσι συμπεριφέρεσαι ανάρμοστα   :o  στην δομή. 
Είναι μία αρχοντική, καθώς πρέπει, στοίβα και εσύ της συμπεριφέρεσαι σαν να είναι ένας απλός πίνακας.  :D

Δηλαδή, θέλω να αδειάσω πλήρως μια στοίβα από την θέση ΤΟΡ μέχρι την θέση 1 και δεν θα χρησιμοποιήσω δομή Για;

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3609
  • to Iterate is human to Recurse divine
Απ: Απορία στην Στοιβα
« Απάντηση #11 στις: 06 Απρ 2021, 10:39:49 μμ »
Κανονικά δεν θα έπρεπε να μπορείς να χρησιμοποιήσεις δομή Για για να διατρέξεις μια στοίβα.
Αυτό που περιγράφεται στο σχολικό βιβλίο προφανώς και δεν είναι στοίβα! Είναι ένας πίνακας που τον ονομάζουν στοίβα.
Όταν λέμε στοίβα θα έπρεπε να εννοούμε τον αφηρημένο τύπο δεδομένων (ADT) Στοίβα αλλά στη ΓΛΩΣΣΑ δεν μπορούμε να κάνουμε κάτι τέτοιο διότι δεν επιτρέπει τον διαχωρισμό interface/implementation. Μετά σου λέει  κάνουμε Αλγοριθμική και μαθαίνουν και τα παιδιά απέξω ότι κάνουν και τμηματικό προγραμματισμό.
Ο ADT Στοίβα έχει τρεις λειτουργίες:
1) Pop
2) Push
3) isEmpty   (ίσως isFull)
https://en.wikipedia.org/wiki/Stack_(abstract_data_type)

Δεν έχει κάτι άλλο. Αν θέλουμε να ξέρουμε πόσα στοιχεία έχει σημαίνει ότι έχουμε δει πέρα από το πρώτο κάτι που παραβιάζει αυτές τις βασικές λειτουργίες της στοίβας.
Υπάρχουν κάποιες υλοποιήσεις που επιτρέπουν επιπλέον λειτουργίες όπως π.χ. ο υπολογισμός του μεγέθους της, όμως στην γενική μορφή δεν επιτρέπεται.
Ωστόσο αν θέλαμε να ξέρουμε πόσα είναι τα στοιχεία της και να έχουμε πρόσβαση σε όλα χωρίς να κάνουμε Pop τότε γιατί να χρησιμοποιούμε Στοίβα και όχι ένα απλό Array?
Κανονικά η σωστή χρήση Στοίβας προϋποθέτει ότι ο κώδικας που την χρησιμοποιεί δεν θα αλλάξει καθόλου είτε υλοποιείται με πίνακα είτε με δυναμική δομή.
Εμείς πάμε κατευθείαν στην υλοποίηση με πίνακα, μιλάμε για Στοίβα, προκαλούμε στους μαθητές σύγχυση αλλά ... κάνουμε Αλγοριθμική και τμηματικό προγραμματισμό.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2843
  • Πύργος Ηλείας
Απ: Απορία στην Στοιβα
« Απάντηση #12 στις: 07 Απρ 2021, 10:20:01 πμ »
Κώδικας: [Επιλογή]
 
ΓΙΑ TOP ΑΠΟ TOP ΜΕΧΡΙ 1 ΜΕ ΒΗΜΑ -1
    ΓΡΑΨΕ ΣΤΟΙΧΕΙΑ[TOP]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

Να προσθέσω απλά ότι υπάρχει κι άλλο πρόβλημα στο παραπάνω, καθώς μεταβάλλεται η αρχική τιμή της ΓΙΑ.

thaaanos

  • Βετεράνος
  • ****
  • Μηνύματα: 52
Απ: Απορία στην Στοιβα
« Απάντηση #13 στις: 07 Απρ 2021, 10:57:56 πμ »
Να προσθέσω απλά ότι υπάρχει κι άλλο πρόβλημα στο παραπάνω, καθώς μεταβάλλεται η αρχική τιμή της ΓΙΑ.
Αφού δουλεύει ;)

ripper

  • Νέος
  • *
  • Μηνύματα: 9
Απ: Απορία στην Στοιβα
« Απάντηση #14 στις: 07 Απρ 2021, 01:19:23 μμ »
Μια χαρά δουλεύει η ΓΙΑ, αρκεί να είναι σε αυτήν τη μορφή:

ΓΙΑ Ι ΑΠΟ ΤΟΠ ΜΕΧΡΙ 1 ΜΕ_ΒΗΜΑ -1
    ΓΡΑΨΕ Α[Ι]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΟΠ <- 0