@AK: Συμφωνώ με το σκεπτικό σου, αλλά δεν είναι τόσο τραγικό όσο ακούγεται. Μπορούμε π.χ. να δηλώσουμε τους πίνακες έτσι ώστε να έχουν το ίδιο μέγεθος και ας χρησιμοποιούμε λιγότερες θέσεις (αυτό που είπε και ο Παναγιώτης παραπάνω - ίσως όχι τόσο εξτρεμιστικά

). Τα ίδια πράγματα ισχύουν και στην Pascal (εκτός κι αν επιλέξει κάποιος να περάσει pointer και όχι πίνακα).
Το να επιτρεπόταν μεταβλητός αριθμός στοιχείων σε πίνακες-παραμέτρους δε θα είχε μόνο θετικά, θα είχε και αρνητικές επιπτώσεις στην εκπαιδευτική πρακτική. Θα χρειαζόταν και ένας τρόπος να οριστεί το
μέγεθος της κάθε διάστασης του πίνακα. Γι' αυτό βέβαια θα μπορούσαν να προταθούν αρκετοί τρόποι, φαντάσου όμως να χρειαζόταν να εξηγήσεις στους μαθητές το παρακάτω:
[glossa]ΔΙΑΔΙΚΑΣΙΑ ΕκτύπωσηΔισδιάστατουΠίνακα(Α)
ΜΕΤΑΒΛΗΤΕΣ
ΠΡΑΓΜΑΤΙΚΕΣ: Α[?, ?] !Ένα θέμα εδώ, με τι διάσταση πρέπει να δηλωθεί;
ΑΚΕΡΑΙΕΣ: ι, κ
ΑΡΧΗ
ΓΙΑ ι από 1 μέχρι ΠάνωΌριοΠίνακα(Α, 1) !Το πάνω όριο της πρώτης διάστασης
ΓΙΑ κ από 1 μέχρι ΠάνωΌριοΠίνακα(Α, 2) !Το πάνω όριο της δεύτερης διάστασης
ΓΡΑΨΕ Α[ι, κ]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ[/glossa]
Δηλαδή θα έπρεπε π.χ. να τους εξηγούμε ότι για να πάρουμε το μέγεθος της κάθε διάστασης ενός πίνακα θα πρέπει να καλέσουμε την ενσωματωμένη συνάρτηση ΠάνωΌριοΠίνακα κτλ κτλ και φυσικά για τους μαθητές θα ήταν πιο δύσκολο.
Ένας άλλος τρόπος θα ήταν να έχουμε "μαγικές δηλώσεις", π.χ.
ΠΡΑΓΜΑΤΙΚΕΣ: Α[Ν, Μ]
και αυτόματα να θεωρείται ότι δηλώθηκαν δυο σταθερές, οι Ν και οι Μ, οι οποίες θα είναι διαφορετικές σε κάθε εκτέλεση του υποπρογράμματος, και εκφράζουν τις διαστάσεις του πίνακα... Πάλι δύσκολο να το εξηγήσεις.
Αυτό που προσπαθώ να πω είναι ότι
θα δυσκόλευε κι εμάς και τα παιδιά.