Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Θεωρία => Μήνυμα ξεκίνησε από: gtk στις 13 Απρ 2010, 01:03:04 ΠΜ

Τίτλος: Η χρήση στοίβας στην κλήση διαδικασιών (Λάθος σχολικού;)
Αποστολή από: gtk στις 13 Απρ 2010, 01:03:04 ΠΜ
στη σελ. 219 το παράδειγμα του σχολικού γράφει:
Για παράδειγμα, έστω ότι μία διαδικασία a  καλεί τη διαδικασία b, που με τη σειρά της καλεί τη διαδικασία c  κοκ. Στην περίπτωση αυτή οι διευθύνσεις επιστροφής εμφανίζονται στη στοίβα με σειρά c,b,a.
Μήπως η σωστή διατύπωση πρέπει να είναι:
Για παράδειγμα, έστω ότι μία διαδικασία a  καλεί τη διαδικασία b, που με τη σειρά της καλεί τη διαδικασία c  κοκ. Στην περίπτωση αυτή οι διευθύνσεις επιστροφής εμφανίζονται στη στοίβα με σειρά γ, β, α και όχι τα ονόματα των διαδικασιών όπως σαφέστατα φαίνεται στο σχήμα του σχολικού βιβλίου;
Τίτλος: Απ: Η χρήση στοίβας στην κλήση διαδικασιών (Λάθος σχολικού;)
Αποστολή από: P.Tsiotakis στις 13 Απρ 2010, 10:54:45 ΠΜ
στη στοίβα χρόνου εκτέλεσης μπαίνουν οι διευθύνσεις επιστροφής, όχι τα ονόματα των υποπρογραμμάτων
Τίτλος: Απ: Η χρήση στοίβας στην κλήση διαδικασιών (Λάθος σχολικού;)
Αποστολή από: gtk στις 13 Απρ 2010, 12:27:58 ΜΜ
Συμφωνούμε λοιπόν ότι πράγματι υπάρχει αστοχία του σχολικού βιβλίου...
Τίτλος: Απ: Η χρήση στοίβας στην κλήση διαδικασιών (Λάθος σχολικού;)
Αποστολή από: gthal στις 16 Απρ 2010, 01:19:38 ΜΜ
Επίσης, μόλις παρατήρησα ότι το βιβλίο λέει:
Παράθεση
Όταν μία διαδικασία ή συνάρτηση καλείται από
το κύριο πρόγραμμα, τότε η αμέσως επόμενη διεύθυνση του κύριου προ-
γράμματος, που ονομάζεται διεύθυνση επιστροφής (return address), α-
ποθηκεύεται από το μεταφραστή σε μία στοίβα που ονομάζεται στοίβα
χρόνου εκτέλεσης (execution time stack).
Ποιος είναι πάλι ο μεταφραστής ? Έχει ξαναμιλήσει για μεταφραστή?
Μπας και εννοεί το μεταγλωττιστή ή διερμηνευτή ?
Και εντάξει, ο διερμηνευτής μπορεί να έχει αυτό το "καθήκον". Ο μεταγλωττιστής όμως ????   :D
Τίτλος: Απ: Η χρήση στοίβας στην κλήση διαδικασιών (Λάθος σχολικού;)
Αποστολή από: P.Tsiotakis στις 17 Απρ 2010, 04:28:00 ΜΜ
στην αρχή της παραγράφου 6.7 αναφέρει πως μεταφραστικά προγράμματα είναι ο μεταγλωττιστής και ο διερμηνευτής
Τίτλος: Απ: Η χρήση στοίβας στην κλήση διαδικασιών (Λάθος σχολικού;)
Αποστολή από: gthal στις 17 Απρ 2010, 06:51:53 ΜΜ
Ωραία, αλλά ο μεταγλωττιστής όμως δεν μπορεί να κάνει τέτοια δουλειά !
Τίτλος: Απ: Η χρήση στοίβας στην κλήση διαδικασιών (Λάθος σχολικού;)
Αποστολή από: sstergou στις 17 Απρ 2010, 07:50:49 ΜΜ
Σίγουρα υπάρχει πρόβλημα σε αυτό το σημείο.
Το θέμα έχει ξανασυζητηθεί https://alkisg.mysch.gr/steki/index.php?topic=1878.0

