Πολύ καλή ανάλυση που επικεντρώνει στην ουσία του προβλήματος κύριε Στεργου. Όμως στην ψευδογλώσσα έχουμε στατικούς πίνακες, πως να το κάνουμε.
Δεν είναι μόνο το βιβλίο. Είναι και ο τρόπος διδασκαλίας μας. Αλήθεια συνάδελφοι πόσοι από εμάς διδάσκουμε στους μαθητές μας να χρησιμοποιούν πίνακα σε όλες τις ασκήσεις εκτός από αυτές με τιμή φρουρό άσχετα αν χρειάζεται ή όχι?
Πόσοι λέμε στους μαθητές μας στην ψευδογλώσσα να ένας πίνακας 100 θέσεων ή Ν θέσεων. Μήπως είμαστε και εμείς υπεύθυνοι για όλα αυτά?
Στα περισσότερα συμφωνώ με εσάς αλλά στο παράδειγμα που δώσατε αν αλλάξω τις σταθερές και βάλω μεταβλητές (η ιδέα είναι αντίστοιχη με το πρόβλημα που έχει δημιουργηθεί)
ποια είναι η γνώμη σας?
Ψευδογλώσσα και στατικοί πίνακες
Αλγόριθμος τάδε
Για ι από 1 μέχρι 200
Διάβασε Πιν[ι]
Τέλος_επανάληψης
Πιν[201] <- 5
ή ακόμη καλύτερα :
Αλγόριθμος τάδε
Διάβασε μ
Αν μ = 200 τότε
Διάβασε κ
Για ι από 1 μέχρι κ
Διάβασε Πιν[ι]
Τέλος_επανάληψης
αλλιώς_αν μ = 300 τότε
Διάβασε λ
Για ι από 1 μέχρι λ
Διάβασε Πιν[ι]
Τέλος_επανάληψης
Τέλος_αν
Το συμπέρασμα είναι ότι από την στιγμή που δεν δηλώνονται οι πίνακες δεν υπάρχει τρόπος για τον εκτελεστή να ξέρει πριν την εκτέλεση πόσες θέσεις θα δεσμεύσει.
Αυτό σημαίνει ότι για όλες τις περιπτώσεις αλγορίθμων με πίνακες που δεν εισάγονται με Δεδομένα οι πίνακες είναι δυναμικοί ή αλλιώς οι ασκήσεις δεν λύνονται με στατικούς πίνακες.
Συμφωνώ απόλυτα, αλλά θα πρέπει να αποφασίσουμε ποιο από τα 2 θα δεχτούμε αλλά όχι και τα δύο ή να δεχόμαστε ότι μας συμφέρει κάθε φορά (δεν μιλάω για σας)
α) Το βιβλίο μας πλασάρει έναν λανθασμένο ορισμό για τις στατικές δομές
β) Ορίζει την ψευδογλώσσα λέγοντας ότι χρησιμοποιεί στατικές δομές
Ακριβώς όμως πάμε με βάση το βιβλίο, δεν έχουμε άλλη επιλογή, μακάρι να είχαμε
Αλήθεια αν αυτή η φράση με τις στατικές δομές έπεφτε ΣΛ τι θα ζητάγαμε από τους μαθητές? Δηλαδή όταν τους ρωτάμε στη θεωρία για τις στατικές δομές και τα μειονεκτήματα των πινάκων τότε έχουμε σαν ευαγγέλιο το βιβλίο, αλλά στις ασκήσεις τους ζητάμε άλλα? οι ασκήσεις δεν είναι η εφαρμογή της θεωρίας?
γ) Όλοι οι αλγόριθμοι που αναφέρονται στο βιβλίο είτε καταστρατηγούν και τον ορισμό που έχει δώσει για τις στατικές δομές είτε η εκτέλεσή τους προυποθέτει δυναμικές δομές.
Με συγχωρείτε εδώ θα διαφωνήσω, υποθέτω ότι αναφέρεστε στην δήλωση Δεδομένα // // . Δεν είναι όμως εκτελέσιμη εντολή έτσι δεν είναι. Δηλαδή αυτό που προσπαθώ να πω τόση ώρα είναι ότι το μέγεθος του πίνακα προκύπτει ως ενδιάμεσο αποτέλεσμα του αλγόριθμου και για αυτό δεν μπορεί να χρησιμοποιηθεί σε στατικούς πίνακες.
Ελπίζω τουλάχιστον να συμφωνείτε με αυτό