Παρασκευή 30 Απριλίου 2010

Στοίβα - Ουρά

Το "αγαπητό" βιβλίο σας, δεν ξεκαθαρίζει τι είδους δομές είναι επιτέλους η στοίβα και η ουρά.
Η απάντηση είναι προφανής: Πρόκειται για δυναμικές δομές δεδομένων.
Το βιβλίο σας της υλοποιεί με πίνακα (λογικό μιας και οι δυναμικές δομές είναι εκτός ύλης) συνεπώς υποχρεωτικά τις κάνει στατικές.
Στις πανελλήνιες, λογικά, δεν πρόκειται ποτέ να σας ρωτήσουν: "Η στοίβα είναι στατική δομή δεδομένων" (φυσικά και είναι λάθος η απάντηση) αλλά πιστεύω ότι θα ρωτήσουν: "Η στοίβα αν υλοποιηθεί με πίνακα είναι στατική δομή δεδομένων" (που φυσικά είναι σωστό).

Υπερχείλιση - Υποχείλιση

Υποχείλιση: θα συμβεί (σε μια ουρά ή σε μια στοίβα) αν προσπαθήσουμε να εξάγουμε - απωθήσουμε δεδομένο από μια άδεια δομή δεδομένων (ουρά ή στοίβα).

Υπερχείλιση: θα συμβεί (σε μια ουρά ή σε μια στοίβα) αν προσπαθήσουμε να εισάγουμε - ωθήσουμε δεδομένο σε μια δομή δεδομένων (ουρά ή στοίβα) η οποία είναι γεμάτη.

Το σχολικό βιβλίο υλοποιεί τις δομές ως στατικές οπότε είναι δυνατή η υπερχείλιση. Αν οι δομές υλοποιηθούν δυναμικά και πάλι είναι δυνατή η υπερχείλιση διότι η δυναμική μνήμη του Η/Υ δεν είναι άπειρη.

Παρασκευή 9 Απριλίου 2010

Υποπρογράμματα

Παράμετροι και υποπρογράμματα:

Το βιβλίο σας δεν αναφέρει πουθενά αν τα υποπρογράμματα πρέπει, υποχρεωτικά, να έχουν παραμέτρους.
Καλύτερα: αναφέρει μόνο για την διαδικασία στην σελίδα 214 (κίτρινο πλαίσιο) ότι δεν είναι υποχρεωτική η δήλωση παραμέτρων.

Θεωρείστε ότι μια διαδικασία μπορεί απλά να εμφανίζει ένα μήνυμα.

Όσο για τις συναρτήσεις πρέπει να έχουν τουλάχιστον μία παράμετρο αν και σε άλλες γλώσσες (όπως C, C++) δεν είναι υποχρεωτικές.