Τολμώ να πω ότι μέχρι τώρα όλα όσα έχω "ποστάρει" θέλησα συνειδητά να στηρίζονται στην αυστηρή στατικότητα των πινάκων της ΓΛΩΣΣΑΣ! Για αυτό αναφερόμουν συνεχώς στο "υποθετικό-άνω-όριο"... Δεν θέλησα να ξεστρατίσω από αυτή τη γραμμή. Διάβαζα συνεχώς τις απόψεις κι άλλων συναδέλφων (π.χ. sstergou και gthal - τους οποίος έχω γνωρίσει κι από κοντά... και εκτιμώ πάρα πολύ!), με τις οποίες έτσι κι αλλιώς συμφωνώ, αλλά δεν είχα θελήσει να αγγίξω στην παρούσα φάση γιατί βασίζονταν σε άλλη επιχειρηματολογία...
Η αλήθεια πάντως είναι ότι η έννοια της στατικότητας στο βιβλίο "μπάζει" και επιδέχεται πολλές ερμηνίες...
Π.χ. στη σελ. 218: "
Με την επιστροφή στο κύριο πρόγραμμα όλες οι θέσεις μνήμης που είχαν δοθεί στη διαδικασία απελευθερώνονται".
Δηλαδή όταν έχουμε πίνακα ως παράμετρο στην κλήση μιας διαδικασίας τότε έχουμε (κατά την εκτέλεση!) δέσμευση στη μνήμη όσων θέσεων απαιτεί ο πίνακας, οι οποίες απελευθερώνονται κατά την επιστροφή. Αν η διαδικασία ξανακληθεί τότε ο πίνακας (κι ας είναι στατική δομή!) ξαναδεσμεύεται και κατά την επιστροφή ξανααποδεσμεύεται. Όλα αυτά κατά τη διάρκεια της εκτέλεσης!!! Κατά τη διάρκεια του προγραμματισμού απλώς ο προγραμματιστής καθορίζει μέσα στη διαδικασία το max των θέσεων που ΘΑ χρειαστούν. Το τελευταίο μάλιστα είναι ασάφεια του βιβλίου αφού πολλοί ισχυρίζονται ότι το max στη δήλωση του πίνακα μέσα στο υποπρόγραμμα θα μπορούσε να είναι μεταβλητή (...). Αφού ο πίνακας κατά την εκτέλεση τη μια δεσμεύεται και την άλλη αποδεσμεύεται τότε ποιο θα ήταν το πρόβλημα αν όντως ήταν διαφορετικό κάθε φορά το μέγεθός του;
Επιπρόσθετα, στη σελ. 26 έχουμε: "Έξοδος (output).
Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή
προς έναν άλλο αλγόριθμο"
Δηλαδή ... έχουμε δυνατότητα κλήσης (και επιστροφής) αλγορίθμου μέσα από άλλο αλγόριθμο; Δηλαδή να συμπεριφέρεται ένας αλγόριθμος ως διαδικασία που καλείται από αλλού; Ποιοι θα είναι τότε οι παράμετροι; Μήπως τα Δεδομένα // Α, Ν // θα είναι οι παράμετροι εισόδου και τα Αποτελέσματα // Α, Χ, Υ, Ζ // θα είναι οι παράμετροι εξόδου; Μήπως τότε ο πίνακας Α θα είναι διαφορετικού μεγέθους Ν κάθε φορά (γιατί διαφορετικά δεν θα αξιοποιείται σωστά η δυνατότητα του τμηματικού προγραμματισμού); Μήπως τελικά όταν λέμε Δεδομένα // Ν // να μην εννοούμε μόνο ότι το Ν είναι απλά κάτι δεδομένο και γνωστό από τον ίδιο τον προγραμματιστή, αλλά ότι θα μπορεί να το δίνει ο χρήστης μέσω της γραμμής εντολών; (π.χ. C:\program_name -20 [και άρα το Ν θα είναι 20]);
Σίγουρα τα πράγματα είναι πιο σύνθετα και πολύπλοκα από ό,τι δείχνουν αρχικά και επομένως το να απομονώνουμε μία μόνο φράση (π.χ. σελ. 56) δεν οδηγεί σε ασφαλή συμπεράσματα!