Γιατί όμως δεν μπορεί ο μεταγλωττιστής να το κάνει;
Τίτλος: Απ: Η χρήση στοίβας στην κλήση διαδικασιών (Λάθος σχολικού;)
Αποστολή από: gthal στις 18 Απρ 2010, 12:16:48 ΠΜ
Γιατί αυτά συμβαίνουν σε real time κατά την εκτέλεση του προγράμματος και όχι κατά τη μεταγλώττιση.
Πού να ξέρει ο μεταγλωττιστής αν θα γίνει κλήση στο υποπρόγραμμα, πότε θα γίνει και από ποιο σημείο;
Τίτλος: Απ: Η χρήση στοίβας στην κλήση διαδικασιών (Λάθος σχολικού;)
Αποστολή από: tom στις 18 Απρ 2010, 01:11:09 ΠΜ
Παιδιά νομίζω πως η διαχείριση της στοίβας χρόνου εκτέλεσης γίνεται από το Λ.Σ, οπότε μην τσακώνεστε.  :)
Τίτλος: Απ: Η χρήση στοίβας στην κλήση διαδικασιών (Λάθος σχολικού;)
Αποστολή από: sdancer75 στις 21 Απρ 2010, 10:34:10 ΠΜ
Παράθεση από: gtk στις 13 Απρ 2010, 01:03:04 ΠΜ
στη σελ. 219 το παράδειγμα του σχολικού γράφει:
Για παράδειγμα, έστω ότι μία διαδικασία a  καλεί τη διαδικασία b, που με τη σειρά της καλεί τη διαδικασία c  κοκ. Στην περίπτωση αυτή οι διευθύνσεις επιστροφής εμφανίζονται στη στοίβα με σειρά c,b,a.
Μήπως η σωστή διατύπωση πρέπει να είναι:
Για παράδειγμα, έστω ότι μία διαδικασία a  καλεί τη διαδικασία b, που με τη σειρά της καλεί τη διαδικασία c  κοκ. Στην περίπτωση αυτή οι διευθύνσεις επιστροφής εμφανίζονται στη στοίβα με σειρά γ, β, α και όχι τα ονόματα των διαδικασιών όπως σαφέστατα φαίνεται στο σχήμα του σχολικού βιβλίου;

Αφού ξεκαθαρίζει ότι στη στοίβα μπαίνουν οι διευθύνσεις επιστροφής με τη σειρά που αναφέρει ποιο είναι το πρόβλημα ? Δεν λέει ότι στη στοίβα μπαίνουν τα ονόματα των διαδικασιών έλεος !
Τίτλος: Απ: Η χρήση στοίβας στην κλήση διαδικασιών (Λάθος σχολικού;)
Αποστολή από: gtk στις 28 Απρ 2010, 12:29:01 ΠΜ
Αγαπητέ συνάδελφε sdancer75, το σχολικό λέει :
Για παράδειγμα, έστω ότι μία διαδικασία a  καλεί τη διαδικασία b , που με τη σειρά της καλεί τη διαδικασία c . Στην περίπτωση αυτή οι διευθύνσεις επιστροφής εμφανίζονται στη στοίβα με σειρά c, b, a. Άρα στο κείμενο αυτό  c, b, a είναι διευθύνσεις επιστροφής ή ονόματα διαδικασιών;
Το σωστό για μένα είναι το γ,β,α.
Και τέλος, χαρακτηρισμοί του τύπου ...έλεος... δεν νομίζω ότι είναι δόκιμος όρος. Πρόσεξε καλύτερα την έκφρασή σου και κοίταξε το σχολικό βιβλίο πιο προσεκτικά.
Ευχαριστώ
Μάχιμος εκπαιδευτικός (gtk)