Επιχειρήματα μέσα από τα σχολικά βιβλία υπέρ της χρήσης πίνακα στο Γ

Ξεκίνησε από bagelis, 29 Μαΐου 2010, 01:20:01 ΜΜ

« προηγούμενο - επόμενο »

bagelis

Συνοψίζοντας την επιχειρηματολογία υπέρ του να γίνει δεκτή η λύση με πίνακες ΜΕΣΑ ΑΠΟ ΤΟ ΣΧΟΛΙΚΟ ΒΙΒΛΙΟ:

σελ 90 σχολικό βιβλίο (όπως πολύ εύστοχα εντόπισε ο συνάδελφος): Υλοποιεί αλγόριθμο χρημιμοποιώντας πίνακα με άγνωστο αρχικά πλήθος στοιχείων.
Αλγόριθμος Δύναμη2
Δεδομένα // a, b //
!Σχόλιο: αποθήκευση στοιχείων πίνακα
power[1] ← a
i ← 1
pow ← 1
Όσο pow < b επανάλαβε
i ← i+1
pow ← 2* pow
power ← power[i-1] * power[i-1]
Τέλος_επανάληψης
σελ 91 Τετράδιο Μαθητή: Ξεκάθαρα καθορίζει ότι σε πρόγραμμα πρέπει να θέσουμε ένα μέγιστο μέγεθος, αλλά σε αλγόριθμο δεν υπάρχει θέμα, το βλέπεις γενικά.
Παράδειγμα 3
Δίνονται δύο ταξινομημένοι κατά αύξουσα σειρά μονοδιάστατοι πίνακες, ακε-
ραίων αριθμών. Να γραφεί πρόγραμμα το οποίο να συγχωνεύει τους δύο πίνακες σε
ένα τρίτο ο οποίος να είναι επίσης ταξινομημένος κατά αύξουσα σειρά. Οι δύο αρχικοί
πίνακες δεν μπορούν να περιέχουν περισσότερα από 100 στοιχεία ο καθένας.
Η συγχώνευση είναι μία βασική λειτουργία των πινάκων και γενικότερα των δομών
δεδομένων. Στη συνέχεια δίνεται ένας πολύ απλός αλγόριθμος συγχώνευσης δύο τα-
ξινομημένων πινάκων σε ένα τρίτο ταξινομημένο πίνακα.
Θεωρείται ότι στην είσοδο του αλγορίθμου συγχώνευσης δίνονται δύο ταξινομημέ-
νοι, κατά αύξουσα σειρά, πίνακες Α και Β, μεγέθους Ν και Μ στοιχείων αντίστοιχα,
ενώ στην έξοδο προκύπτει ένας τρίτος πίνακας Γ μεΝ+Μταξινομημένα στοιχεία επί-
σης κατά αύξουσα σειρά.


σελ. 56 βιβλίο καθηγητή: Παραδέχεται σαφώς ότι ανάλογα με τα δεδομένα του προβλήματος μπορείς να θέσεις μέγιστο όριο, δεν έχει σημασία που το δείχνει σε μέγιστο, ουσιαστικά το επιχείρημα και στη δική μας περίπτωση είναι ίδιο. ΔΤ8.
To πρόβλημα αυτό ακολουθεί τον αλγόριθμο Ελάχιστη_Μέγιστη1 που δόθηκε
στο Παράδειγμα 3 (τιμές θερμοκρασίας από Μετεωρολογικό Κέντρο) του Τετρα-
δίου του Μαθητή.Χρειάζεται μόνο να δοθεί η κατάλληλη τιμή στις μεταβλητές
MIN και MAX σε σχέση με την εκφώνηση του προβλήματος.Ε
πομένως εάν δοθούν
αρχικά
ΜΙΝ ←1000000
ΜΑΧ ←0
δεν θα υπάρξει πρόβλημα με τον υπολογισμό του μικρότερου και του μεγαλύ-
τερου αριθμού προσπελάσεων.

bagelis

Το μοναδικό αντεπιχείρημα σε όσα διάβασα είναι:

Ο πίνακας είναι στατική δομή δεδομένων και σε αυτές το μέγεθος παραμένει σταθερό και ορίζεται κατά τη στιγμή του προγραμματισμού.

Σωστότατο, αλλά ζητώντας η επιτροπή αλγόριθμο δεν ζήτησε προγραμματισμό αλλά σχεδίαση αλγοριθμικής λύσης.


Πραγματικά όμως υπάρχει μία πολύ σοβαρή παγίδα: να μην μπορούμε να πείσουμε να λύνουν οι μαθητές ασκήσεις χωρίς πίνακες. Αυτό μπορει να λυθεί εύκολα με ΣΥΓΚΕΚΡΙΜΕΝΗ ΟΔΗΓΙΑ που θα δοθεί ΤΟΝ ΣΕΠΤΕΜΒΡΙΟ στα σχολεία, και θα είναι ξεκάθαρο από εδώ και πέρα.

bagelis

Ακόμα ένα επιχείρημα (κάποιος συνάδελφος το ανέφερε, ευχαριστούμε)

Σελ 32 Τετράδιο Μαθητή Αραιοί Πίνακες είναι προφανές ότι το μέγεθος του πίνακα που δημιουργείται καθορίζεται κατά τη στιγμή της εκτέλεσης. Δεν γνωρίζεις από πριν τον αριθμό των μη μηδενικών στοιχείων του δισδιάστατου πίνακα.

Αντί να αποθηκεύσουμε αυτόν το δισδιάστατο πίνακα 4x5, θα θεωρήσουμε ένα μο-
νοδιάστατο πίνακα όπου θα τοποθετήσουμε μόνο τα μη μηδενικά στοιχεία, για τα ο-
ποία όμως χρειαζόμαστε τα στοιχεία των αντίστοιχων γραμμών και στηλών. Έτσι κα-
ταλήγουμε κάθε μη μηδενικό στοιχείο να αντιπροσωπεύεται από μία τριάδα στοι-
χείων, δηλαδή <γραμμή,στήλη,τιμή>. Για το λόγο αυτό δημιουργούμε ένα μονοδιά-
στατο πίνακα 18 θέσεων για τα 6 μη μηδενικά στοιχεία του αρχικού πίνακα.[/b/

Άρης Κεσογλίδης

Συμφωνώ απόλυτα!!! :-)

Αλλιώς δεν έχει νόημα να μαθαίνουν τα παιδιά την ΨΕΥΔΟΓΛΩΣΣΑ, όπου ΜΑΘΑΙΝΟΥΝ ΝΑ ΕΣΤΙΑΖΟΥΝ ΣΤΙΣ ΕΝΕΡΓΕΙΕΣ, αλλά το μάθημα θα ήταν η διδασκαλία μιας ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΟΝΟ!!!!
Άρης Κεσογλίδης
Μαθηματικός
Μεταπτυχιακό στη "Θεωρητική Πληροφορική και Θεωρία Συστημάτων και Ελέγχου"

bagelis

τετράδιο μαθητή σελ. 35, κεφάλαιο 3  Παντελώς άγνωστος αριθμός δεδομένων...

ΔΣ4. Ενας μαθητής έχει μία συλλογή από δίσκους CD και για κάθε CD έχει καταγράψει
στον υπολογιστή τον τίτλο και την χρονιά έκδοσής του. Να ταξινομηθούν τα CD με
βάση την χρονιά τους και να υπολογισθεί ο αριθμός των CD που έχει ο μαθητής με
χρονολογία έκδοσης πριν από το 1995.

petrosp13

Ρε παιδιά, τι καθόμαστε και συζητάμε;
Όταν το βιβλίο αναφέρει στο Κεφάλαιο 3 ότι στατικές είναι οι δομές που ορίζεται το μέγεθος τους στο στάδιο του προγραμματισμού τους, τι συζητάμε;
Ποιου Προγραμματισμού τους;
Αυτού που θα ασχοληθούμε 3 και 4 κεφάλαια μετά;
Άλλο ένα σημείο που αναφέρονται ξεκρέμαστα πράγματα που υπάρχουν σε επόμενα κεφάλαια;

Το βιβλίο είναι κακή αντιγραφή και ράψιμο από επιστημονικά βιβλία πριν 12-13 χρόνια
Είναι ΚΑΚΙΣΤΟ και το ξέρουμε όλοι όσοι το διδάσκουμε τόσα χρόνια
Πόσοι από σας στο πρώτο μάθημα δεν λέτε στους μαθητές σας ότι το σχολικό βιβλίο είναι τραγικό και θα δουλέψουμε από το τάδε βοήθημα ή τις σημειώσεις μου;

Το θέμα ΕΛΗΞΕ. Σωστές και οι 2 λύσεις. Με την ψυχολογία των παιδιών δεν θα παίζουμε επειδή κάποιοι έβγαλαν θέματα ενώ είναι άπειροι. Εγώ κι εσείς δεν θα βγάζαμε τέτοιο θέμα. Αυτοί γιατί έβγαλαν;

ΤΕΛΟΣ
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

agrinio

"Διαβάζω εδώ και κάποιες ώρες όλες τις απόψεις περί του 3ου θέματος και
λόγω ΑΓΑΝΑΚΤΗΣΗΣ και δικών μου γνώσεων είπα να πώ και εγώ την
άποψη μου είδικά σε μαθητές που λένε να ακυρωθούν οι συμμάθητές τους...



σε καθηγητές που λένε να ακυρωθούν γραπτά κάποιων παιδιών και ειδικά
σε κάποιους φοιτητές που μάλλον τσάμπα κουβαλάνε την ταυτότητα του
φοιτητή.


Ποιος σας είπε ότι ο ΑΛΓΟΡΙΘΜΟΣ είναι εκτελέσιμη γλώσσα?

Ποιος σας είπε ότι η χρήση των μεταβλητών που κάνετε είναι σωστή?

Ποιος σας είπε ότι στον ΑΛΓΟΡΙΘΜΟ δεν μπορώ να κατασκευάσω ένα πίνακα
οποιαδήποτε στιγμή???

ΚΑΝΕΙΣ ΚΑΝΕΙΣ ΚΑΝΕΙΣ.

Το πιο απλό παράδειγμα είναι στους αραιούς (sparse matrices) πίνακες που απο δισδιάστατους
πρέπει να κατασκευάσουμε μονοδιάστατο.

ΚΑΙ ΣΑΣ ΞΑΝΑΡΩΤΑΩ ΠΟΙΟΣ ΣΑΣ ΕΙΠΕ ΟΤΙ ΣΤΟΝ ΑΛΓΟΡΙΘΜΟ ΕΧΩ ΚΑΝΟΝΕΣ???????????????
Σε μια γλώσσα που δεν εκτελείται και που μπορεί να αναπαρασταθεί με φυσική γλώσσα και με ελεύθερο
κείμενο βάζετε κανόνες για να δικαιολογήσετε την άγνοια σας και την ασχετοσύνη σας??????

Γράφω κώδικα σε τέτοιο επίπεδο και τόσα χρόνια, που όλη η επιτροπή εξετάσεων να μαζέψει τα ένσημα της σε γραφή κώδικα
δε φτάνει τα δικά μου.

Οι οδηγίες το γράφουν καθαρά............. ΓΡΑΦΤΕ ΑΛΓΟΡΙΘΜΟ............ ΟΠΟΙΑΔΗΠΟΤΕ ΛΥΣΗ ΕΙΝΑΙ ΣΩΣΤΗ ΕΠΙΣΤΗΜΟΝΙΚΑ ΕΙΝΑΙ
ΑΠΟΔΕΚΤΗ.

Και σε αυτό το θέμα οι λύσεις είναι πολλές και αποδεκτές (αναφορά στους άσχετους που λένε ότι έχει μόνο 2 λύσεις).

Ξαναλέω ο ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ κυρίοι είναι φαντασία και μετά γνώση.

Ποιος είμαι και τα λέω αυτά?
Ενας που έχει γράψει κώδικα για Σουηδικό Πολυτεχνείο, για σουηδική εταιρεία, για εταιρεία αμυντικών συστημάτων, για ΙΙΕΚ, για ΑΤΕΙ, για μία απο τις
μεγαλύτερες ΔΕΚΟ στην Ελλάδα.

Ολες οι λύσεις είναι σωστές. Διορθώστε τα όλα, αλλιώς σιωπήστε και η Επιτροπή και όλοι οι υπόλοιποι ποι στο βωμό του
να περάσω σε μία σχολή ας κόψουν τον κόπο των συμμαθητών τους."

ΜΗΧΑΝΙΚΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΣΤΗΜΑΤΩΝ - MSc in Scientific Computing


xara_pap

bagelis συγχαρητήρια για την επιχειρηματολογία σου. Αυτό πως μπορεί να πάει στο υπουργείο?


Obelix

Βιβλίο μαθητή, σελ. 191:

1) "Η απόφαση για την χρήση ή όχι πινάκα για την διαχείριση των δεδομένων είναι κυρίως θέμα εμπειρίας στον προγραμματισμό"

Απαιτούμε λοιπόν από τους μαθητές να διαθέτουν την εμπειρία αυτή???

2)" Η χρήση πινάκων είναι βολικός τρόπος για τη διαχείριση πολλών δεδομένων ίδιου τύπου"

Αν κάποιος μαθητής επικαλεστεί το εξής"επέλεξα λύση με πίνακες, έχοντας στον νου μου την πρόταση αυτή,θεωρώντας πως η λύση μου εξοικονομεί χρόνο και κάνει τον αλγόριθμό μου πιο εύκολο προς κατανόηση, διόρθωση,συντήρηση κτλ...."τι θα του απαντήσουμε??

3)Η παράγραφος 9.2 έχει τίτλο "Πότε πρέπει να χρησιμοποιούμε πίνακες". Θεωρεί κάποιος ότι  το περιεχόμενό της είναι σαφές, κατανοητό και με βάση αυτό ένας μαθητής έπρεπε να λύσει το επίμαχο θέμα χωρίς πίνακες?

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

bagelis

Πραγματικά όποιοι από μας συνηγορούν στο να αφαιρεθούν μονάδες από τη χρήση πίνακα πως μπορούν να αντιπαρέλθουν όλα αυτά τα σημεία των σχολικών βιβλίων?

(Το γράφω μόνο και μόνο για να ανέβει ψηλά το τόπικ και να το διαβάσουν συνέδελφοι που ενδεχομένως δεν το έχουν δει, συγνώμη)

Vangelis

Μάλιστα απο Σεπτέμβρη λοιπόν θα διδάσκουμε στα παιδιά το ρητό του "αγανακτησμένου" συναδέλφου

ΚΑΙ ΣΑΣ ΞΑΝΑΡΩΤΑΩ ΠΟΙΟΣ ΣΑΣ ΕΙΠΕ ΟΤΙ ΣΤΟΝ ΑΛΓΟΡΙΘΜΟ ΕΧΩ ΚΑΝΟΝΕΣ?


gpapargi

Βαγγέλη θα σου απαντήσω στα παραδείγματα που αναφέρεις μέσα από το διδακτικό πακέτο ωστόσο θεωρώ ότι έχω το δικαίωμα να σου κάνω την παρακάτω ερώτηση:
Ποιο παλιά σε συζήτηση της ομάδας διαγωνισμάτων είχε τεθεί αυτό το θέμα και είχες πει ρητά ότι θεωρείς λάθος τις λύσεις με πίνακα και σε ψευδογλώσσα.

Να και το link (είναι στον κλειστό πίνακα και μόνο τα μέλη της τότε ομάδας διαγωνισμάτων καθώς και οι γενικοί διαχειριστές μπορούν να το δουν). Είχες υποστηρίξει έντονα εκείνη την άποψη και εγώ είχα συμφωνήσει μαζί σου (και μάλιστα μου έκανε εντύπωση η θέση σου γιατί γενικά είσαι πολύ πιο ελάστικός με τη βαθμολόγηση από εμένα).

https://alkisg.mysch.gr/steki/index.php?topic=1075.msg6593#msg6593

Τι άλλαξε όμως τώρα; Άλλαξες άποψη; Αν ναι τότε το συζητάμε. Αν όμως απλά υποστηρίζεις αυτή τη θέση γιατί οι μαθητές σου δεν το έγραψαν, θα σου πω ότι και από τους δικούς μου μαθητές  ούτε ένας δεν το έγραψε σωστά. Μάλιστα ένας (προς τιμήν του) ομολόγησε ότι κατάλαβε ότι πρέπει να λυθεί χωρίς πίνακα, αλλά δεν μπορούσε να το λύσει. Οπότε σκέφτηκε ότι από το να μην το λύσει καθόλου καλύτερα να το κάνει με πίνακα. 

dokimos

Μήπως θα έπρεπε να το δούμε και εμείς;

Ή κάτι ακόμα μαγειρεύετε αγαπητοί διαχειριστές και ομάδες διαγωνισμάτων...

Με άλλα λόγια ήταν θέμα που είχε δημιουργηθεί στο Στέκι;

Αν είναι έτσι να πετάξουμε τις εξετάσεις στο αέρα... Δηλαδή κάποιος είχε βάλει θέμα στο διαγώνισμα στο στέκι... δεν πέρασε στο τελικό διαγώνισμα και το έβαλε στις εξετάσεις; Δηλαδή είναι κάποιος από το στέκι;

Τι γίνεται συνάδελφοι; Το κάναμε καφενείο;

gthal

Τι εννοείς "κάτι ακόμα" ?
Τι άλλο μαγειρέψαμε ?

Τι είναι όλα αυτά που λες ?
Φιλικά,
Γιώργος Θαλασσινός

gthal

Και εν παση περιπτώσει
ποιοι είμαστε εμεις εδώ στο στέκι ?
κάποιοι σαν κι εσένα που βρέθηκαν και συνεργάζονται εξ αποστάσεως και λένε τις απόψεις τους
Φιλικά,
Γιώργος Θαλασσινός

gthal

Φιλικά,
Γιώργος Θαλασσινός

bagelis

Παράθεση από: gpapargi στις 31 Μαΐου 2010, 09:20:13 ΠΜ
https://alkisg.mysch.gr/steki/index.php?topic=1075.msg6593#msg6593

Τι άλλαξε όμως τώρα; Άλλαξες άποψη; Αν ναι τότε το συζητάμε. Αν όμως απλά υποστηρίζεις αυτή τη θέση γιατί οι μαθητές σου δεν το έγραψαν, θα σου πω ότι και από τους δικούς μου μαθητές  ούτε ένας δεν το έγραψε σωστά. Μάλιστα ένας (προς τιμήν του) ομολόγησε ότι κατάλαβε ότι πρέπει να λυθεί χωρίς πίνακα, αλλά δεν μπορούσε να το λύσει. Οπότε σκέφτηκε ότι από το να μην το λύσει καθόλου καλύτερα να το κάνει με πίνακα. 

Όχι αν με ρωτάς δεν έχω αλλάξει άποψη. Το ίδιο πιστεύω και τώρα. Ασχέτως που το έλυσα με πίνακα εκείνη την ώρα ήταν βολικό. Και να σου πω την αλήθεια έχω μαθητές που το έλυσαν χωρίς πίνακα. Οπότε δεν πρόκειται για κάτι ιδιοτελές, ειλικρινά. Δεν μπορώ να το αποδείξω αλλά έτσι είναι. Όπως επίσης τους τρώω τα αυτιά να μην βάζουν πίνακα αν δεν ξέρουν μέγιστο πλήθος. Να το ξέρουν, όχι να το υποθέτουν.

Μέχρι εκεί θα συμφωνούσα. ΑΛΛΑ το θέμα ήταν απαράδεκτο. Δεν είναι απλά ότι έχεις άγνωστο πλήθος, είναι Γιώργο μου ότι σε οδηγεί να πάρεις πίνακες. Δεν έβαλαν ένα έξυπνο θέμα στα παιδιά έβαλαν συνειδητά μία παγίδα για να την πατήσουν. Και φαίνεται και από τα δείγματά μου. Αυτοί οι μαθητές που κατά τη ταπεινή μου άποψη ήταν καλύτεροι πήραν πίνακα, το πιστεύεις ότι πιο μέτριοι (αυτοί που λέμε πάνε με πεπατημένες) δεν πήραν πίνακα γιατί δεν έλεγε να πάρουν η εκφώνηση?

Όταν λοιπόν βλέπω ένα θέμα που ήθελε να είναι έξυπνη βόμβα και τελικά λειτούργησε ως ηλίθια, δεν μπορώ να επιτρέψω συνειδητά να το αφήσω να περάσει έτσι. Όταν το θέμα αυτό μετά από τόσο φασαρία αναδεικνύει τη γύμνιά μας είναι ΑΠΑΡΑΔΕΚΤΟ, κατ' εμέ πάντα, να αφαιρεθούν μονάδες από μαθητές.

Και πίστεψέ με από τη θέση μου τα δύσκολα θέματα με ευνούν... Δεν έχω κανένα μα κανένα προσωπικό ιδιοτελές κίνητρο σε αυτό που υποστηρίζω, όπως ξέρω πολύ καλά ότι δεν έχεις ούτε εσύ.

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

Θα επανέλθω αλλά με πιέζει ο χρόνος αυτή τη στιγμή...

Με εκτίμηση

gpapargi

Παράθεση από: dokimos στις 31 Μαΐου 2010, 09:31:26 ΠΜ
Μήπως θα έπρεπε να το δούμε και εμείς;

Ή κάτι ακόμα μαγειρεύετε αγαπητοί διαχειριστές και ομάδες διαγωνισμάτων...

Με άλλα λόγια ήταν θέμα που είχε δημιουργηθεί στο Στέκι;

Αν είναι έτσι να πετάξουμε τις εξετάσεις στο αέρα... Δηλαδή κάποιος είχε βάλει θέμα στο διαγώνισμα στο στέκι... δεν πέρασε στο τελικό διαγώνισμα και το έβαλε στις εξετάσεις; Δηλαδή είναι κάποιος από το στέκι;

Τι γίνεται συνάδελφοι; Το κάναμε καφενείο;


Dokime το θέμα που συζητήθηκε είναι το αν επιτρέπεται η χρήση πινάκων όταν το πλήθος είναι άγνωστο. Έτσι γενικά και αόριστα με αφορμή μια άσκηση με τμήματα που είχε προταθεί τότε. Να σου τη στείλω αν θέλεις. Δε συζητήθηκε το θέμα 3 των φετινών εξετάσεων... όπως κατάλαβες. Μέντιουμ είμαστε ή διαπλεκόμενοι;

Αλλά πέρα από αυτό, από ότι βλέπω είσαι και εσύ μέλος της φετινής ομάδας και μπορεί να δεις πως λειτουργεί. Ήμαρτον με τη συνομωσιολογία.

gpapargi

Παράθεση από: bagelis στις 31 Μαΐου 2010, 10:24:34 ΠΜ
Όχι αν με ρωτάς δεν έχω αλλάξει άποψη. Το ίδιο πιστεύω και τώρα. Ασχέτως που το έλυσα με πίνακα εκείνη την ώρα ήταν βολικό. Και να σου πω την αλήθεια έχω μαθητές που το έλυσαν χωρίς πίνακα. Οπότε δεν πρόκειται για κάτι ιδιοτελές, ειλικρινά. Δεν μπορώ να το αποδείξω αλλά έτσι είναι. Όπως επίσης τους τρώω τα αυτιά να μην βάζουν πίνακα αν δεν ξέρουν μέγιστο πλήθος. Να το ξέρουν, όχι να το υποθέτουν.

Μέχρι εκεί θα συμφωνούσα. ΑΛΛΑ το θέμα ήταν απαράδεκτο. Δεν είναι απλά ότι έχεις άγνωστο πλήθος, είναι Γιώργο μου ότι σε οδηγεί να πάρεις πίνακες. Δεν έβαλαν ένα έξυπνο θέμα στα παιδιά έβαλαν συνειδητά μία παγίδα για να την πατήσουν. Και φαίνεται και από τα δείγματά μου. Αυτοί οι μαθητές που κατά τη ταπεινή μου άποψη ήταν καλύτεροι πήραν πίνακα, το πιστεύεις ότι πιο μέτριοι (αυτοί που λέμε πάνε με πεπατημένες) δεν πήραν πίνακα γιατί δεν έλεγε να πάρουν η εκφώνηση?

Όταν λοιπόν βλέπω ένα θέμα που ήθελε να είναι έξυπνη βόμβα και τελικά λειτούργησε ως ηλίθια, δεν μπορώ να επιτρέψω συνειδητά να το αφήσω να περάσει έτσι. Όταν το θέμα αυτό μετά από τόσο φασαρία αναδεικνύει τη γύμνιά μας είναι ΑΠΑΡΑΔΕΚΤΟ, κατ' εμέ πάντα, να αφαιρεθούν μονάδες από μαθητές.

Και πίστεψέ με από τη θέση μου τα δύσκολα θέματα με ευνούν... Δεν έχω κανένα μα κανένα προσωπικό ιδιοτελές κίνητρο σε αυτό που υποστηρίζω, όπως ξέρω πολύ καλά ότι δεν έχεις ούτε εσύ.

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

Θα επανέλθω αλλά με πιέζει ο χρόνος αυτή τη στιγμή...

Με εκτίμηση

Βαγγέλη αν πιστεύεις κάτι τέτοιο μπορείς απλά να πεις ότι η επιτροπή έστησε παγίδα. Δεν είναι σωστό να επιχειρηματολογείς με τόση επιμονή ότι είναι σωστή η χρήση πίνακα όταν το πλήθος είναι άγνωστο.

Δεν έχω αντίρρηση να ασκήσουμε κριτική στην επιτροπή και να την κατηγορήσουμε. Αλλά να το κάνουμε για αυτό που είναι το παράπτωμά της. Όχι να την κατηγορούμε για άλλο πράγμα. Οι μαθητές που βλέπουν θα μεταφέρουν στραβά επιχειρήματα.
Άλλο να λέμε ότι η επιτροπή έβαλε παγίδα και άλλο να λέμε ότι έβαλε λάθος θέμα.   

batos

Παράθεση από: Vangelis στις 30 Μαΐου 2010, 09:28:28 ΜΜ
Μάλιστα απο Σεπτέμβρη λοιπόν θα διδάσκουμε στα παιδιά το ρητό του "αγανακτησμένου" συναδέλφου

ΚΑΙ ΣΑΣ ΞΑΝΑΡΩΤΑΩ ΠΟΙΟΣ ΣΑΣ ΕΙΠΕ ΟΤΙ ΣΤΟΝ ΑΛΓΟΡΙΘΜΟ ΕΧΩ ΚΑΝΟΝΕΣ?




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

Αν μιλάς για αλγόριθμο, όπως τον εννοεί το κεφ.2, τότε τουλάχιστον πρέπει να ισχύουν τα κριτήρια αλγορίθμων.

Αν γράφεις αλγορίθμους για να μην πάθεις αλτσχάιμερ, τότε μπορείς να τους γράφεις όπως θέλεις.

Αν όμως κάποιος κάνει μάθημα σε μαθητές, που θα εξεταστούν σε συγκεκριμένη ύλη, από εξεταστές που δε συμμερίζονται απαραίτητα τις δικές του απόψεις, τότε πρέπει να ακολουθεί συγκεκριμένη προσέγγιση "συμβατή" με το (πράγματι σε πολλά σημεία ασαφές) βιβλίο.


ΥΓ  Πολύ παλια (2000) είχαμε ταυτόχρονα δύο διδακτικά πακέτα, τα οποία πολλές φορές δεν είχαν την ίδια προσέγγιση. Δεν θυμάμαι τόση συζήτηση τότε. Αλλα βέβαια δεν είχαμε το forum....

ΥΓ 2 και μη φωνάζεις...

gpapargi

Παράθεση από: dokimos στις 31 Μαΐου 2010, 09:31:26 ΠΜ
Μήπως θα έπρεπε να το δούμε και εμείς;

Ή κάτι ακόμα μαγειρεύετε αγαπητοί διαχειριστές και ομάδες διαγωνισμάτων...

Με άλλα λόγια ήταν θέμα που είχε δημιουργηθεί στο Στέκι;

Αν είναι έτσι να πετάξουμε τις εξετάσεις στο αέρα... Δηλαδή κάποιος είχε βάλει θέμα στο διαγώνισμα στο στέκι... δεν πέρασε στο τελικό διαγώνισμα και το έβαλε στις εξετάσεις; Δηλαδή είναι κάποιος από το στέκι;

Τι γίνεται συνάδελφοι; Το κάναμε καφενείο;


Ορίστε η τότε άσκηση δόκιμε.

"Να γραφεί αλγόριθμος που διαβάζει το πλήθος των μαθητών ενός σχολείου και υπολογίζει τον αριθμό των τμημάτων που χρειάζονται για τη λειτουργία του σχολείου. (Κανένα τμήμα με βάση τον νόμο δεν μπορεί να περιέχει πάνω από 30 μαθητές) και εμφανίζει τον αριθμό των μαθητών σε κάθε τμήμα με την πρόβλεψη να είναι όσο το δυνατόν πιο κατανεμημένα (π.χ. αν οι μαθητές είναι 63 ο αλγόριθμος να δημιουργεί 3 τμήματα των 21 μαθητών το καθένα και όχι 2 τμήματα των 30 και ένα τμήμα των 3 μαθητών!!!)

Κατόπιν να διαβάζει ονοματεπώνυμο, βαθμό και φύλο για κάθε ένα μαθητή καθενός τμήματος και να εμφανίζει το ποσοστό αγοριών και κοριτσιών σε κάθε τμήμα, καθώς και το μέσο βαθμό του τμήματος. Σε κάθε τμήμα που αυτά τα στοιχεία παρουσιάζουν «απόκλιση» (Διαφορά στο ποσοστό αγοριών – κοριτσιών > 30%, μέσος βαθμός τμήματος <14) να εμφανίζεται κατάλληλο μήνυμα"

Σε παρακαλώ λίγο προσοχή όταν αφήνεις τέτοια υπονοούμενα πάνω σε ένα τόσο λεπτό θέμα όπως αυτό των εξετάσεων. Ειδικά τώρα που βλέπει  κόσμος με συναισθηματική φόρτιση και τα βιαστικά συμπεράσματα βγαίνουν πολύ εύκολα.  Επιπλέον λίγο σεβασμό στην ομάδα διαγωνισμάτων της οποίας είσαι μέλος και έχεις τη δυνατότητα να δεις πως δουλεύει.

bagelis

Γιώργο δεν έχεις καταλάβει κάτι.

Όταν ένα θέμα στο στέκι μεταξύ καθηγητών είναι διφορούμενο ΔΕΝ ΠΡΕΠΕΙ ΝΑ ΜΠΑΙΝΕΙ ΣΕ ΠΑΝΕΛΗΝΙΕΣ.

Όποιος το κάνει είναι ένοχος, και θα επιχειρηματολογήσω υπέρ της άποψης του αδυνάτου (του μαθητή στην προκειμένη) ασχέτου προσωπικής προτίμησης ή επιλογής.

Δεν έχει σημασία τι πιστεύω εγώ. Σημασία έχει το δίκαιο και το δίκαιο είναι να μην κοπούν μονάδες και να θεωρηθεί η λύση σωστή, όπως λένε ΕΠΥ, ΠΕΚΑΠ και πόσοι συνάδελφοι εδώ μέσα.

Αν ανοίξαμε τους ασκούς του Αιόλου ας προσέχαμε.

Στο στέκι δεν νομοθετούμε και οι προσωπικές απόψεις του καθενός δεν εκφράζουν τίποτα επίσημο. Η επιτροπή φέτος κάπου μπερδεύτηκε... Είναι προφανές ότι δεν τα ξεχώρισε τα πράγματα....

Όταν λοιπόν γιώργο βλέπεις μια τυχαία κουβέντα στο στέκι που έχει δύο στρατόπεδα (πολύ πριν μπει το θέμα) το θέμα αυτό δεν το βάζεις. ΤΕΛΟΣ.

Αν το έβαλες δεν μπορει να θέλεις να πληρώσουν οι μαθητές αυτό το λάθος σου. Αυτό δεν καταλαβαίνεις....

gpapargi

Μα δεν είχε 2 στρατόπεδα τουλάχιστον η τότε κουβέντα. Είχαμε συμφωνήσει στη μη χρήση πίνακα. Αν ήθελα να στηρίξω με τον καλύτερο τρόπο αυτή την άποψη δε θα μπορούσα να βρω καλύτερα λόγια από αυτά που είχες γράψει τότε εσύ.

Και το θέμα πολύ κακώς θεωρείται διφορούμενο. Αν δεχτούμε τη χρήση πίνακα σε αυτό το θέμα ουσιαστικά τη δεχόμαστε  πάντα και εξευτελίζουμε το μάθημα. Όλες οι ασκήσεις με τιμές φρουρούς πλέον θα λύνονται με πίνακα.  Είναι αποδεκτές λύσεις με πολύ μεγάλα μεγέθη τη στιγμή που τόσα γράφει το βιβλίο για περιττή χρήση πινάκων; Κανουμε καλό στα παιδιά και στο μάθημα διδάσκοντας τέτοια πράγματα όπως το "όλα σε πίνακα";

bagelis

Παράθεση από: gpapargi στις 31 Μαΐου 2010, 11:18:54 ΠΜ
Και το θέμα πολύ κακώς θεωρείται διφορούμενο. Αν δεχτούμε τη χρήση πίνακα σε αυτό το θέμα ουσιαστικά τη δεχόμαστε  πάντα και εξευτελίζουμε το μάθημα. Όλες οι ασκήσεις με τιμές φρουρούς πλέον θα λύνονται με πίνακα.  Είναι αποδεκτές λύσεις με πολύ μεγάλα μεγέθη τη στιγμή που τόσα γράφει το βιβλίο για περιττή χρήση πινάκων; Κανουμε καλό στα παιδιά και στο μάθημα διδάσκοντας τέτοια πράγματα όπως το "όλα σε πίνακα";

Δεν θα ξαναλέμε τα ίδια σε αυτό το τόπικ.... Υπάρχουν 100 σελίδες να διαβάσεις...

me_and_the_300

Από όλα αυτά που διαβάζω όλες αυτές τις ημέρες νομίζω ότι το 80% με 90% των καθηγητών πληροφορικής συμφωνούμε ότι η λύση με χρήση πινάκων πρέπει να θεωρηθεί σωστή. Δε βλέπω το νόημα στο να υπάρχουν διαμάχες στο πιο συμφωνεί λιγότερο ή περισσότερο. Τόσο το σχολικό βιβλίο όσο και η ίδια επιτροπή (έχει δώσει θέματα με δεδομένους πίνακες αορίστου μεγέθους στις εξετάσεις του 2001 και του 2005) αναιρούν την άποψη ότι πρέπει να αφαιρεθούν μόρια από όποια σκοπιά και να το δει κανέις. Εκτός και αν μας πουν τώρα ότι εκείνες οι επιτροπές δεν ήξεραν ενώ αυτή ξέρει το σωστό και το λάθος! Αυτό που αναμένουμε όλοι μας εδώ είναι η επιτροπή να πράξη ορθώς και να ανεραίσει την όποια απόφασή της για αφαίρεση μορίων. Όλα τα υπόλοιπα είναι "άλλα λόγια να αγαπιόμαστε"!

GEG

Παράθεση από: bagelis στις 31 Μαΐου 2010, 11:24:50 ΠΜ
Δεν θα ξαναλέμε τα ίδια σε αυτό το τόπικ.... Υπάρχουν 100 σελίδες να διαβάσεις...

Να σου πώ λοιπόν και εγώ Βαγγέλη κάτι άλλο.
Πέρυσι στην ερώτηση Σ/Λ "ΠΡΕΠΕΙ ΝΑ ΧΡΗΣΜΟΠΟΙΗΘΕΙ ΠΙΝΑΚΑΣ" απάντησες Λ φυσικά.
Για ποιό λόγο? Για το επίμαχο θέμα Γ τι θα έλεγες αν ετίθετο το ίδιο ερώτημα?
Hey! It compiles! Ship it! :-)

bagelis

Παράθεση από: GEG στις 31 Μαΐου 2010, 11:49:29 ΠΜ
Να σου πώ λοιπόν και εγώ Βαγγέλη κάτι άλλο.
Πέρυσι στην ερώτηση Σ/Λ "ΠΡΕΠΕΙ ΝΑ ΧΡΗΣΜΟΠΟΙΗΘΕΙ ΠΙΝΑΚΑΣ" απάντησες Λ φυσικά.
Για ποιό λόγο? Για το επίμαχο θέμα Γ τι θα έλεγες αν ετίθετο το ίδιο ερώτημα?

Παιδιά δεν μπορώ να καταλάβω το προσωπικό χαρακτήρα των ερωτήσεων.... Πάμε στις 100 σελίδες να πούμε απόψεις ολοι για όλους... Το τόπικ αυτό έχει τίτλο : επιχειρήματα γιατί είναι σωστός ο πίνακας μέσα απότο σχολικό βιβλίο"

Αυτά που λέτε αν δεν είναι επί προσωπικού τουλάχιστον είναι εκτός θέματος....

Με εκτίμηση σε όλους....

gthal

Προηγουμένως ετοιμαζόμουν να γράψω κι εγώ μια απάντηση για εκείνη την άποψη του bagelis
μετά ήρθαν τα μηνύματα του dokimos με τα οποία ξενέρωσα και έπειτα έπεσε και το στέκι ...

οπότε ορίστε και το μήνυμά του - δεν είναι κρυφό

Παράθεση από: bagelis στις 06 Οκτ 2007, 08:59:29 ΜΜ
Δηλαδή είναι σωστό σε αλγόριθμο το παρακάτω;

Διάβασε Ν
Για ι από 1 μεχρί Ν
   Διάβασε Α[ι]
Τέλος_Επανάληψης

Πιστεύω πως είναι λάθος και μάλιστα το θέμα θέλει μεγάλη προσοχή γιατί αν υιοθετήσουμε τέτοια λογική τότε και όλες οι ασκήσεις με Όσο - Μέχρις_Ότου πάλι θα μπορούν να λύνονται με πίνακες!!!
Ο αλγόριθμος γραμμένος σε ψευδογλώσσα είναι ένας χαλαρός τρόπος γραφής, αλλά αυτό δεν σημαίνει ότι μπορώ να γράφω και πράγματα που δεν μπορούν να μετατραπούν σε προγράμματα!!! Μην ξεχνάμε επίσης ότι ο πίνακας είναι μία στατική δομή δεδομένων και το μέγεθος ορίζεται ΠΡΙΝ από την εκτέλεση του αλγορίθμου ή προγράμματος.
Την υπογράμμιση και το bold την έβαλα εγώ για να τη σχολιάσω.
Αυτή τη φράση παιδιά, τη μάθαμε στο Πανεπιστήμιο? Δε νομίζω! Μας έχει κολλήσει από το σχολικό βιβλίο. Αυτό αποκαλούσα "αλλοτρίωσή" μας προχθες. Κοντεύουμε να ξεχάσουμε όσα είχαμε μάθει.

Η φράση αυτή ως προς το "αλγορίθμου" είναι λάθος και ανυπόστατη και ως προς το "προγράμματος" είναι σωστή υπό συνθήκες, ανάλογα τη γλώσσα προγρ.
Φιλικά,
Γιώργος Θαλασσινός

bagelis

Ναι το θυμάμαι ότι κάτι δεν μου κόλαγε και την έβαλα μόνος μου ενώ δεν την έχει το σχολικό....

Αλλά δεν είναι αυτό το θέμα... Το τι πιστεύω εγώ είναι αυτό που πιστεύω εγώ και μπορεί να είναι λάθος ή σωστό, και πάντα πρέπει να έχουμε ένα κομμάτι στο μυαλό μας και να λέμε: μήπως έχω λάθος?

Το θέμα είναι ότι κάτι που δεν το πιστεύουν ΟΛΟΙ δεν πρέπει να μπαίνει εξετάσεις....

Βλαχάκης Γ.

Δε θα μακρηγορήσω γιατί όλα τα επιχειρήματα σας με καλύπτουν.
Έχω βγάλει απαντήσεις στο www.in.gr και στην τοπική εφημερίδα του Ηρακλείου Κρήτης.
Συμφωνώ απόλυτα με τη χρήση πινάκων στο Θέμα Γ.
Καλά ξεμπερδέματα........

gpapargi

Βαγγέλη σου απαντάω για τα παραδείγματα μέσα από το βιβλίο που παραθέτεις.

Σε όλα τα παραδείγματα θεωρούνται γνωστά (δεδομένα) τα στοιχεία προς επεξεργασία. Όταν λέμε Δεδομένα //α, β// εννοούμε ότι με κάποιο τρόπο (που δε μας ενδιαφέρει ποιος είναι αυτός), τα στοιχεία μας είναι γνωστά δηλαδή έχουν γνωστές τιμές και γι αυτό δεν ασχολούμαστε με το πώς ξέρουμε τις τιμές αλλά μόνο με το επεξεργαστικό κομμάτι του αλγορίθμου. Δε σημαίνει ότι σώνει καλά ήρθαν μέσα από εντολή Διάβασε. Θα μπορούσαν να έρθουν και έτσι αλλά όχι όταν πρόκειται για μεγέθη πινάκων. Σημαίνει «είναι γνωστοί αριθμοί, θεωρήστε τους δεδομένους πχ 5, 10 ή 20 κλπ και προχωρήστε στην επεξεργασία. »
Ξαναλέω ότι ο λόγος ύπαρξης ΓΛΩΣΣΑΣ και όχι μόνο ψευδογλώσσας είναι ότι δεν είναι δυνατόν να λύνεις προβλήματα πάνω σε αφηρημένες δομές δεδομένων. Δεν είναι δυνατόν να λύνεις ένα πρόβλημα σε ψευδογλώσσα και όταν έρθει η ώρα να κάνεις εργαστήριο να πούμε στο παιδί «ο αλγόριθμος σου δε μεταφέρεται σε ΓΛΩΣΣΑ». Δεν είναι παιδαγωγικά σωστό αυτό. Όπως και είναι εντελώς λάθος από επιστημονική άποψη το να ορίζουμε τεράστιους πίνακες ενώ δεν είναι αναγκαίοι. Δεν μαθαίνουμε τα παιδιά σωστά.
Γράφω και μερικά πράγματα πιο συγκεκριμένα για κάθε ένα από τα συγκεκριμένα θέματα.
Στη σελίδα 90 του σχολικού βιβλίου γίνεται υπολογισμός δύναμη αριθμού με άλλο αλγόριθμο (χρησιμοποιεί δυναμικό προγραμματισμό) και αποθηκεύει κάποιες δυνάμεις του αριθμού (όχι όλες) σε πίνακα έτσι ώστε στη συνέχεια να τις χρησιμοποιήσει για να υπολογίσει γρηγορότερα τη δύναμη. Στο συγκεκριμένο αλγόριθμο η χρήση πίνακα είναι αναγκαία γιατί θα ξαναπεράσει από τα στοιχεία που υπολόγισε πριν. Δεν είναι δυνατόν ο συγκεκριμένος αλγόριθμος να υλοποιηθεί χωρίς πίνακα γιατί δεν ξέρεις εκ των προτέρων ποιες από τις δυνάμεις θα χρησιμοποιηθούν τελικά στην άθροιση. Η χρήση πίνακα είναι λοιπόν επιβεβλημένη.
Προφανώς γίνεται υπόθεση για μέγιστο μέγεθος αριθμών. Δεν γίνεται ο αλγόριθμος να λειτουργήσει για αυθαίρετα μεγάλους αριθμούς. Ωστόσο δείτε πόσο γρήγορα ανεβαίνει η δύναμη που αποθηκεύεται. Σε κάθε κελί μπαίνει το τετράγωνο του προηγούμενο κελιού. Αν μιλάμε για το 3, στο κελί 4 αποθηκεύεται ο αριθμός 6561. Στο κελί 5 αποθηκεύεται ο αριθμός 43046721. Σε ελάχιστα κελιά ο αριθμός εκτοξεύεται. Πόσα κελιά λες να χρειαστούν για κάποιους αριθμούς που χωράνε στον υπολογιστή;
Στο συγκεκριμένο παράδειγμα γίνεται χρήση πινάκων προκειμένου να αυξηθεί πάρα πολύ η ταχύτητα υπολογισμού. Υπάρχει η σιωπηλή παραδοχή για μέγιστο μέγεθος αριθμών προφανώς αφού κάνει χρήση πίνακα. Είναι ο τρόπος με τον οποίο οι υπολογιστές υπολογίζουν δυνάμεις.
Εννοείται ότι σε καμία περίπτωση δεν χρησιμοποιεί πίνακα για πρόβλημα που λύνεται χωρίς πίνακα και σε καμία περίπτωση ο πίνακας αυτός δεν είναι αυθαίρετα μεγάλος. Τέλος όπως είπα και πριν οι αριθμοί θεωρούνται δεδομένοι.
Στη σελίδα 32 του τετραδίου μαθητή, το πλήθος των στοιχείων που θα αποθηκευτούν (τα μη μηδενικά στοιχεία) είναι n. Ξέρουμε ότι το πλήθος των στοιχείων του πίνακα είναι 3n. Το ξέρουμε εκ των προτέρων.

Στο τετράδιο μαθητή σελ. 35, κεφάλαιο 3 το μέγεθος της συλλογής είναι γνωστό και χρησιμοποιεί πίνακα μεγαλύτερο. Δεν τίθεται θέμα περιττής χρήσης πίνακα αφού μιλάμε για ταξινόμηση.

Άρης Κεσογλίδης

Συμφωνώ με τον Γιώργο Θαλασσινό και τον Βαγγέλη!...
Να ρωτήσω κάτι... Πόσοι είστε γενικοί διαχειριστές εδώ στο στέκι;
Έχετε μιλήσει εσείς μεταξύ σας για να δείτε πόσοι θεωρούν τη λύση με πίνακες σωστή και πόσοι λάθος;

Ο διαχειριστής Στάθης Στέργου, έφτιαξε την σελίδα www.pseudoglossa.gr όπου αν βάλουμε τον παρακάτω αλγόριθμο τρέχει κανονικά!!

Αλγόριθμος tade
Διάβασε α
Για κ από 1 μέχρι α
      Διάβασε Β[κ]
Τέλος_επανάληψης
Για ι από 1 μέχρι α
      Εμφάνισε Β[ι]
Τέλος_επανάληψης
Τέλος tade


Ο διαχειριστής Παναγιώτης Τσιωτάκης, που κατά τη γνώμη μου και κατά τη γνώμη πολλών άλλων έχει γράψει το καλύτερο βιβλίο για το μάθημα, έχει ασκήσεις ΑΚΡΙΒΩΣ με τις εντολές

Διάβασε ν
Για i από 1 μέχρι ν
      Διάβασε A
Τέλος_επανάληψης

ΚΑΙ στο βιβλίο, ΚΑΙ στη σελίδα του... (εδώ στη συζήτηση δυστυχώς υπερασπίστηκε ότι είναι λάθος, και δεν μπορώ να καταλάβω το γιατί....? )

Γιατί και οι 2 έκαναν το ίδιο πράγμα;?...
(όπως και χιλιάδες άλλοι καθηγητές.........)

Η εξήγηση που δίνω και ξαναλέω είναι ότι όταν μαθαίνει ο μαθητής ψευδογλώσσα, και σύμφωνα με τα παραδείγματα του βιβλίου, ΔΕΝ μας απασχολεί το πόσα στοιχεία έχει ο πίνακας......γιατί ΔΕΝ είμαστε στη φάση «του προγραμματισμού»......
Διαφορετικά, δεν θα ασχολούμασταν με ψευδογλώσσα, αλλά από την αρχή και ΜΟΝΟ με γλώσσα.................
Άρης Κεσογλίδης
Μαθηματικός
Μεταπτυχιακό στη "Θεωρητική Πληροφορική και Θεωρία Συστημάτων και Ελέγχου"

bagelis

Παράθεση από: gpapargi στις 31 Μαΐου 2010, 01:42:22 ΜΜ
Βαγγέλη σου απαντάω για τα παραδείγματα μέσα από το βιβλίο που παραθέτεις.

Δεν είναι παιδαγωγικά σωστό αυτό. Όπως και είναι εντελώς λάθος από επιστημονική άποψη το να ορίζουμε τεράστιους πίνακες ενώ δεν είναι αναγκαίοι. Δεν μαθαίνουμε τα παιδιά σωστά.

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

Ο προπονητής της Εθνικής Ομάδας Πληροφορικής

Παράθεση από: gpapargi στις 31 Μαΐου 2010, 01:42:22 ΜΜ
Γράφω και μερικά πράγματα πιο συγκεκριμένα για κάθε ένα από τα συγκεκριμένα θέματα.
Στη σελίδα 90 του σχολικού βιβλίου γίνεται υπολογισμός δύναμη αριθμού με άλλο αλγόριθμο (χρησιμοποιεί δυναμικό προγραμματισμό) και αποθηκεύει κάποιες δυνάμεις του αριθμού (όχι όλες) σε πίνακα έτσι ώστε στη συνέχεια να τις χρησιμοποιήσει για να υπολογίσει γρηγορότερα τη δύναμη. Στο συγκεκριμένο αλγόριθμο η χρήση πίνακα είναι αναγκαία γιατί θα ξαναπεράσει από τα στοιχεία που υπολόγισε πριν. Δεν είναι δυνατόν ο συγκεκριμένος αλγόριθμος να υλοποιηθεί χωρίς πίνακα γιατί δεν ξέρεις εκ των προτέρων ποιες από τις δυνάμεις θα χρησιμοποιηθούν τελικά στην άθροιση. Η χρήση πίνακα είναι λοιπόν επιβεβλημένη.
Προφανώς γίνεται υπόθεση για μέγιστο μέγεθος αριθμών. Δεν γίνεται ο αλγόριθμος να λειτουργήσει για αυθαίρετα μεγάλους αριθμούς. Ωστόσο δείτε πόσο γρήγορα ανεβαίνει η δύναμη που αποθηκεύεται. Σε κάθε κελί μπαίνει το τετράγωνο του προηγούμενο κελιού. Αν μιλάμε για το 3, στο κελί 4 αποθηκεύεται ο αριθμός 6561. Στο κελί 5 αποθηκεύεται ο αριθμός 43046721. Σε ελάχιστα κελιά ο αριθμός εκτοξεύεται. Πόσα κελιά λες να χρειαστούν για κάποιους αριθμούς που χωράνε στον υπολογιστή;
Στο συγκεκριμένο παράδειγμα γίνεται χρήση πινάκων προκειμένου να αυξηθεί πάρα πολύ η ταχύτητα υπολογισμού. Υπάρχει η σιωπηλή παραδοχή για μέγιστο μέγεθος αριθμών προφανώς αφού κάνει χρήση πίνακα. Είναι ο τρόπος με τον οποίο οι υπολογιστές υπολογίζουν δυνάμεις.
Εννοείται ότι σε καμία περίπτωση δεν χρησιμοποιεί πίνακα για πρόβλημα που λύνεται χωρίς πίνακα και σε καμία περίπτωση ο πίνακας αυτός δεν είναι αυθαίρετα μεγάλος. Τέλος όπως είπα και πριν οι αριθμοί θεωρούνται δεδομένοι.
Φίλε Γιώργο αυτό το επιχείρημα έχει χρησιμοποιηθεί υπέρ της άποψης "είναι σωστό με πίνακες". Χρησιμοποιείς επιχείρημα που λέει: "εδώ το δέχομαι - δεν γινόταν αλλιώς". Άρα λες ότι δεν είναι λάθος λύση οι πίνακες, απλά δεν είναι βέλτιστη.
Δηλαδή οι διαγωνιζομενοι σε άλμα εις μήκος σε σχολικούς αγώνες πόσοι είναι δηλαδή?

Παράθεση από: gpapargi στις 31 Μαΐου 2010, 01:42:22 ΜΜ
Στη σελίδα 32 του τετραδίου μαθητή, το πλήθος των στοιχείων που θα αποθηκευτούν (τα μη μηδενικά στοιχεία) είναι n. Ξέρουμε ότι το πλήθος των στοιχείων του πίνακα είναι 3n. Το ξέρουμε εκ των προτέρων.
Δηλαδή εσύ τώρα μου λες ότι ναι μπορώ να φτιάξω αλγόριθμο συμπίεσης αριαών πινάκων ΑΡΚΕΙ ΝΑ ΞΕΡΩ ΑΠΟ ΠΡΙΝ ΠΟΣΟΙ ΑΡΙΘΜΟΙ ΕΙΝΑΙ ΔΙΑΦΟΡΟΙ ΤΟΥ ΜΗΔΕΝΟΣ. no comment....

Παράθεση από: gpapargi στις 31 Μαΐου 2010, 01:42:22 ΜΜ
Στο τετράδιο μαθητή σελ. 35, κεφάλαιο 3 το μέγεθος της συλλογής είναι γνωστό και χρησιμοποιεί πίνακα μεγαλύτερο. Δεν τίθεται θέμα περιττής χρήσης πίνακα αφού μιλάμε για ταξινόμηση.
που έγινε αυτό?????

Άρης Κεσογλίδης

Άρης Κεσογλίδης
Μαθηματικός
Μεταπτυχιακό στη "Θεωρητική Πληροφορική και Θεωρία Συστημάτων και Ελέγχου"

gpapargi

Δηλαδή τώρα Βαγγέλη την παράγραφο 9.2 του σχολικού που μιλάει για την περιττή χρήση πίνακα αλλά και τις συμβουλές της παραγράφου 9.3 στο τετράδιο μαθητή τις πετάς στα σκουπίδια. Να δεχτούμε λοιπόν ότι κάνουμε εξέταση σε πίνακες απείρου μεγέθους. Αυτό προτείνεις έτσι;


Παράθεση από: bagelis στις 31 Μαΐου 2010, 01:53:47 ΜΜ
Δηλαδή εσύ τώρα μου λες ότι ναι μπορώ να φτιάξω αλγόριθμο συμπίεσης αριαών πινάκων ΑΡΚΕΙ ΝΑ ΞΕΡΩ ΑΠΟ ΠΡΙΝ ΠΟΣΟΙ ΑΡΙΘΜΟΙ ΕΙΝΑΙ ΔΙΑΦΟΡΟΙ ΤΟΥ ΜΗΔΕΝΟΣ. no comment....


Στο θέμα της συμπίεσης όπως αντιλαμβάνεσαι δεν έχει νόημα να μιλάμε για συμπίεση στατικών δομών αφού το μέγεθος δεν αλλάζει, άρα δεν υπάρχει και νόημα. Τι να μειώσεις; Το μέγεθος που πιάνει η στατική δομή στη μνήμη και να το κάνεις λιγότερο; Θα ήταν ακόμα στατικη;

Η συμπίεση είναι για αρχεία, απλά εδώ θέλει το βιβλίο να σου δείξει τον αλγόριθμο και χρησιμοποιεί τη δομή που έχεις διαθέσιμη. Και για να το πετύχει αυτό σου λέει έχω τόσα στο σύνολο, τόσα μηδενικά και βάζω τα άλλα σε αραιό. Κάνει κάποιες παραδοχές για να δείξει αυτό που θέλει.

Στη θέση σου πάντως Βαγγέλη αντί να λέω εξυπνάδες θα κοίταγα έχω μια συνεπή θέση. Όχι άλλα να λέω πέρυσι και άλλα φέτος.  Διότι με όλα αυτά που γράφεις μπερδεύτηκα. Τι πιστεύεις τελικά; Είναι σωστή η λύση με πίνακες ή όχι; Πες μας έντιμα τη γνώμη σου, έχει σημασία.

bagelis

Αν ρωτάς εμένα σαν Βαγγέλη τι θα διδάσκω του χρόνου στα παιδιά, θα κάνω ότι και φέτος:
Μην χρησιμοποιείται πίνακες αν δεν ξέρετε μέγεθος.

Και να σου πω και κάτι? Δεν νομίζω ότι οι περισσότεροι εδώ μέσα κάνουν κάτι άλλο.


ΑΛΛΑ από ότι αντιλαμβάνομαι παραδέχεσαι και εσύ ότι το σχολικό σου δίνει λαβές και για τις δύο απόψεις.

Εφόσον συμβαίνει αυτό θα λειτουργώ σαν δικηγόρος του διαβόλου, απόλυτα γιατί Δεν φταίνε οι μαθητές.


gpapargi

Δε σε ρωτάω τι θα διδάσκεις του χρόνου ή τι δίδαξες φέτος. Σε ρωτάω τι πιστεύεις αυτή τη στιγμή ότι είναι σωστό και τι πίστευες πέρυσι.

petrosp13

Έχει τεράστια διαφορά η Για με άγνωστο πλήθος με την Όσο
Όταν βάζεις τον χρήτη να σου πει πόσοι θα είναι οι αριθμοί που θα δώσει, υπονοείς ότι ξέρει πόσοι είναι οι αριθμοί
Άρα μιλάμε για γνωστό πλήθος αριθμών στον χρήστη και συγκεκριμένο
Συνεπώς, σε Α Λ Γ Ο Ρ Ι Θ Μ Ο μπορεί να υλοποιηθεί με πίνακα για να υποδειχθεί μετα η επεξεργασία που είναι και το σημαντικό
Σε δομή Όσο, όταν του λες να τελειώσει την εισαγωγή του με τιμή φρουρό, υπονοείς ότι ούτε ο ίδιος ξέρει πόσες τιμές θα δώσει
Άρα αυτό δεν πρέπει να γίνει με πίνακα
Για παράδειγμα, όταν αρχίζει να βρέχει και ένας αισθητήρας καταγράφει χιλιοστά βροχής, είναι άγνωστο πότε θα τελειώσει η είσοδος

Γιατί κάνετε πώς δεν καταλαβαίνετε;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

bagelis

Και να πω δύο σημεία ακόμα, ίσως άσχετα ίσως σχετικά:

1) οι στοίβα και η ουρά είναι στατικές δομές δεδομένων. Στα δικά μου αυτιά ακούγεται εγκληματικό.... Για μένα είναι δυναμικές (ή τουλάχιστον εξαρτώνται από την υλοποίηση). ΔΕΝ ΘΑ ΤΟ ΕΒΑΖΑ ΘΕΜΑ.

2) Είπαν κάποτε (νομίζω εδώ στο στέκι, δεν θυμάμαι) ότι σε ΣΥΝΑΡΤΗΣΗ δέχεσαι στις παραμέτρους και σταθερές ή παραστάσεις, ενώ στη ΔΙΑΔΙΚΑΣΙΑ μόνο μεταβλητές. Το επιχείρημα είναι ότι λέει το σχολικό: οι παράμετροι είναι μεταβλητές... κτλ. Λες και στην ΣΥΝΑΡΤΗΣΗ δεν μπαίνουν παράμετροι με βάση το σχολικό.  ΔΕΝ ΘΑ ΤΟ ΠΡΟΚΑΛΟΥΣΑ ΣΕ ΘΕΜΑ, ΚΑΙ ΟΠΩΣ ΚΑΙ ΝΑ ΤΟ ΕΒΛΕΠΑ ΔΕΝ ΘΑ ΕΚΟΒΑ

μπορώ να σκεφτώ και άλλα.... ένα τέτοιο ήταν και το Γ του 2010.



Και ας αφήσουμε ασχολίαστο το να κοπεί 1 μονάδα γιατί ο μαθητής έβαλε εμφάνισε και οχι γράψε.....

gpapargi

Παράθεση από: Άρης Κ. στις 31 Μαΐου 2010, 01:46:13 ΜΜ

Να ρωτήσω κάτι... Πόσοι είστε γενικοί διαχειριστές εδώ στο στέκι;
Έχετε μιλήσει εσείς μεταξύ σας για να δείτε πόσοι θεωρούν τη λύση με πίνακες σωστή και πόσοι λάθος;


Το στέκι δεν είναι κάποια μυστική οργάνωση για να μαζεύονται οι διαχειριστές και να καθορίζουν τι θα βγει προς τα έξω ως κοινή άποψη. Ο καθένας έχει τη γνώμη του και τη λέει ελεύθερα χωρίς σκοπιμότητες.
Ποτέ κανείς δεν είπε στον άλλο τι να πει.

Και να σου θεσω ένα ερώτημα:
Θεωρείς σωστό το να δέχεσαι άλλες λύσεις στην ψευδογλώσσα και άλλες στη ΓΛΩΣΣΑ; Πιστεύεις ότι είναι σωστό να πάει το παιδί στο εργαστήριο και να του πούμε "η λύση που έδωσες στην ψευδογλώσσα δε λειτουργεί" ;
Οι δομές είναι μέρος του αλγορίθμου. Για αυτό ένα μάθημα μόνο με ψευσογλώσσα (και χωρίς κάποια γλώσσα δίπλα του) είναι ελλιπές... εκτός βέβαια αν μιλάμε για δυναμικούς πίνακες, οπότε πάμε αλλού και ξεμακραίνουμε από το διδακτικό πακέτο.


taxata

Παράθεση από: petrosp13 στις 31 Μαΐου 2010, 02:40:21 ΜΜ
Έχει τεράστια διαφορά η Για με άγνωστο πλήθος με την Όσο
Όταν βάζεις τον χρήτη να σου πει πόσοι θα είναι οι αριθμοί που θα δώσει, υπονοείς ότι ξέρει πόσοι είναι οι αριθμοί
Άρα μιλάμε για γνωστό πλήθος αριθμών στον χρήστη και συγκεκριμένο
Συνεπώς, σε Α Λ Γ Ο Ρ Ι Θ Μ Ο μπορεί να υλοποιηθεί με πίνακα για να υποδειχθεί μετα η επεξεργασία που είναι και το σημαντικό
Σε δομή Όσο, όταν του λες να τελειώσει την εισαγωγή του με τιμή φρουρό, υπονοείς ότι ούτε ο ίδιος ξέρει πόσες τιμές θα δώσει
Άρα αυτό δεν πρέπει να γίνει με πίνακα
Για παράδειγμα, όταν αρχίζει να βρέχει και ένας αισθητήρας καταγράφει χιλιοστά βροχής, είναι άγνωστο πότε θα τελειώσει η είσοδος

Γιατί κάνετε πώς δεν καταλαβαίνετε;
Μήπως γιατί οι μόνες έννοιες που συνδέονται με το άπειρο στη φύση είναι η ματαιοδοξία και ο εγωισμός ????
Υ.Γ. Εδώ που φτάσαμε είπα να το ρίξω λίγο στην φιλοσοφία
Τάσος_Χατζηπαπαδόπουλος
Κύριε δεν έχω internet
http://users.sch.gr/chatzipap/

bagelis

Παράθεση από: gpapargi στις 31 Μαΐου 2010, 02:35:40 ΜΜ
Δε σε ρωτάω τι θα διδάσκεις του χρόνου ή τι δίδαξες φέτος. Σε ρωτάω τι πιστεύεις αυτή τη στιγμή ότι είναι σωστό και τι πίστευες πέρυσι.
Πέρισυ πίστευα ότι η λύση με πίνακες είναι λάθος, φέτος πίστευα το ίδιο του χρόνου θα πιστεύω το ίδιο...

Η άσκηση με έκανε να πιστέψω ότι δεν είχα δίκιο... αυτό είναι το θέμα Γιώργο... όταν την έλυσα θεώρησα ότι δεν έτρεχε τίποτα να βάλω πίνακες...

και με βάση τα γνωστά διφορούμενα σημεία του σχολικού, είπα "τελικά δεν θα έχουν πρόβλημα και με πίνακες και προχώρησα".

Οι γνωστές ασάφειες του σχολικού με έκαναν να θεωρήσω ότι δεν υπάρχει πρόβλημα.

Και χωρίς να είμαι κάποιος σημαντικός, αν το θεώρησα εγώ έτσι πως μπορώ να ζητήσω στους μαθητές να κοπεί έστω 0.1 μόριο?

Αντικειμενικά, πως?

gpapargi

Παράθεση από: petrosp13 στις 31 Μαΐου 2010, 02:40:21 ΜΜ
Έχει τεράστια διαφορά η Για με άγνωστο πλήθος με την Όσο
Όταν βάζεις τον χρήτη να σου πει πόσοι θα είναι οι αριθμοί που θα δώσει, υπονοείς ότι ξέρει πόσοι είναι οι αριθμοί
Άρα μιλάμε για γνωστό πλήθος αριθμών στον χρήστη και συγκεκριμένο
Συνεπώς, σε Α Λ Γ Ο Ρ Ι Θ Μ Ο μπορεί να υλοποιηθεί με πίνακα για να υποδειχθεί μετα η επεξεργασία που είναι και το σημαντικό
Σε δομή Όσο, όταν του λες να τελειώσει την εισαγωγή του με τιμή φρουρό, υπονοείς ότι ούτε ο ίδιος ξέρει πόσες τιμές θα δώσει
Άρα αυτό δεν πρέπει να γίνει με πίνακα
Για παράδειγμα, όταν αρχίζει να βρέχει και ένας αισθητήρας καταγράφει χιλιοστά βροχής, είναι άγνωστο πότε θα τελειώσει η είσοδος

Γιατί κάνετε πώς δεν καταλαβαίνετε;
Πέτρο άλλο η φάση γραφής του αλγορίθμου και άλλο η φάση της εκτέλεσης. Ξέρεις κατά την εκτέλεση, αλλά η δήλωση (αν μιλάμε για ΓΛΩΣΣΑ) έχει γίνει πιο πριν. Θεωρείς ότι είναι σωστό να δεχόμαστε άλλα σε ψευδογλώσσα και άλλα σε ΓΛΩΣΣΑ. Αυτό είναι το ερώτημα.

petrosp13

Όταν σε αλγόριθμο δέχεσαι εντολές του τύπου "Αντιμετάθεσε", "Δεδομένα", "Αποτελέσματα", "Αν...τότε χωρίς Τέλος_αν", τότε ναι
Μιλάμε για διαφορετικές γλώσσες που ομοιάζουν απλά σε πολλά
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

ntzios kostas

Πέτρο σε αυτά που γράφεις η  λογική είναι κοινή, απλά αλλάζει η σύνταξη. Δεν μπορώ όμως να μαθαίνω ή να διδάσκω την αλγοριθμική λογική η οποία είναι παράλογη στον προγραμματισμό. 
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

petrosp13

Το πρόβλημα: "Να διαβάζει αριθμούς μέχρι να δοθεί το μηδέν. Στη συνέχεια να εμφανίζει τους αριθμούς ταξινομημένους" είναι άλυτο;
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

ntzios kostas

Όχι άλυτο δεν είναι, αλλά με τα εργαλεία που έχουμε δεν μπορεί να λυθεί.   
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

gthal

Παράθεση από: bagelis στις 31 Μαΐου 2010, 02:26:22 ΜΜ
Αν ρωτάς εμένα σαν Βαγγέλη τι θα διδάσκω του χρόνου στα παιδιά, θα κάνω ότι και φέτος:
Μην χρησιμοποιείται πίνακες αν δεν ξέρετε μέγεθος.

Και να σου πω και κάτι? Δεν νομίζω ότι οι περισσότεροι εδώ μέσα κάνουν κάτι άλλο.
Πες τα ρε Βαγγέλη.
Πάνε να εξετάσουν τώρα, μ' αυτό το συγκαλυμμένο και διφορούμενο ερώτημα αν ξέρουν οι μαθητές πότε να χρησιμοποιήσουν πίνακα. Και "πιάσανε στα πράσα" όλη σχεδόν την Ελλάδα !!! Τι να πω ... Μπράβο ! Σπουδαίοι !
Φιλικά,
Γιώργος Θαλασσινός

gthal

Παράθεση από: gpapargi στις 31 Μαΐου 2010, 02:51:24 ΜΜ
Θεωρείς ότι είναι σωστό να δεχόμαστε άλλα σε ψευδογλώσσα και άλλα σε ΓΛΩΣΣΑ. Αυτό είναι το ερώτημα.
Και το άλλο ερώτημα, αμέσως μετά από αυτό:
Θεωρείς ότι έχει νόημα τότε Γιώργο να τις έχουμε και τις δυο?
Και αν ναι, ποιο ?
Φιλικά,
Γιώργος Θαλασσινός

gthal

Τι προσπαθούμε να τους δείξουμε μέσω της ψευδογλώσσας τελος πάντων;
Φιλικά,
Γιώργος Θαλασσινός

gkipos

Παράθεση από: ntzios kostas στις 31 Μαΐου 2010, 03:16:19 ΜΜ
Όχι άλυτο δεν είναι, αλλά με τα εργαλεία που έχουμε δεν μπορεί να λυθεί.
Καλά ό,τι να 'ναι.

ntzios kostas

Δώσε gkipos εσύ τον αλγόριθμο και μετά θα αλλάξω την άποψη μου.

Παράθεση από: gkipos στις 31 Μαΐου 2010, 03:32:17 ΜΜ
Καλά ό,τι να 'ναι.


Θα σας δώσω ένα πρόβλημα:
Να γίνει αλγόριθμος που να ταξινομεί τα στοιχεία μίας στοίβας Ν θέσεων με δεδομένα την κορυφή της top.
Απάντηση: Απωθώ τα στοιχεία της στοίβας σε έναν πίνακα, τα ταξινομώ και στη συνέχεια τα ωθώ παλι στη στοίβα.

Θα μπορούσα να ταξινομήσω τα στοιχεία της στοίβας κατευθείαν. Όχι βέβαια. Μα είναι αλγόριθμος. Ε και! Η δομή στοίβα έχει κάποιους κανόνες είτε είναι αλγόριθμος ή πρόγραμμα. Έτσι και ο Στατικός Πίνακας.
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

Άρης Κεσογλίδης

Παράθεση από: gpapargi στις 31 Μαΐου 2010, 02:46:23 ΜΜ
Το στέκι δεν είναι κάποια μυστική οργάνωση για να μαζεύονται οι διαχειριστές και να καθορίζουν τι θα βγει προς τα έξω ως κοινή άποψη. Ο καθένας έχει τη γνώμη του και τη λέει ελεύθερα χωρίς σκοπιμότητες.
Ποτέ κανείς δεν είπε στον άλλο τι να πει.

Και να σου θεσω ένα ερώτημα:
Θεωρείς σωστό το να δέχεσαι άλλες λύσεις στην ψευδογλώσσα και άλλες στη ΓΛΩΣΣΑ; Πιστεύεις ότι είναι σωστό να πάει το παιδί στο εργαστήριο και να του πούμε "η λύση που έδωσες στην ψευδογλώσσα δε λειτουργεί" ;
Οι δομές είναι μέρος του αλγορίθμου. Για αυτό ένα μάθημα μόνο με ψευσογλώσσα (και χωρίς κάποια γλώσσα δίπλα του) είναι ελλιπές... εκτός βέβαια αν μιλάμε για δυναμικούς πίνακες, οπότε πάμε αλλού και ξεμακραίνουμε από το διδακτικό πακέτο.


Σίγουρα, δεν εννοούσα να μαζεύονται οι διαχειριστές και να έχουν κοινή γραμμή ή κάτι παρόμοιο... Απλά ήθελα να ρωτήσω αν μιλήσατε γιατί εσείς γνωρίζεστε καλύτερα και μιλάτε περισσότερο... Και πιστεύω ότι βαραίνει η γνώμη σας περισσότερο, καλώς ή κακώς...

Ένας διαχειριστής έχει φτιάξει την www.pseudoglossa.gr  και ένας άλλος διαχειριστής έφτιαξε τον διερμηνευτή της ΓΛΩΣΣΑΣ.....και αυτά τα 2 όπως λες εσύ για τον ίδιο αλγόριθμο που έδωσα πριν δεν λειτουργούν το ίδιο.....δεν παίζει ρόλο;?...

Θεωρώ σωστό να μάθει ο μαθητής να δουλεύει στην αρχή με πίνακες, και όταν έρθει η στιγμή του προγραμματισμού να γίνουν οι απαραίτητες αλλαγές... Και μιλώντας για το συγκεκριμένο θέμα πάντα, με έναν πίνακα λογικών θέσεων για σχολικούς αγώνες, ότι λύση θα δώσεις στην ψευδογλώσσα, αυτήν θα δώσεις και στη ΓΛΩΣΣΑ...
Και αν κάποια προβλήματα είναι καλύτερα να λύνονται με δυναμικές δομές, όπως το θέμα 3, ας μην το βάλουν στις εξετάσεις για να γίνει με στατικές..... Γι'αυτό άλλωστε δεν έγιναν και οι δυναμικές; Για να μην κρατάμε περίσσεια μνήμη από την αρχή;??...
Άρης Κεσογλίδης
Μαθηματικός
Μεταπτυχιακό στη "Θεωρητική Πληροφορική και Θεωρία Συστημάτων και Ελέγχου"

sstergou

Παράθεση από: gpapargi στις 31 Μαΐου 2010, 02:51:24 ΜΜ
Θεωρείς ότι είναι σωστό να δεχόμαστε άλλα σε ψευδογλώσσα και άλλα σε ΓΛΩΣΣΑ. Αυτό είναι το ερώτημα.

Ναι, εκ των πραγμάτων αποδεικνύεται ότι είναι διαφορετικές.

Επίσης νομίζω ότι και η πρόθεση των συγγραφέων ήταν αυτή.

Αν είναι να δεχόμαστε τα ίδια τότε γνώμη μου είναι ότι θα έπρεπε να δεχόμαστε αυτά της ψευδογλώσσας και όχι αυτά της γλώσσας. Ταιριάζουν πιο πολύ με τους σκοπούς του μαθήματος.

Άρης Κεσογλίδης

Παράθεση από: gpapargi στις 31 Μαΐου 2010, 02:46:23 ΜΜ
Το στέκι δεν είναι κάποια μυστική οργάνωση για να μαζεύονται οι διαχειριστές και να καθορίζουν τι θα βγει προς τα έξω ως κοινή άποψη. Ο καθένας έχει τη γνώμη του και τη λέει ελεύθερα χωρίς σκοπιμότητες.
Ποτέ κανείς δεν είπε στον άλλο τι να πει.

Και να σου θεσω ένα ερώτημα:
Θεωρείς σωστό το να δέχεσαι άλλες λύσεις στην ψευδογλώσσα και άλλες στη ΓΛΩΣΣΑ; Πιστεύεις ότι είναι σωστό να πάει το παιδί στο εργαστήριο και να του πούμε "η λύση που έδωσες στην ψευδογλώσσα δε λειτουργεί" ;
Οι δομές είναι μέρος του αλγορίθμου. Για αυτό ένα μάθημα μόνο με ψευσογλώσσα (και χωρίς κάποια γλώσσα δίπλα του) είναι ελλιπές... εκτός βέβαια αν μιλάμε για δυναμικούς πίνακες, οπότε πάμε αλλού και ξεμακραίνουμε από το διδακτικό πακέτο.


Σίγουρα, δεν εννοούσα να μαζεύονται οι διαχειριστές και να έχουν κοινή γραμμή ή κάτι παρόμοιο... Απλά ήθελα να ρωτήσω αν μιλήσατε γιατί εσείς γνωρίζεστε καλύτερα και μιλάτε περισσότερο... Και πιστεύω ότι βαραίνει η γνώμη σας περισσότερο, καλώς ή κακώς...

Ένας διαχειριστής έχει φτιάξει την Ψευδογλώσσα  και ένας άλλος διαχειριστής έφτιαξε τον διερμηνευτή της ΓΛΩΣΣΑΣ.....και αυτά τα 2 όπως λες εσύ για τον ίδιο αλγόριθμο που έδωσα πριν δεν λειτουργούν το ίδιο.....δεν παίζει ρόλο;?...

Θεωρώ σωστό να μάθει ο μαθητής να δουλεύει στην αρχή με πίνακες, και όταν έρθει η στιγμή του προγραμματισμού να γίνουν οι απαραίτητες αλλαγές... Και μιλώντας για το συγκεκριμένο θέμα πάντα, με έναν πίνακα λογικών θέσεων για σχολικούς αγώνες, ότι λύση θα δώσεις στην ψευδογλώσσα, αυτήν θα δώσεις και στη ΓΛΩΣΣΑ...
Και αν κάποια προβλήματα είναι καλύτερα να λύνονται με δυναμικές δομές, όπως το θέμα 3, ας μην το βάλουν στις εξετάσεις για να γίνει με στατικές..... Γι'αυτό άλλωστε δεν έγιναν και οι δυναμικές; Για να μην κρατάμε περίσσεια μνήμη από την αρχή;??...
Άρης Κεσογλίδης
Μαθηματικός
Μεταπτυχιακό στη "Θεωρητική Πληροφορική και Θεωρία Συστημάτων και Ελέγχου"

Άρης Κεσογλίδης

Παράθεση από: sstergou στις 31 Μαΐου 2010, 03:36:50 ΜΜ
Ναι, εκ των πραγμάτων αποδεικνύεται ότι είναι διαφορετικές.

Επίσης νομίζω ότι και η πρόθεση των συγγραφέων ήταν αυτή.

Αν είναι να δεχόμαστε τα ίδια τότε γνώμη μου είναι ότι θα έπρεπε να δεχόμαστε αυτά της ψευδογλώσσας και όχι αυτά της γλώσσας. Ταιριάζουν πιο πολύ με τους σκοπούς του μαθήματος.

Αυτό ακριβώς... ;)
Άρης Κεσογλίδης
Μαθηματικός
Μεταπτυχιακό στη "Θεωρητική Πληροφορική και Θεωρία Συστημάτων και Ελέγχου"

George

Παράθεση από: gpapargi στις 31 Μαΐου 2010, 02:46:23 ΜΜ
Και να σου θεσω ένα ερώτημα:
Θεωρείς σωστό το να δέχεσαι άλλες λύσεις στην ψευδογλώσσα και άλλες στη ΓΛΩΣΣΑ; Πιστεύεις ότι είναι σωστό να πάει το παιδί στο εργαστήριο και να του πούμε "η λύση που έδωσες στην ψευδογλώσσα δε λειτουργεί" ;


1. Όχι δεν το θεωρώ σωστό. ( τουλάχιστον από παιδαγωγική άποψη μιας και δεν μπορώ εύκολα να το στηρίξω με βάση το διδακτικό πακέτο). Και ακριβώς επειδή δεν μπορώ να λέω άλλα στη γλώσσα και άλλα στη ψευδογλώσσα δεν μπορώ να δεχτώ την ύπαρξη του  ΔΕΔΟΜΕΝΑ // Ν //  παρά μόνο με την προϋπόθεση ότι δηλώνει είσοδο που γίνεται κατά την εκτέλεση και όχι κάτι που είναι γνωστό εκ των προτέρων. Σε αυτό το συμπέρασμα με οδηγεί και το θεμα 3 του 2002.

2. Όσον αφορά το «Με τον όρο στατική δομή εννοείται ότι ... τη στιγμή της μετάφρασης και όχι κατά τη στιγμή της εκτέλεσης»  αν θυμάμαι καλά δεν είναι απόλυτα ακριβές. Αν θυμάμαι καλά ( αν όχι κάθε διόρθωση καλοδεχούμενη) στατικές είναι οι δομές που δεν αλλάζει το μέγεθος τους μετά τον ορισμό τους. Με βάση αυτό ορισμός του βιβλίου μπορεί να γίνει δεκτός μόνο για τη ΓΛΩΣΣΑ και όχι για την ψευδογλώσσα.

Συνδυάζοντας τα 1 και 2 που έγραψα παραπάνω πιστεύω ότι λύνονται τα περισσότερα από τα προβλήματα μας. Με αυτό το σκεπτικό α) το θέμα Γ ( αλγόριθμος )  είναι σωστό και με πίνακες μιας και  το μέγεθος είναι γνωστό πριν τη δημιουργία του πίνακα και δεν αλλάζει στη συνέχεια και β) μας αποτρέπει να χρησιμοποιήσουμε πίνακες σε περιπτώσεις όπως τιμή φρουρός  κτλ.

Όλα  αυτά όμως είναι προσωπικές απόψεις και βασίζονται σε κάποιες παραδοχές που δεν αναφέρονται ρητά στο διδακτικό  πακέτο. Σε κάποιες περιπτώσεις υπονοούνται αλλά δεν γίνεται να βαθμολογούμε με υπονοούμενα.

gkipos

Παράθεση από: ntzios kostas στις 31 Μαΐου 2010, 03:35:16 ΜΜ
Δώσε gkipos εσύ τον αλγόριθμο και μετά θα αλλάξω την άποψη μου.


Έχεις δίκιο για το συγκεκριμένο. Ό,τι να ναι έγω.

me_and_the_300

Όπως και να έχει συνάδελφοι θεωρώ ότι είναι παράδεκτο να μπαίνει θέμα στις πανελλήνιες το οποίο φέρνει τόσες αντιπαραθέσεις και αντικρουόμενες απόψεις ανάμεσα στην επιστημονική μας κοινότητα. Όταν εμείς οι ίδιοι δε μπορούμε να αποφασίσουμε το σωστό και το λάθος πάνω σε ένα θέμα, γιατι θα πρέπει να ζητηθεί απο τα παιδιά; Ειλικρινά δεν το καταλαβαίνω!
Είμαι της άποψης τα θέματα να είναι δύσκολα αλλά να είναι σαφή. Δε νομίζω ότι τα παιδιά κέρδισαν κάτι απο όλο αυτό το θέμα. Έχω δει μαθητές μου να γουστάρουν θέματα δύσκολα επειδή κάτι αποκόμισαν. Από αυτό τι πήραν; Ότι ανα πάσα στιγμή ο καθένας μπορεί να στηριχθεί σε μια ασάφεια η σε κάτι εν τέλει που δεν είναι απόλυτα διευκρινισμένο και να τινάξει στον αέρα τις εξετάσεις;
Όσο για το θέμα με το ΓΡΑΨΕ και το Εμφάνισε ... πως είναι δυνατόν κάποιοι να προτείνουν να αφαιρεθεί έστω και 1 μόριο απο τη στιγμή που σε παλιότερα θέματα η ίδια η επιτροπή έχει κάνει το ίδιο "λάθος" παλιότερα; Έλεος ...

bagelis

Παράθεση από: ntzios kostas στις 31 Μαΐου 2010, 03:35:16 ΜΜ
Θα σας δώσω ένα πρόβλημα:
Να γίνει αλγόριθμος που να ταξινομεί τα στοιχεία μίας στοίβας Ν θέσεων με δεδομένα την κορυφή της top.
Απάντηση: Απωθώ τα στοιχεία της στοίβας σε έναν πίνακα, τα ταξινομώ και στη συνέχεια τα ωθώ παλι στη στοίβα.

Θα μπορούσα να ταξινομήσω τα στοιχεία της στοίβας κατευθείαν. Όχι βέβαια. Μα είναι αλγόριθμος. Ε και! Η δομή στοίβα έχει κάποιους κανόνες είτε είναι αλγόριθμος ή πρόγραμμα. Έτσι και ο Στατικός Πίνακας.

Παρεπιμπτώντος η στοίβα με βάση το σχολικό είναι στατική δομή... :) :D :D :D :D

batos

Παράθεση από: bagelis στις 31 Μαΐου 2010, 08:39:53 ΜΜ
Παρεπιμπτώντος η στοίβα με βάση το σχολικό είναι στατική δομή... :) :D :D :D :D

Βαγγέλη καλησπέρα.

Σχετικά με την στοίβα.....
Σε ποιο άλλο βιβλίο θεωρείται η στοίβα δυναμική;;

Η υλοποίηση της από έναν προγραμματιστή, σίγουρα θα μπορούσε να καταλήξει σε μια δυναμική στοίβα, υπό την ίδια έννοια των δυναμικών πινάκων.

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

Βεβαίως πάλι αναφέρομαι σε πραγματική υλοποίηση και όχι σε αλγόριθμο όπως τον αντιλαμβάνονται άλλοι.

Τέλος, αν θεωρήσουμε όλες τις δομές δυναμικές, τότε ποιες είναι οι στατικές;






bagelis

Κώστα έχει συζητηθεί παλαιότερα και το έχω συναντήσει και σε πολλά βιβλία (μου έρχονται δύο στο μυαλό: το βιβλίο στο πρώτο έτος πληροφορικής του ΕΑΠ και αυτό που είχα διδαχθεί στο πανεπιστήμιο, Δομές Δεδομένων, Μισυρλής).

Η στοίβα και η ουρά είναι στατική ή δυναμική δομή ανάλογα με την υλοποίηση. Αν την κάνεις με pointer (ή στις μέρες μας με έτοιμα αντικείμενα που εσωτερικά κάνουν δυναμική δέσμευση μνήμης) είναι δυναμική, αν την υλοποιήσεις με πίνακες είναι στατική.
Όλα αυτά βέβαια έξω από το σχολικό. Το σχολικό έχει υλοποίηση με πίνακες άρα τις θεωρεί στατικές.

lampros.mousselimis

Παραθέτω, ολοκληρωμένο τον συλλογισμό μου :

Το γεγονός, οτι κάποια άσκηση αναφέρει μέγεθος πίνακα 200 θέσεων, αυτό δεν σημαίνει οτι την  αντίστοιχη πληροφορία δεν πρέπει να τη γνωρίζει και ο Αλγόριθμος, πριν ο χρήστης  αρχίζει να διαβάζει τα περιεχόμενα του πίνακα. Εκτός αν έχουμε βρει κάποιον τρόπο, ώστε η εκφώνηση της άσκησης, να επικοινωνεί με τον Αλγόριθμο και να του μεταβιβάζει αυτή την πληροφορία.

Κατά συνέπεια, αν θεωρούμε δυναμική παραχώρηση μνήμης, τις εντολές :

Αλγόριθμος Τάδε
Διάβασε Ν
Για i από 1 μέχρι Ν
   Διάβασε Α{i}
   Εμφάνισε Α{i}
Τέλος_επανάληψης
Τέλος Τάδε

δυστυχώς  θα πρέπει να θεωρήσουμε ώς δυναμική παραχώρηση μνήμης και το :

Αλγόριθμος Τάδε
Για i από 1 μέχρι 200
   Διάβασε Α{i}
   Εμφάνισε Α{i}
Τέλος_επανάληψης
Τέλος Τάδε

εκτός αν μπορούμε να εξηγήσουμε τον μηχανισμό, με τον οποίο δεσμεύονται προκαταβολικά για τον Αλγόριθμο οι 200 θέσεις του Πίνακα. Και μη μου πείτε, επειδή το λέει η εκφώνηση.



Επιπλέον :

Οι αλγόριθμοι, δεν εκτελούνται από τους υπολογιστές.

Τα ΠΡΟΓΡΑΜΜΑΤΑ, είναι αυτά που εκτελούνται από τους υπολογιστές. Γι'αυτό το λόγο και τα ΠΡΟΓΡΑΜΜΑΤΑ, είναι πιο αυστηρά διατυπωμένα.

Ο ορισμός του Αλγορίθμου αναφέρει :

"Αλγόριθμος, είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος"

Υπό αυτό το πρίσμα, όταν θέλω ο Αλγόριθμός μου να εκτελείται από έναν Η/Υ, θα πρέπει να προσέξω να τηρούνται όλα τα Αλγοριθμικά κριτήρια και επιπλέον, κάθε εντολή του Αλγορίθμου ή σχόλιο, να μετατρέπονται σε εκτελέσιμη οδηγία ή εκτελέσιμη εντολή του ΠΡΟΓΡΑΜΜΑΤΟΣ.

Όπως βέβαια καταλαβαίνετε το να γράψω :

Αλγόριθμος Τάδε
Δεδομένα//Α//
! Ο πίνακας, έχει δεσμεύσει 200 θέσεις μνήμης

Για i από 1 μέχρι 200
   Διάβασε Α{i}
   Εμφάνισε Α{i}
Τέλος_επανάληψης
Τέλος Τάδε

μεταφράζεται σε εντολές ΠΡΟΓΡΑΜΜΑΤΟΣ, ώς εξής :

ΠΡΟΓΡΑΜΜΑ Τάδε
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ : Α{200}, i
ΑΡΧΗ
ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 200
  ΔΙΑΒΑΣΕ Α{i}
  ΓΡΑΨΕ A{i}
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Τα σχόλια σε έναν αλγόριθμο, μπορούν να μετατραπούν σε εκτελέσιμες εντολές ή οδηγίες, όταν πλέον κατασκευάσουμε την εκτελέσιμη εκδοχή του Αλγορίθμου μας, που παρεπιμπτόντως, ονομάζεται ΠΡΟΓΡΑΜΜΑ.

Προφανώς και οι πίνακες όπως διδάσκονται στο Βιβλίο, είναι στατικές δομές.

Όταν όμως το σχολικό βιβλίο, δεν είναι τυπικό, με τον σεβασμό-θεώρηση του πίνακα σαν στατική δομή στους Αλγόριθμους, όπως επίσης και η διδασκαλία από όλους τους καθηγητές, κατά την διάρκεια της χρονιάς (διαβάστε τον κώδικα πιο πάνω και θα καταλάβετε τί εννοώ) τότε δεν μπορούμε να κόψουμε, ούτε 1 μόριο από τους μαθητές.

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

batos

Παράθεση από: bagelis στις 01 Ιουν 2010, 12:06:04 ΠΜ
Κώστα έχει συζητηθεί παλαιότερα και το έχω συναντήσει και σε πολλά βιβλία (μου έρχονται δύο στο μυαλό: το βιβλίο στο πρώτο έτος πληροφορικής του ΕΑΠ και αυτό που είχα διδαχθεί στο πανεπιστήμιο, Δομές Δεδομένων, Μισυρλής).

Η στοίβα και η ουρά είναι στατική ή δυναμική δομή ανάλογα με την υλοποίηση. Αν την κάνεις με pointer (ή στις μέρες μας με έτοιμα αντικείμενα που εσωτερικά κάνουν δυναμική δέσμευση μνήμης) είναι δυναμική, αν την υλοποιήσεις με πίνακες είναι στατική.
Όλα αυτά βέβαια έξω από το σχολικό. Το σχολικό έχει υλοποίηση με πίνακες άρα τις θεωρεί στατικές.

Είναι γεγονός ότι μπορούμε να υλοποιήσουμε τα πάντα τελικά, όπως θέλουμε.
Νομίζω ότι η αντίληψή μου για το τι ορίζεται ως στατικό ή δυναμικό, έχει να κάνει με την μορφή που τα πρωτοδιδάχθηκα πριν από 25 χρόνια. Τότε όταν λέγαμε πίνακας, εννοούσαμε στατικός, όταν λέγαμε ουρά, εννοούσαμε δυναμική, όταν λέγαμε στοίβα, εννοούμε στατική και τέλος όταν λέγαμε δέντρα, εννοούσαμε καρα-δυναμικά.

Αν δεν συγκεκριμενοποιήσουμε, τι εννοούμε όταν αναφερόμαστε στα άπειρα αυτά πραγματάκια, θα έχουμε τα ίδια κάθε χρόνο.

Πρέπει να καταλήξουμε κάπου για το μέλλον του μαθήματος. Ένα νέο βιβλίο; Μια πραγματική γλώσσα (πχ JAVA);
Βαρέθηκα να ψάχνω όλο το βιβλίο μαθ., το τετρ.μαθ. και το βιβλίο καθ.,για να μαντέψω τι εννοεί κάθε φορά το βιβλίο.
Βαρέθηκα να ψάχνω σε βοηθητικά για να δω τι έχει καταλάβει ο συνάδελφος που το έγραψε.
Βαρέθηκα να βλέπω λάθη στο βιβλίο που δεν έχουν διορθωθεί εδώ και 10 χρόνια.
Βαρέθηκα να  διδάσκω το 6.2 σε 2 ώρες και να ευχαριστώ το θεό που δεν εξετάζομαι εγώ σε αυτά.
Βαρέθηκα να αδυνατώ να εξηγήσω στους μαθητές, γιατί διδάσκονται ψευδογλώσσα και ΓΛΩΣΣΑ.
Βαρέθηκα να βλέπω να βάζουν θέματα στις πανελλαδικές που είναι άγνωστο, ποια γνώση ή ικανότητα θέλουν να εξετάσουν.
Βαρέθηκα να βλέπω θέματα σπαζοκεφαλιές, όταν το βιβλίο δεν έχει τέτοια ή τα χαρακτηρίζει με **. 
Βαρέθηκα να πρέπει να τελειώσω τη ύλη μέχρι 25 Μαρτίου, όταν το διδακτικό έτος τελειώνει στα μέσα Μαΐου.

Vangelis

Παράθεση από: bagelis στις 31 Μαΐου 2010, 02:26:22 ΜΜ
Αν ρωτάς εμένα σαν Βαγγέλη τι θα διδάσκω του χρόνου στα παιδιά, θα κάνω ότι και φέτος:
Μην χρησιμοποιείται πίνακες αν δεν ξέρετε μέγεθος.

Και να σου πω και κάτι? Δεν νομίζω ότι οι περισσότεροι εδώ μέσα κάνουν κάτι άλλο.


Πες το βρε ανθρωπέ μου και μας έπρηξες με τόσα κατεβατά!
Μετα απο αυτό προτείνω να αλλάξεις το ποστ σε "Επιχειρήματα για τη μη χρήση πίνακα"

batos

Παράθεση από: lampros.mousselimis στις 01 Ιουν 2010, 12:17:36 ΠΜ
....

Όπως βέβαια καταλαβαίνετε το να γράψω :

Αλγόριθμος Τάδε
Δεδομένα//Α//
! Ο πίνακας, έχει δεσμεύσει 200 θέσεις μνήμης

Για i από 1 μέχρι 200
   Διάβασε Α{i}
   Εμφάνισε Α{i}
Τέλος_επανάληψης
Τέλος Τάδε

....

Όπως βέβαια δεν καταλαβαίνω, γιατί να βάλεις τον Α στα Δεδομένα αφού δεν επεξεργάζεσαι το περιεχόμενό του;

zaube

Σχετικά με το 3ο θεμα ΑΕΠΠ 2010:

Ορθή η χρηση πίνακα γιατί:

1) ΑΕΠΠ τετράδιο μαθητή σελ. 33 -"αραιός πίνακας"
  Το μέγεθος του αραιού πίνακα ορίζεται 3*n γιατί δεν ξέρουμε από πριν το πλήθος n των μη μηδενικών του δυσδιάστατου (το να υποθέσουμε ότι το μέγεθος του αραιού είναι γνωστό και ίσο με το μέγεθος του δυσδιάστατου*3 προκειμένου να εξασφαλίσουμε το μέγιστο δυνατό μέγεθος πίνακα, αναιρεί την όλη φιλοσοφία του αλγορίθμου που είναι "οικονομία θέσεων μνήμης"). Άρα το n (πλήθος μη μηδενικών) και κατ' επέκταση το 3*n (μέγεθος αραιού) είναι άγνωστο γιατί προφανώς ισούται με το πλήθος των μη μηδενικών στοιχείων του δυσδιάτατου*3 (κ' για να προλάβω όποιον πει 6*3, τα 6 μη μηδενικά δίνονται απλά σα παράδειγμα και σ'αυτήν την περίπτωση στα δεδομένα δε θα έγραφε n (που ορίζει εμμέσως το 3*n μέγεθος του πίνακα), θα 'γραφε απλά sparse (δεδομένος πίνακας μεγέθους 18))

2) ΑΕΠΠ Βιβλίο μαθητή σελ. 58 και θέμα Α4 Πανελληνίων 2010 - "Άθροισμα πίνακα"
Το μέγεθος του πίνακα ορίζεται mXn (άγνωστο δηλαδή). Τα m,n βρίσκονται στα Δεδομένα, δηλ. υποθέτουμε πως έχουν διαβαστεί (πιθανώς υπό την προϋπόθεση να 'ναι μικρότερα ή ίσα από κάποιους ακεραίους που θα ορίζουν το μέγεθος του πίνακα). Άλλωστε στην 1η μας επαφή με αυτού του είδους αναπαράσταση αλγορίθμων (όπου γίνεται χρήση εντολής Δεδομένα // //) στη σελ. 48 του σχολικού βιβλίου, τα m, n θεωρείται πως προέκυψαν από "είσοδο" (το αναφέρει παραπάνω στην ίδια σελίδα, στην επεξήγηση του αλγορίθμου σε φυσική γλώσσα). Άρα τα m,n έχουν υποτίθεται ήδη διαβαστεί, δηλ. έχουν εισαχθεί στον αλγόριθμο από εντολή εισόδου. Το ίδιο συμβαίνει και στο θέμα Γ 2010, όπου το πλήθος αγωνιζομένων (δηλ. το υποτιθέμενο μέγεθος του πίνακα) εισήχθη με εντολή εισόδου στον αλγόριθμο.

3) ΑΕΠΠ Βιβλίο μαθητή σελ. 64 - "Ταξινόμηση πίνακα"
Μέγεθος πίνακα n άγνωστο (ομοίως με παρατήρηση (2))

4) Θέματα ΑΕΠΠ Πανελληνίων 2005:

ΘΕΜΑ 3ο
Δίνεται πίνακας Α[Ν] ακέραιων και θετικών αριθμών, καθώς και πίνακας Β[Ν-1] πραγματικών και θετικών αριθμών.
Να γραφεί αλγόριθμος, ο οποίος να ελέγχει αν κάθε στοιχείο Β είναι ο μέσος όρος των στοιχείων Α και Α[i+1], δηλαδή αν Β = (Α + Α[i+1])/2.
Σε περίπτωση που ισχύει, τότε να εμφανίζεται το μήνυμα «Ο πίνακας Β είναι ο τρέχων μέσος του Α», διαφορετικά να εμφανίζεται το μήνυμα «Ο πίνακας Β δεν είναι ο τρέχων μέσος του Α».

Το παραπάνω είναι το 3ο θέμα των πανελληνίων του 2005. Το Ν είναι ή δεν είναι άγνωστο κύριοι; Άρα στη λύση έπρεπε το n να μπει στα Δεδομένα (θεωρώντας ότι έχει εισαχθεί με εντολή εισόδου); Το ότι στο θέμα Γ του 2010 το πλήθος των αγωνιζομένων εισάγεται με εντολή εισόδου από το μαθητή είναι ακριβώς το ίδιο με το να τοποθετηθεί στα Δεδομένα (όπου υποθέτουμε/κάνουμε την παραδοχή ότι εισήχθη ήδη με εντολή εισόδου).


gpapargi

Παράθεση από: gthal στις 31 Μαΐου 2010, 03:23:47 ΜΜ
Και το άλλο ερώτημα, αμέσως μετά από αυτό:
Θεωρείς ότι έχει νόημα τότε Γιώργο να τις έχουμε και τις δυο?
Και αν ναι, ποιο ?

Σόρυ για το μεγάλο μήνυμα Γιώργο, αλλά έκατσα και στα έγραψα όλα αυτά επειδή σε σέβομαι και θέλω να καταλάβεις πως τα έχω μέσα στο κεφάλι μου. Καλύτερα μια φορά με πληρότητα παρά 100 σκόρπιες κουβέντες.

Το σίγουρο είναι ότι πρέπει να υπάρχει ένα προγραμματιστικό περιβάλλον για να μη μιλάμε αόριστα. Απλά επειδή δε θέλουμε να μπλέξουμε τους μαθητές με δηλώσεις μεταβλητών και γενικά με τεχνικές λεπτομέρειες υλοποίησης φτιάχτηκε η ψευδογλώσσα. Έτσι δίνουμε έμφαση στο αλγοριθμικό κομμάτι. Αυτός είναι και ο λόγος που δεν διδάσκεται με το μάθημα μια πραγματική γλώσσα προγραμματισμού.

Ο μαθητής λοιπόν με τη βοήθεια της ψευδογλώσσας αποτυπώνει τη σκέψη του στο χαρτί.

Είναι αρκετό αυτό; Όχι.

Μέρος του αλγορίθμου δεν είναι μόνο οι ενέργειες, είναι και τα δεδομένα. Άρα πρέπει ο μαθητής να μάθει και για κάποιους περιορισμούς που υπάρχουν στα αληθινά περιβάλλοντα. Το σημαντικότερο από αυτά για μένα είναι το ζήτημα τω δομών δεδομένων. Οι δομές δεδομένων είναι συνυφασμένες με τον αλγόριθμο. Δε γίνεται να πεις ασχολούμαι μόνο με αλγορίθμους αλλά όχι με δομές. Θα δώσω 2 παραδείγματα για αυτό:
Πρώτον αν θέλουμε να βρούμε τα στοιχεία μιας λίστας που είναι πάνω από το μέσο όρο τους, πρέπει να προσπελάσεις κάθε στοιχείο πάνω από μια φορά,. Άρα θέλεις κάποια δομή δεδομένων που θα αποθηκεύσει τα στοιχεία και θα επιτρέπει το μαζικό χειρισμό τους. Θέλεις πίνακα.
Δεύτερον: Έστω ότι μιλάμε για διάσχιση λαβυρίνθου. Μια λύση είναι σε κάθε διασταύρωση να ακολουθείς ένα δρόμο και να αποθηκεύεις τους άλλους έτσι ώστε να βρεθείς σε αδιέξοδο να γυρίσεις πίσω και να πάρεις άλλο δρόμο. Εδώ θέλεις στοίβα. Ο συγκεκριμένος αλγόριθμος δε γίνεται να περπατήσει χωρίς στοίβα. Βλέπουμε λοιπόν ότι η δομή δεδομένων είναι κομμάτι του αλγορίθμου.

Εφόσον οι δομές δεδομένων είναι κομμάτι των αλγορίθμων, σε ένα μάθημα αλγορίθμων πρέπει να μιλήσεις αναγκαστικά και για αυτές.

Προσοχή τώρα: Η δομή δεδομένων είναι ένα σύνολο δεδομένων εφοδιασμένο με ένα σύνολο πράξεων. Όταν μιλάς μόνο για αυτό σύνολο πράξεων και δεν ασχολείσαι με την υλοποίησή τους τότε ασχολείσαι με την αφηρημένη δομή δεδομένων (ΑΔΔ).

Λύνοντας προβλήματα σε ψευδογλώσσα λύνεις προβλήματα σε αφηρημένες δομές δεδομένων. Πίνακες απροσδιόριστου μεγέθους, στοίβες και ουρές που δεν έχουν ακόμα χαρακτηριστεί σαν στατικές ή δυναμικές γιατί είμαστε ακόμα σε φάση αφηρημένης δομής δεδομένων και όχι υλοποίησης.

Το ερώτημα που τίθεται είναι: Είναι δυνατόν να δέχεσαι λύσεις που κάνουν χρήση αφηρημένων δομών δεδομέων; Μπορείς να μιλάς για άπειρους πίνακες; Έχει νόημα να μιλάς για πίνακες που δεν ξέρεις το μέγεθός τους; Όχι. Τα αληθινά περιβάλλοντα έχουν περιορισμούς και για να μην πετάμε στον αέρα θα πρέπει να δίνουμε λύσεις που είναι δυνατόν να υλοποιηθούν σε κάποιο περιβάλλον και θα σεβόμαστε τους περιορισμούς τους.

Έτσι είναι αναγκαίο να υπάρχει ένα προγραμματιστικό περιβάλλον στα πλαίσια του μαθήματος διαφορετικά οι μαθητές θα λύνουν ασκήσεις σε αφηρημένες δομές δεδομένων και θα νομίζουν ότι τις λύνουν σε πίνακες απείρων διαστάσεων ή δυναμικούς πίνακες ή δεν ξέρω εγώ τι άλλο.

Πχ
Διάβασε ν
Για ι από 1 μέχρι ν
  Διάβασε α[ι]
Τέλος_επανάληψης
Διάβασε α[ν+1]

Με βάση το λόγο ύπαρξης του περιβάλλοντος θεωρώ αδιανόητο να δίνουμε λύσεις σε ψευδογλώσσα οι οποίες δεν μεταφέρονται στο προγραμματιστικό μας περιβάλλον. Θεωρώ λάθος επίσης να λέμε άλλο ΓΛΩΣΣΑ και άλλο ψευδογλώσσα διότι καταστρατηγούμε το βασικό σκοπό για τον οποίο υπάρχει το προγραμματιστικό περιβάλλον: Να φτιάξουμε ένα αλγόριθμο σε ψευδογλώσσα και στη συνέχεια να δούμε πως ο συγκεκριμένος αλγόριθμος και όχι κάποιος άλλος υλοποιείται στο προγραμματιστικό μας περιβάλλον.

Τότε γιατί να υπάρχει η ψευδογλώσσα και όχι μόνο η ΓΛΩΣΣΑ;
Ο λόγος ύπαρξης είναι ότι θέλουμε αρχικά να μη μπλέξουμε το μαθητή με δηλώσεις μεταβλητών και λεπτομέρειες υλοποίησης. Δεν έχω πρόβλημα να μην υπάρχει ψευδογλώσσα. Είναι όμως βολική στο πρώτο στάδιο και δε με χαλάει. Αλλά σε καμία περίπτωση δεν πρέπει να παρεξηγούμε την ελευθερία της και το στόχο της και να δίνουμε λύσεις σε ψευδογλώσσα που δε μεταφέρονται σε ΓΛΩΣΣΑ.

Εντολές όπως το αντιμετάθεσε (που άκουσα από τον Πέτρο) μεταφέρονται σε ΓΛΩΣΣΑ με τη βοήθεια των 3 εντολών, οπότε δε μας χαλάνε. Αλλά λύσεις που κάνουν χρήση αγνώστων μεγεθών σε πίνακα μας χαλάνε.

Θεωρώ ότι ο φίλος μου ο Στάθης (Στέργου), είναι λάθος που θεωρεί διαφορετικά πράγματα ΓΛΩΣΣΑ και ψευδογλώσσα. Θεωρεί ότι η ψευδογλώσσα κάνει χρήση δυναμικών πινάκων. Για μένα η ψευδογλώσσα χρησιμοποιεί απλά αφηρημένες δομές δεδομένων. Αυτά τα 2 είναι διαφορετικά. Στο ένα δε μας ενδιαφέρει η υλοποίηση του πίνακα (γιατί δεν είναι της παρούσας στιγμής) ενώ στο άλλο μας ενδιαφέρει, το υλοποιήσαμε και το κάναμε δυναμικά.

Θεωρώ αντιπαιδαγωγικό το να έχουμε ένα στατικό και ένα δυναμικό περιβάλλον στο ίδιο μάθημα. Θεωρώ πως το σκεπτικό με βάση το οποίο υπάρχουν και τα 2 είναι αυτό που περιγράφω παραπάνω.

Για να παρακάμψουμε το θέμα του μεγέθους των πινάκων στην ψευδογλώσσα χρησιμοποιούμε το Δεδομένα //χ,ψ// το οποίο σημαίνει ότι τα χ και ψ είναι γνωστά. Δε μας νοιάζει από πού είναι γνωστά γιατί αυτή τη στιγμή μας απασχολεί το κομμάτι της επεξεργασίας και όχι του αποθηκευτικού χώρου ή των δομών δεδομένων. Είναι όμως γνωστοί αριθμοί πχ 5, 10, 20 κλπ
Είναι γνωστά με την έννοια που ο φυσικός λέει «Σώμα εκτοξεύεται με γωνία φ από ύψος h και με αρχική ταχύτητα υ0. Να βρείτε το χρόνο t στον οποίο θα φτάσει στο έδαφος».  Τα φ, h και υ0 είναι γνωστά υπό την έννοια ότι ο άγνωστος t θα βρεθεί συναρτήσει αυτών. Δε δίνουμε τα νούμερά τους αλλά θεωρήστε ότι είναι γνωστά.

Όπως επίσης στις παραμετρικές εξισώσεις των μαθηματικών σου δίνει μια εξίσωση με άγνωστο το χ και παράμετρο το λ και σου ζητάει το χ. Τι είναι το λ; Είναι γνωστός ή άγνωστος; Είναι γνωστός και συναρτήσει αυτού θα βρούμε το χ. Δεν είναι διαθέσιμη η τιμή του εκείνη τη στιγμή αλλά θα του φερθούμε σαν να είναι γνωστός.



Σπύρος Δουκάκης

Θεωρώ χρήσιμη αυτή τη συζήτηση που γίνεται σε αυτό το θέμα.

Δεν θα γράψω για να πω τη θέση μου, αλλά για να αναφέρω το εξής:

Φαίνεται ότι υπάρχουν διαφορετικές ερμηνείες για τα διδασκόμενα θέματα του μαθήματος. Εκτός από το καθαρά προσωπικό λόγο (να προστατέψω αυτά που διδάσκω ή αυτά που έχω γράψει στο δίκτυο, στις σημειώσεις μου κ.α.) έρχεται το θέμα του διαφορετικού τρόπου με τον οποίον "ανδρώθηκε και έγινε πληροφορικός καθένας από εμάς". Διαφορετικό πρόγραμμα σπουδών, διαφορετικά μαθήματα... διαφορετικές βάσεις θα τολμούσα να πω.

Τι σημαίνει αυτό για μένα. Δεν ξέρω πόσοι από εμάς και με ποιο τρόπο διδαχτήκαμε αλγοριθμική (δηλαδή ένα αντίστοιχο μάθημα με αυτό που διδάσκουμε) κατά τις σπουδές μας στην τριτοβάθμια εκπαίδευση. Όμως ο τρόπος που το διδαχτήκαμε (π.χ. με κάποια τεχνητή γλώσσα (δεν μου αρέσει ο όρος πραγματική γλώσσα), μόνο με διαγράμματα ροής, με ψευδογλώσσα) επηρεάζει τις θέσεις μας. Είναι χρήσιμο και το έχω ξαναπεί στην ημερίδα της ΕΠΥ να εντοπίζαμε απόφοιτους τεχνολογικής που διδάσκουν το μάθημα. Αυτοί έχουν δει άλλα πράγματα από εμάς και νομίζω ότι θα έχουν διαφοροποιημένη οπτική.

Θα έλεγα, λοιπόν, ότι όλοι μας πρέπει να επιζητήσουμε σοβαρότατη επιμόρφωση. Μέσα σε αυτούς βάζω και τους θεματοδότες, τους συγγραφείς βοηθημάτων, τους καθηγητές, ακόμα και τους πανεπιστημιακούς που "βγάζουν" καθηγητές. Ποιος θα επιμορφώσει βέβαια αν όλοι χρειάζονται επιμόρφωση...

Η ενιαία αντιμετώπιση, στάση και γραμμή επιτυγχάνεται με επιμόρφωση και προσωπική δουλειά. Με διάβασμα του διδακτικού πακέτου από την αρχή και θετική στάση απέναντι αυτού. Απαιτείται όλοι να έχουμε κατά νου τις αρχές της διαψευσιμότητας και όχι της απολυτότητας, Η δεύτερη κυριάρχησε αυτές τις ημέρες...

sstergou

Καταρχήν χαίρομαι που γίνεται επιτέλους κουβέντα στο σωστό τόνο και χωρίς υπερβολές :)

Έχω να κάνω μερικές παρατηρήσεις.

1) Το αν είναι σωστή ή όχι η λύση με πίνακες δεν θεωρώ ότι είναι κάτι που πρέπει να "αποφασίσουμε" με βάση το πως θα θέλαμε να ήταν οι πίνακες και η ψευδογλώσσα. Ασφαλώς και θα πρέπει να γίνει κουβέντα για αυτό, για την ορθότητα του θέματος θα πρέπει να λάβουμε υπόψη μας και άλλους παράγοντες, όπως π.χ. οι αλγόριθμοι του τετραδίου και του βιβλίου μαθητή.

2) Εγώ δέχομαι και συζητάω (αν και διαφωνώ) με όλους τους συναδέλφους που πιστεύουν ότι η λύση είναι λανθασμένη. Επίσης το ίδιο κάνει και η αντίθετη πλευρά. Το γεγονός αυτό συμβαίνει επειδή και οι δύο πλευρές έχουν εύλογα επιχειρήματα. Με βάση αυτή τη λογική λοιπόν ήταν λάθος η εξέταση του συγκεκριμένου σημείου. Αν ποτέ έβαζα θέματα στις εξετάσεις και έβαζα ένα θέμα με άγνωστο αριθμό στοιχείων (άγνωστο, όχι Ν) και στη συνέχεια έστελνα διευκρίνηση ότι η λύση με πίνακες είναι σωστή θα ξεσηκωνόντουσαν πάρα πολλοί συνάδελφοι (με το δίκιο τους). Το θέμα λοιπόν δεν έπρεπε να εξεταστεί.

Υπό αυτές τις προυποθέσεις μπορώ να συμμετάσχω σε οποιαδήποτε κουβέντα. Τώρα στο θέμα μας :

Παράθεση από: gpapargi στις 01 Ιουν 2010, 11:06:53 ΠΜ
Μέρος του αλγορίθμου δεν είναι μόνο οι ενέργειες, είναι και τα δεδομένα. Άρα πρέπει ο μαθητής να μάθει και για κάποιους περιορισμούς που υπάρχουν στα αληθινά περιβάλλοντα. Το σημαντικότερο από αυτά για μένα είναι το ζήτημα τω δομών δεδομένων. Οι δομές δεδομένων είναι συνυφασμένες με τον αλγόριθμο.

Σύμφωνοι.

Παράθεση από: gpapargi στις 01 Ιουν 2010, 11:06:53 ΠΜ
Το ερώτημα που τίθεται είναι: Είναι δυνατόν να δέχεσαι λύσεις που κάνουν χρήση αφηρημένων δομών δεδομέων; Μπορείς να μιλάς για άπειρους πίνακες; Έχει νόημα να μιλάς για πίνακες που δεν ξέρεις το μέγεθός τους; Όχι. Τα αληθινά περιβάλλοντα έχουν περιορισμούς και για να μην πετάμε στον αέρα θα πρέπει να δίνουμε λύσεις που είναι δυνατόν να υλοποιηθούν σε κάποιο περιβάλλον και θα σεβόμαστε τους περιορισμούς τους.

Γιώργο, αν στην ΓΛΩΣΣΑ μπορούσες να ορίσεις στατικό πίνακα μεγέθους Ν (όπως γίνεται σε ένα σωρό άλλα περιβάλλοντα) θα θεωρούσες τη λύση με πίνακες λάθος;

Ξαναλέω : η λύση του συγκεκριμένου προβλήματος δεν είναι αντίθετη με την στατικότητα των δομών και των πινάκων, είναι εφικτή και υλοποιήσιμη με στατικούς πίνακες. Απλά όχι στην ΓΛΩΣΣΑ. Το ίδιο συμβαίνει πάμπολλους αλγόριθμους από το βιβλίο "είναι υλοποιήσιμοι με στατικές δομές αλλά όχι στην ΓΛΩΣΣΑ". Γιατί λοιπόν οι αλγόριθμοι του βιβλίου είναι σωστοί ενώ αυτοί των μαθητών όχι;

Παράθεση από: gpapargi στις 01 Ιουν 2010, 11:06:53 ΠΜ
Έτσι είναι αναγκαίο να υπάρχει ένα προγραμματιστικό περιβάλλον στα πλαίσια του μαθήματος διαφορετικά οι μαθητές θα λύνουν ασκήσεις σε αφηρημένες δομές δεδομένων και θα νομίζουν ότι τις λύνουν σε πίνακες απείρων διαστάσεων ή δυναμικούς πίνακες ή δεν ξέρω εγώ τι άλλο.

Πολλοί μαθητές αλλά και καθηγητές έλυσαν το συγκεκριμένο πρόβλημα έχοντας στο νου τους ότι μπορεί να γίνει μεταφορά σε προγραμματιστικό περιβάλλον που υλοποιεί στατικούς πίνακες.

Για το συγκεκριμένο πρόβλημα δεν χρειάζονται ούτε άπειροι ούτε δυναμικοί πίνακες.


Παράθεση από: gpapargi στις 01 Ιουν 2010, 11:06:53 ΠΜ
Θεωρώ ότι ο φίλος μου ο Στάθης (Στέργου), είναι λάθος που θεωρεί διαφορετικά πράγματα ΓΛΩΣΣΑ και ψευδογλώσσα. Θεωρεί ότι η ψευδογλώσσα κάνει χρήση δυναμικών πινάκων. Για μένα η ψευδογλώσσα χρησιμοποιεί απλά αφηρημένες δομές δεδομένων. Αυτά τα 2 είναι διαφορετικά. Στο ένα δε μας ενδιαφέρει η υλοποίηση του πίνακα (γιατί δεν είναι της παρούσας στιγμής) ενώ στο άλλο μας ενδιαφέρει, το υλοποιήσαμε και το κάναμε δυναμικά.

Γιώργο, μπορώ να συμφωνήσω με αυτό που λες και θα το κάνω για τους λόγους αυτής της κουβέντας αλλά και γιατί πιστεύω ότι εν μέρει έχεις δίκιο.

Η ψευδογλώσσα λοιπόν κάνει χρήση αφηρημένων δομών. Πως κρίνουμε λοιπόν την ορθότητα ενός αλγορίθμου;
Φαντάζομαι το κριτήριο είναι το εξής : Μπορεί ο αλγόριθμος να μετατραπεί σε πρόγραμμα με στατικές δομές;
Αν ναι είναι σωστός, αν όχι, υπάρχει λάθος.
Εδώ όμως έχω μια περίπτωση όπου ο αλγόριθμος μπορεί να μετατραπεί!

Σε αυτό νομίζω συμφωνούμε, αλλά υπάρχει ένα πρόβλημα. Δυστυχώς στο βιβλίο υπάρχουν παραδείγματα όπου προγράμματα σε ΓΛΩΣΣΑ τα οποία κατασκευάζουν πίνακες, χρησιμοποιούν ένα αυθαίρετο άνω όριο. Αν δεν τα θεωρήσουμε όλα αυτά λάθος δεν μπορούμε να κάνουμε το ίδιο και με τους αλγόριθμους όπου παραπάνω περιγράφω ότι δεν είναι δυνατόν να μετατραπούν σε προγράμματα που χρησιμοποιούν στατικές δομές.

gpapargi

Αποφεύγω να μιλήσω για τη στατικότητα της δομής γιατί το βιβλίο την έχει ελλιπώς. Με βάση το βιβλίο (σελίδα 56) στις στατικές δομές δεδομένων το μέγεθος καθορίζεται κατά τον προγραμματισμό και είναι γνωστό κατά την μεταγλώττιση.
Μπορείς όμως στη C να ορίσεις στατικό πίνακα και κατά την εκτέλεση.

Ωστόσο όπως είπα το σκοπό ύπαρξης ψευδογλώσσας και ΓΛΩΣΣΑΣ τα 2 αυτά πρέπει να υποστηρίζουν τις ίδιες λύσεις έτσι ώστε ο μαθητής να μπορεί να υλοποιεί σε ΓΛΩΣΣΑ αυτό που έγραψε σε ψευδογλώσσα. Σημείο αναφοράς είναι η ΓΛΩΣΣΑ όχι η C.

Αυτά θα έλεγα σε κάποιον που θεωρεί ότι πρέπει να βαδίζει με βάση το σχολικό βιβλίο.
Σε κάποιο άτομο που τον ενδιαφέρει η πληροφορική σαν επιστήμη και έχει γνώσεις (όπως είσαι εσύ) δε θα έλεγα τίποτα από τα παραπάνω. Θα μίλαγα απλώς για κακή χρήση πόρων και σπατάλη μνήμης που στέλνει το μαθητή σε λανθασμένη κατεύθυνση και θα σταμάταγα εκεί.

ΥΓ Αυτά που έγραψα για δυναμικούς πίνακες τα έγραψα με βάση μια παλιά τοποθέτηση σου. Αν θυμάμαι καλά πιστεύεις ότι η ψευδογλώσσα υποστηρίζει δυναμικούς πίνακες. Μπορεί να μη θυμάμαι καλά. 

sstergou

Κοίτα Γιώργο, όσον αφορά παρόμοια τοποθέτησή μου παλιότερα :
Μπορώ είτε να δεχθώ ότι οι πίνακες στην ψευδογλώσσα υλοποιούνται με δυναμικό τρόπο είτε ότι μιλάμε για αφηρημένες δομές. Από τότε όμως το έχω ψάξει αρκετά το θέμα και έχω σχηματίσει μια πιο "έγκυρη" άποψη πάνω στο θέμα.

Με λίγα λόγια, δεν ξέρω για τους πίνακες αλλά οι απόψεις μου σίγουρα δεν είναι στατικές!
Aν πειστώ ότι κάτι έχω σκεφτεί στραβά το αλλάζω και ίσως να το έχω κάνει...

Πάντως τελικά βρήκα το σημείο διαφωνίας μας. Όταν τακτοποιήσουμε αυτό ίσως τελικά συμφωνήσουμε κάποια στιγμή, πράγμα θετικό.

Το σημείο είναι το εξής :

ΠαράθεσηΣημείο αναφοράς είναι η ΓΛΩΣΣΑ όχι η C.

Εδώ είναι η διαφωνία μου,πιστεύω

α) Ότι η ΓΛΩΣΣΑ δεν είναι σημείο αναφοράς. Δεν ξέρω από που προκύπτει αυτό. Εννοείται ούτε η C.
β) Η ΓΛΩΣΣΑ δεν θα έπρεπε επίσης να είναι σημείο αναφοράς. Μπορώ να το αναλύσω αυτό. Κυρίως όμως συνοψίζεται στο ότι πιστεύω πολλά από τα χαρακτηριστικά της είναι παρωχημένα και άλλα αντιπαιδαγωγικά. Αν θες μπορούμε να ξεκινήσουμε άλλη κουβέντα σε αυτό το θέμα.
γ) Σημείο αναφοράς πρέπει να είναι η ΠΛΗΡΟΦΟΡΙΚΗ και οι σωστές παιδαγωγικές τεχνικές.

Δεν νομίζω λοιπόν ότι η λύση με πίνακα του συγκεκριμένου προβλήματος (γνωστός Ν αριθμός στοιχείων) έρχεται σε σύγκρουση με την πληροφορική.

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

gpapargi

Επειδή μιλάω με εσένα και όχι με κάποιον άλλο που είναι προσκολλημένος στο σχολικό βιβλίο, θα προτιμούσα η κουβέντα να πάρει την κατεύθυνση της κακής χρήσης πόρων.
Δυστυχώς όσοι δέχονται αλγορίθμους κακής ποιότητας πατάνε στο ότι το κεφάλαιο 5 είναι εκτός ύλης. Εδώ όμως το ζήτημα της κακής χρήσης πόρων είναι εντός ύλης( παράγραφος 9.2 σχολικού).
Δεν πρέπει να το εκμεταλλευτούμε για να πιάσουμε αυτούς που κάνουν περιττή χρήση πίνακα; Για μένα πρώτα από όλα είναι αυτό. Μετά το τι επιτρέπει η ψευδογλώσσα.

pgrontas

Στάθη ενώ συμφωνώ με αυτό
Παράθεση από: sstergou στις 01 Ιουν 2010, 02:38:28 ΜΜ
γ) Σημείο αναφοράς πρέπει να είναι η ΠΛΗΡΟΦΟΡΙΚΗ και οι σωστές παιδαγωγικές τεχνικές.
διαφωνώ με αυτό:
Παράθεση από: sstergou στις 01 Ιουν 2010, 02:38:28 ΜΜ
Δεν νομίζω λοιπόν ότι η λύση με πίνακα του συγκεκριμένου προβλήματος (γνωστός Ν αριθμός στοιχείων) έρχεται σε σύγκρουση με την πληροφορική.
Δεν θεωρείς ότι η αλγοριθμική σκέψη στο συγκεκριμένο πρόβλημα, προάγεται καλύτερα από την λύση χωρίς τον πίνακα;
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

gpapargi

Νομίζω ότι αν σημείο αναφοράς είναι η πληροφορική (και πιστεύω ότι μεταξύ μας πάντα αυτό είναι) τότε η κακή χρήση πόρων είναι το λάθος. Είναι λάθος ένα κλικ παρακάτω από τους αλγορίθμους κακής ποιότητας (όπως πχ εύρεση μεγίστου με πλήρη ταξινόμηση ή σάρωση όλου του δισδιάστατου πίνακα και χρήση Αν μέσα στο διπλό βρόχο για να σαρώσεις μόνο την 3 γραμμή... αντί για μονό βρόχο)

Δημήτρης Δαλαγιώργος

Συγχωρέστε μου το crosspost, αντιλαμβάνομαι ότι το παρακάτω μήνυμα δεν ταιριάζει στη ροή της συζήτησης, αλλά πιστεύω ότι κάτι έχει να προσθέσει. Ήδη ο gpapargi μου έχει απαντήσει (κι εγώ σ' αυτόν) στο γνωστό τεράστιο thread!

Εκτός από τους βασικούς τύπους δεδομένων, οι περισσότερες γλώσσες προγραμματισμού διαθέτουν και δομημένους τύπους δεδομένων. Από τους πιο συνηθισμένους αυτούς τύπους δεδομένων είναι ο πίνακας. Αλλά ποιος είναι ο ορισμός του πίνακα; Η πιο συνηθισμένη απάντηση στο ερώτημα αυτό είναι ότι: "ο πίνακας είναι ένα σύνολο διαδοχικών θέσεων μνήμης". Από την απάντηση αυτή αντιλαμβάνεται κανείς τη σύγχυση που υπάρχει μεταξύ μιας δομής δεδομένων και της παράστασής της. Είναι γεγονός ότι οι πίνακες σχεδόν πάντα υλοποιούνται σε διαδοχικές θέσεις μνήμης, αλλά αυτό δε σημαίνει ότι δε θα μπορούσε να αρθεί ο περιορισμός αυτός. Υιοθετώντας την προσέγγιση του Αφηρημένου Τύπου Δεδομένων για τη μελέτη του πίνακα θα πρέπει να καταρχήν να δοθεί ο ορισμός του.

Ορισμός: Ένας πίνακας είναι μια συλλογή στοιχείων του ιδίου τύπου και ένα σύνολο δεικτών.

Οι βασικές πράξεις του ΑΤΔ πίνακα είναι:

1. Δημιουργία: Δημιουργεί ένα κενό πίνακα.
2. Καταχώρηση: Η πράξη αυτή ορίζει μια απεικόνιση από το σύνολο των δεικτών στο σύνολο των στοιχείων. Δέχεται ως δεδομένα το όνομα του πίνακα, μαι τιμή για το δείκτη (ή τους δείκτες) και μια τιμή ενός στοιχείου του.
3. Ανάκτηση: Η πράξη αυτή χρησιμοποιεί την παραπάνω απεικόνιση. Δέχεται ως δεδομένα ένα πίνακα και ένα δείκτη (ή ένα σύνολο δεικτών) και επιστρέφει την πιο πρόσφατη τιμή του στοιχείου που καταχωρήθηκε, ή λάθος.

Διαπιστώνουμε, λοιπόν, ότι ένας πίνακας είναι μια απεικόνιση με την κανονική μαθηματική έννοια, όπου η απεικόνιση αυτή ολοκληρώνεται όταν η πράξη της καταχώρησης έχει εκτελεστεί για κάθε τιμή του σύνολου των δεικτών. Η πράξη της δημιουργίας πραγματοποιείται, από πλευράς προγραμματισμού, στις δηλώσεις του προγράμματος.


Δομές Δεδομένων, Νικόλαος Μισυρλής, Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών 1993

Από την πρώτη στιγμή που διάβασα το επιχείρημα ότι ο πίνακας είναι μια στατική δομή δεδομένων και γι' αυτό δεν μπορεί να λυθεί το συγκεκριμένο πρόβλημα του θέματος Γ με πίνακες κάτι μ' ενοχλούσε διαισθητικά, αλλά δεν μπορούσα να το εντοπίσω. Χρειάστηκε να καταφύγω στις πανεπιστημιακές σημειώσεις μου για να μπορέσω να το περιορίσω.

Όπως έχουν γράψει τόσοι και τόσοι εδώ μέσα, η ψευδογλώσσα είναι ένα βοηθητικό εργαλείο με πολλές ασάφειες που υπάρχει για να διευκολυνθεί αυτός που θέλει να διατυπώσει έναν αλγόριθμο με περισσότερη σαφήνεια από τη φυσική γλώσσα, ούτως ώστε να μην παραβαίνει κάποιο από τα κριτήρια των αλγορίθμων.

Με αυτή τη λογική, και με βάση αυτά που μάθαμε στο πανεπιστήμιο και μας δίδαξε η εμπειρία, οι πίνακες στην ψευδογλώσσα είναι ένας Αφηρημένος Τύπος Δεδομένων, ένα μαθηματικό μοντέλο, ένας τρόπος οργάνωσης των δεδομένων μας σε μια μαθηματική απεικόνιση που έχει έναν δείκτη για κάθε δεδομένο. Απ' αυτήν την άποψη, ειλικρινά δεν μπορώ να βρω κανένα επιστημονικό λάθος στο να φτιάξουμε αλγορίθμους που χρησιμοποιούν εκατομμύρια, ή δισεκατομμύρια ή τρισεκατομμύρια στοιχεία. Μπορεί ο αλγόριθμος να είναι ένας κακός αλγόριθμος, αλλά για να τον απορρίψουμε, θα πρέπει -ορθώς- να επικαλεστούμε την απόδοση του αλγορίθμου.

Έτσι, για παράδειγμα, στην υπόθεση ότι έχουμε έναν πίνακα με 6 δισεκατομμύρια στοιχεία, άρα χωράει όλο τον ανθρώπινο πληθυσμό, άρα μπορούμε να διαβάσουμε τους λιγοστούς μαθητές που συμμετέχουν στο διαγωνισμό, ειλικρινά, δε βλέπω κανένα λογικό πρόβλημα. Ναι, ο αλγόριθμος είναι αναποτελεσματικός, ναι αν πάω να τον υλοποιήσω σε μια από τις βασικές γλώσσες προγραμματισμού θα βρεθώ αντιμέτωπος με τον περιορισμό ότι το index του πίνακα (ακόμα κι αν έχω τεράστια μνήμη RAM) με περιορίζει στις 65000 τόσες θέσεις. Αν όμως, πήγαινα να υλοποιήσω τον αλγόριθμο σε κάποια υπαρκτή γλώσσα προγραμματισμού, πιθανότατα να (α) να μην είχα πρόβλημα και με μικρό πίνακα όπως έχουν ήδη εξηγήσει άλλοι συνάδελφοι βασισμένοι στο χώρο του προβλήματος ή (β) να χρησιμοποιούσα μια άλλη δομή δεδομένων, π.χ. δυναμικό πίνακα, συνδεδεμένη λίστα, αρχείο στο δίσκο κλπ, κλπ. Ο αλγόριθμος όμως, σε ψευδογλώσσα, που κάνει χρήση πίνακα, δεν έχει κανένα λογικό λάθος.

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

Κι εδώ αναμασιέται το επιχείρημα περί συντέλειας του κόσμου μαθήματος διότι "αν είναι να λύνουμε όλες τις ασκήσεις με πίνακες, πώς θα διδάξουμε το μάθημα". Αυτό κύριοι συνάδελφοι, δεν είναι επιστημονικό επιχείρημα. Θεολογικό, υπαρξιακό, παιδαγωγικό, φιλοσοφικό ή ό,τι άλλο θέλετε, ίσως. Επιστημονικό όμως, δεν είναι! Μου θυμίζει την αντίδραση των θρησκόληπτων, ότι δεν μπορεί να είναι σωστή η Θεωρία της Εξέλιξης, γιατί αυτό θα σήμαινε ότι καταγόμαστε απ' τις μαϊμούδες και αυτό δεν μπορεί να γίνει αποδεκτό αφού μας έπλασε ο Κύριος. Κυκλικός, λαθεμένος συλλογισμός. Μη πέσουμε στην ίδια παγίδα.

Συνεπώς, ναι, τίθεται ένα σοβαρό εκπαιδευτικό πρόβλημα. Με δεδομένες τις ασάφειες της ψευδογλώσσας και τις αντιφάσεις του βιβλίου, πώς διδάσκουμε λύση ασκήσεων χωρίς πίνακα;

Πρώτα απ' όλα, δε νομίζω ότι ήρθε η συντέλεια του κόσμου μαθήματος. Π.χ. δε νομίζω ότι μπορούμε να φτιάξουμε αλγόριθμο που να χρησιμοποιεί πίνακα για να υπολογίσει τα ψηφία του π. Δεν έχει άνω όριο το μέγεθος ενός τέτοιου πίνακα, όσο παράλογα μεγάλα μεγέθη κι αν σκεφτούμε. Χώρος, λοιπόν, για έξυπνες ασκήσεις που δείχνουν τις αρετές της Δομής Επανάληψης υπάρχει. Ας μη φέρνουμε την καταστροφή.

Από κει και πέρα, αφού ενδιαφερόμαστε όλοι πραγματικά για το μάθημα, θα έπρεπε να απαιτήσουμε την απόσυρση του διδακτικού πακέτου με ένα νέο, πολύ πιο σαφές και αυστηρό. Μέχρι να γίνει αυτό, είμαι υπέρμαχος της άποψης ότι στην Τεχνολογική Κατεύθυνση της Γ' Λυκείου, θα έπρεπε να διδάσκουμε μόνο τη ΓΛΩΣΣΑ, αφού φροντίσουμε να την περάσουμε από έναν compiler ώστε να εξαλείψουμε και τις τελευταίες ασάφειές της.

Ας μη ξεχνάμε τον προορισμό του μαθήματος: Καλά όλα αυτά περί αλγοριθμικής σκέψεις, αλλά πρόκειται για μάθημα Κατεύθυνσης, όχι Γενικής Παιδείας, που πρωτίστως, έχει σκοπό να προετοιμάσει τους μελλοντικούς φοιτητές και σπουδαστές Πληροφορικής και Πολυτεχνείων για τη χρήση του προγραμματισμού μέσα στο πλαίσιο των σπουδών τους. Αν είναι να σχεδιάσουμε ένα μάθημα Γενικής Παιδείας με βάση τα πιθανά οφέλη της αλγοριθμικής σκέψης, έχω να πω δυο μόνο πράγματα: (α) ο μέσος πολίτης που ξέρει μαθηματικά έχει ήδη καλλιεργήσει την αλγοριθμική του σκέψη -θυμηθείτε μόνο την ετυμολογία της λέξης αλγόριθμος- και, (β) το τρέχον διδακτικό πακέτο -που είναι ούτως ή άλλως για τα σκουπίδια- θα πρέπει να αντικατασταθεί με ένα νέο εξ ολοκλήρου.
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

sstergou

Εντάξει, σύμφωνοι...
Η διαχείριση πόρων δεν είναι η βέλτιση. Μπορεί να λυθεί και χωρίς πίνακες. Πιστεύω ότι τρόπος εξέτασης όμως δεν μας δίνει πάτημα για να κόψουμε για μη βέλτιστη διαχείριση πόρων, όπως και για αύξηση της τάξης του αλγορίθμου. Εντάξει υπάρχει αυτή η αναφορά στο κεφ. 9 αλλά αυτά που λέει εκεί δεν τηρούνται στο υπόλοιπο πακέτο. Π.χ. αυτό το πρόγραμμα στο οποίο αναφέρομαι τόση ώρα (στην σελ. 188, ο υπολογισμός στατιστικών μεγεθών όπου ορίζει άνω όριο  και στην συνέχεια διαβάζει το Ν), μου έχει καθίσει στο στομάχι και στην ουσία αναιρεί την παράγραφο την οποία λέμε.

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

Μπορείς να σπάσεις πιο εύκολα το πρόβλημα σε υποπροβλήματα, να τα αντιμετωπίσεις ξεχωριστά και ο κώδικας είναι ευκολότερος στην συντήρηση και στην κατανόηση. Και από την στιγμή που δεν υπάρχει πρόβλημα δημιουργίας στατικού πίνακα Ν θέσεων, δεν υπάρχει πρόβλημα ούτε στην απόδοση. Ούτε και θεωρώ ότι ο αριθμός των αθλητών είναι τόσο μεγάλος ώστε να να υπάρχει κατασπατάληση των πόρων. Αυτό θα έκανα σε πραγματικές συνθήκες. Η λύση χωρίς πίνακες είναι μια έξυπνη χακεριά (όπως λέει και μια γνωστή μου) και όπως σχεδόν όλες οι χακεριές υστερεί σε άλλους τομείς (επεκτασιμότητα κτλ).

Συμφωνώ λοιπόν  στο ότι το να τα βάζουμε όλα σε πίνακες και το να θέτουμε άνω όρια σε αυτούς δείχνει έλλειψη επιστημονικότητας. Δεν νομίζω όμως ότι αυτό ισχύει για το συγκεκριμένο θέμα. Για όλα τα υπόλοιπα θέματα που αναφέρει ο Γιώργος αλλά και άλλοι συμφωνώ.

Σπύρος Δουκάκης


bagelis

Ας ξεχάσουμε για λίγο το σχολικο βιβλίο, και ας πάμε έξω από αυτό:

Παρήγγειλαν από μία εταιρεία λογισμικού την εφαρμογή του θέματος Γ με την γνωστή εκφώνηση, και ο σχεδιαστής γράφει σε ένα προχειρο χαρτί τα εξής:

Αλγόριθμος Σχολικοί_Αγώνες

Διάβασε το ρεκόρ (με έλεγχο τιμών από 1 μέχρι 10)

Διάβασε το πλήθος των διαγωνιζομένων

Για κάθε έναν από αυτούς
    Διάβασε όνομα και τιμή και βάλτα σε έναν πίνακα

...
... // υπόλοιπα ερωτήματα
...

Κράτα την επίδοση του πρώτου σε ένα Χ
Ταξινόμησε τους πίνακες με φθίνουσα σειρά ως προς την επίδοση
Βρες την επίδοση Χ μέσα στον πίνακα επιδόσεων
Εμφάνισε τη θέση που το βρήκες

Τέλος Σχολικοί_Αγώνες


και δίνει αυτό το χαρτί προς υλοποίηση...

μετά από λίγο έρχεται ο προγραμματιστής (που γράφει σε μία γλωσσα που υλοποιεί τους πίνακες στατικά) και του λέει δεν μπορώ να βάλω πίνακες γιατί έχω προβλημα στην γλώσσα μου.

Κάνει ο σχεδιαστής ένα τηλέφωνο στους πελάτες και ρωτάει: πόσοι το πολύ θα είναι οι διαγωνιζόμενοι? Δώστε μου ένα άνω φράγμα ρε παιδιά.... Του λένε ένα άνω φράγμα και ούτε γάτα ούτε ζημιά. Το πρόγραμμα κατόπιν υλοποιείται...


Η ερώτηση μου είναι: Με βάση την ως άνω περιγραφή (που νομίζω ότι περιγράφει και το ουσιαστικό μας πρόβλημα) υπάρχει καθηγητής Πανεπιστημίου (εγώ φαντάστηκα τον ίδιο τον knuth) που θα έβρισκε τον σχεδιασμό πρώτα και την υλοποίηση μετά λάθος?

Θα μου πείτε ότι χρειάστηκε ένα τηλέφωνο και έξτρα συνεννόηση. Ναι, στην μετάβαση από την σχεδίαση στην υλοποίηση. Υπάρχει καθηγητής εγνωσμένης αξίας που θα βρει τον σχεδιασμό λάθος? Καλύτερος σχεδιασμός μπορεί να γίνει, αλλά αυτός ο συγκεκριμένος σχεδιασμός είναι λάθος?

jkapsi


Παράθεση
    Και αν η άσκηση λέει να διαβάζεις ονόματα και βαθμούς μαθητών μέχρι να εισαχθεί σαν όνομα το κενό, με ποιο δικαίωμα θα θεωρήσουμε λάθος τη λυση με πίνακα και θα κόψουμε βαθμούς; ποιος θα με εμποδίσει να τα βάλω όλα σε πίνακα;


Το γράφω και σε αυτό το post για να πάρω τις γνώμες σας:

Μπορούμε να κάνουμε μια παραδοχή (έτσι κι αλλιώς η ψευδογλώσσα και η γλώσσα όλο παραδοχές είναι):
(το έχω πει και σε προηγούμενο post)

Διάβασε Ν
!παραδοχή πως δημιουργούμε πίνακα Ν θέσεων - ο πίνακας είναι στατικός, δεν μπορούμε να διαγράψουμε, ούτε να εισάγουμε νέους κόμβους
Για ι από 1 μέχρι Ν
     !προσπελαύνω τους κόμβους και κάνω ότι θέλω με τον στατικό μου πίνακα
Τέλος_επανάληψης

Στις ασκήσεις που ανφέρεστε εσείς, σε κανένα σημείο του προγράμματος δεν είναι γνωστό το μέγεθος του πίνακα (ούτε με τη χρήση μιας μεταβλητής Ν). Σε κώδικα όπως ο παρακάτω:
Αρχή_επανάληψης
     !Εισαγωγή και επεξεργασία δεδομένων
Μέχρις_ότου < συνθήκη >

Δεν μπορούμε να χρησιμοποιήσουμε πίνακα αφού θα γίνεται επ' άπειρον ( όσο θέλει ο χρήστης ) εισαγωγή νέων κόμβων.

Πιστεύω πως με την παραπάνω παραδοχή και το πρόβλημα λύνεται αλλά και η γλώσσα και ψευδογλώσσα ορίζονται ακριβέστερα. Επιπλέον ξεχωρίζουν ακόμη καλύτερα τα προβλήματα στα οποία μπορούμε να οργανώσουμε τα δεδομένα σε πίνακα (όταν ο αριθμός των δεδομένων - κόμβων είναι από ένα σημείο και έπειτα σταθερός - Ν) και σ' αυτά που δεν μπορούμε να χρησιμοποιήσουμε στατικές δομές (άγνωστο μέχρι και το τέλος του προγράμματος πόσα δεδομένα - κόμβοι θα χρειαστούν)

Ευχαριστώ πολύ και μακάρι μετά από τόση συζήτηση το μάθημα να γίνει και καλύτερο και πληρέστερο

unibomber

Παράθεση από: pgrontas στις 01 Ιουν 2010, 02:48:12 ΜΜ
Στάθη ενώ συμφωνώ με αυτόδιαφωνώ με αυτό:Δεν θεωρείς ότι η αλγοριθμική σκέψη στο συγκεκριμένο πρόβλημα, προάγεται καλύτερα από την λύση χωρίς τον πίνακα;

Εγω νομιζω πως αν γυρισουμε στον αβακα θα σας χαροποιησει επειδη θα ειναι αποδεκτες μοναδικες λυσεις
Αλγοριθμικα (βαση τη γνωση που πρασπαθει να δωσει το μαθημα) οι πινακες ειναι ασυγκριτα καλητερη σαν λυση για ολους τους υπολοιπους που δε μετεχουμε σε επιτροπες και δεν γραφουμε βιβλια με ασαφιες
Με τον περιορισμο σε στατικες δομες που προτινεται θα αναγκασετε δυστιχως ακομα μια γεννια μαθητων να χασει και παλι το τρενο της δημιουργικης φαντασιας στον προγραμματισμο. Οσο οι αναπτηγμένες ΄χωρες του πλανητη θα προχωρανε στην τεχνιτη νοημοσυνη εσεισ θα μας γυριζεται πισω σε στατικες δομες για να καληψετε την αγνοια σας

gthal

Παράθεση από: gpapargi στις 01 Ιουν 2010, 11:06:53 ΠΜ
Σόρυ για το μεγάλο μήνυμα Γιώργο, αλλά έκατσα και στα έγραψα όλα αυτά επειδή σε σέβομαι και θέλω να καταλάβεις πως τα έχω μέσα στο κεφάλι μου. Καλύτερα μια φορά με πληρότητα παρά 100 σκόρπιες κουβέντες.

....
Γιώργο, δε φαντάζεσαι πόσο με ικανοποιεί η μακροσκελής απάντησή σου. Μη ζητάς καθόλου συγγνώμη. Όσο μεγάλο κι αν θα ήταν το μήνυμά σου θα το διάβαζα με πολύ ενδιαφέρον.
Και συμφωνώ με τα όσα λέει ο Στάθης στην άμεση απάντησή του, και με το ότι τελικά ένα περιεκτικό μήνυμα βοηθάει να ηρεμήσουμε και να παρακολουθήσουμε ο ένας τον άλλον.

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

Όταν για πρώτη φορά έπιασα το βιβλίο για να διαβάσω το μάθημα, η πρώτη "ενόχληση" που ένιωσα, ήταν όταν διάβαζα πόσο αυστηρά ορίζει την ψευδογλώσσα. (το θυμάμαι πολύ αμυδρά πια αυτό το συναίσθημα. εσείς; )
Σαν να ήταν κάτι γενικά παραδεκτό. Ήταν ψέμα. Πουθενά δεν υπάρχει ορισμένο τέτοιο κατασκεύασμα.
Το παρακάτω θα έπρεπε να είναι αποδεκτό σε ψευδογλώσσα, εφ' όσον το καταλαβαίνει όποιος το διαβάσει:
Μέχρι να δοθεί αρνητικός  διάβασε χ
Όταν θα κληθεί κανείς να το κάνει πρόγραμμα θα βρει με ποιο ακριβώς σετ εντολών θα γίνει.
Προφανώς ορίζεται έτσι, χωρίς ελευθερίες, και σχεδόν παραπλήσια της ΓΛΩΣΣΑΣ για να μπορούμε να διορθώνουμε με αντικειμενικά κριτήρια (σκεπτικό εξετάσεων). Από τα ίδια μυαλά προφανώς που θεωρούν ότι η παπαγαλιστί εξέταση της θεωρίας παρέχει αντικειμενικό κριτήριο αξιολόγησης.

Όμως έτσι της έχουμε στερήσει το βασικότερο πλεονέκτημά της, την ελευθερία και την ανεξαρτησία από την υλοποίηση, που όπως είπες, είναι οι βασικοί λόγοι που την προτιμάμε ενίοτε έναντι της ΓΛΩΣΣΑΣ.

Θα ήθελα πραγματικά να διδάξουμε την ελευθερία της ψευδογλώσσας και όχι αυτό το συνεσταλμένο και φοβητσιάρικο κατασκεύασμα. Αλλά για να γίνει αυτό πρέπει να τολμήσουμε να γυρίσουμε στην αρχή και να τολμήσουμε να πούμε ότι το
Αν η επίδοση ξεπερνάει το ρεκόρ τότε
  θέσε ρεκόρ = επίδοση
Είναι σωστό (και μαζί, ας βάλουμε στην άκρη καθοριστικότητες και αποτελεσματικότητες γιατί θα μας κάνουν να κοιτάμε ένα ένα δέντρο και να χάνουμε το δάσος).

Γιατί να πρέπει ο μαθητής, αντί να αποδείξει ότι μπορεί να σκεφτεί αλγοριθμικά, να αποδείξει ότι και κατά τη γραφή αλγορίθμου μπορεί να μετατρέψει σωστά μια συνθήκη ελέγχου σε σύνταξη ΓΛΩΣΣΑΣ, και ότι μπορεί να αναπαράγει τις εντολές της γλώσσας με μικρές παραλλαγές;

Διαφορετικά θα μπορούσαμε κάλλιστα να καταργήσουμε την ψευδογλώσσα. Και για να γίνει η ΓΛΩΣΣΑ πιο εύχρηστη και πιο προσιτή από τα πρώτα μαθήματα, μπορεί να καταργηθεί το τμήμα δηλώσεων. Τι εξυπηρετεί εξ' άλλου; Κάθε μεταβλητή ας δηλώνεται τη στιγμή που χρησιμοποιείται, όπως κάνουν πολλές από τις πιο καινούριες γλώσσες. Το σύνδρομο Pascal δεν είναι δα και αξεπέραστο.

Άρα, ή κάθε μια με το ρόλο της, ή μόνο τη ΓΛΩΣΣΑ (συμφωνώ ότι αν μείνει μία θα πρέπει να είναι αυτή που δείχνει την υλοποίηση στην πράξη)
Φιλικά,
Γιώργος Θαλασσινός

as

Στη σελίδα 166 του βιβλίου γράφει ότι στη ΓΛΩΣΣΑ θεωρούμε ότι οι πραγματικοί αριθμοί μπορεί να έχουν άπειρο πλήθος ψηφίων.Και όσοι γνωρίζουν πληροφορική καταλαβαίνουν φυσικά (διορθώστε με αν κάνω λάθος) ότι για να αποθηκευτεί ένας τέτοιος αριθμός χρειάζεται άπειρη μνήμη.Επομένως το βιβλίο εμμέσως πλήν σαφώς θεωρεί ότι η μνήμη του υπολογιστή είναι άπειρη.Άρα για ποιόν λόγο να μας απασχολεί η άσκοπη χρήση της;;;;;;;;;;;;;;;;;;;;;;Το ίδιο το βιβλίο λέει να μην μας απασχολεί.Ούτε το ίδιο το απασχολεί και γι αυτό έχει τόσα παραδείγματα πινάκων με Ν στοιχεία.Αλλά λόγω των πολλών ασαφειών του μπορεί εύκολα κάποιος να βρεί ένα πάτημα και να βάλει ότι θέμα του κατέβει.Μπορεί να αισθάνεται και ωραία όταν το βάζει.Να θεωρεί ότι είναι έξυπνο.
Γενικώς νομίζω ότι η ΑΕΠΠ είναι μία εισαγωγή στην πληροφορική και τίποτα περισσότερο.
Τι διδάσκουμε;Κάποια γενικά θέματα αλγορίθμων και μία ανύπαρκτη γλώσσα προγραμματισμού.Λόγω του ότι είναι ανύπαρκτη έχει και πάρα πολλά κενά τα οποία προσπαθούμε να καλύψουμε χρησιμοποιώντας ο καθένας αυθαίρετα τις γνώσεις του από άλλες πραγματικές γλώσσες προγραμματισμού.
Ως εκ τούτου είναι αδύνατο να συμφωνούμε όλοι με όλους και το μόνο που πρέπει να κάνουμε είναι να κοιτάμε το μάθημα από καθαρά εκπαιδευτική άποψη και όχι προγραμματιστική.
Από εκεί και πέρα ναι.Και γώ στου μαθητές μου είπα ότι καλά κάνανε και το λύσανε με πίνακα και δεν έχω καμμία τύψη γι αυτό γιατί ξέρω σε ποιούς απευθύνομαι και ποιός είναι ο σκοπός μου.Αν ήθελα να γίνω καθηγητής στο πανεπιστήμιο θα έκανα διδακτορικό.Όποιος θέλει να γίνει προγραμματιστής θα γίνει ασχολούμενος με πραγματικές γλώσσες και πραγματικά προβλήματα.Όχι "Έχουμε 100 μαθητές σε ένα σχολέιο" και τέτοιες ανοησίες.
Αν θέλανε λοιπόν χωρίς πίνακα ας το ζητούσανε σαφώς.Αφού δεν το ζητήσανε είναι ολόσωστο με πίνακα άσχέτως αν κανείς προγραμματιστής δεν θα το έκανε έτσι.Δεν είναι πραγματική εφαρμογή.Είναι μάθημα.Αν ήταν πραγματική εφαρμογή, θα δήλωνα 5000 στοιχεία και κάθε χρόνο θα ανέβαζα update στη ιστοσελίδα του προγράμματος αν εμφανίζονταν παγκοσμίως σχολείο με πρισσότερους μαθητές.

merlin

Παράθεση από: as στις 01 Ιουν 2010, 05:59:54 ΜΜ
Αν ήταν πραγματική εφαρμογή, θα δήλωνα 5000 στοιχεία και κάθε χρόνο θα ανέβαζα update στη ιστοσελίδα του προγράμματος αν εμφανίζονταν παγκοσμίως σχολείο με πρισσότερους μαθητές.
Στη Microsoft δουλεύεις? Γι' αυτό μας έχει τρελάνει στα updates?  :) :) :)
Εντελώς φιλικά και χιουμοριστικά
Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20

as

Εγώ όχι.Μάλλον αυτοι που βγάζουνε τα θέματα δουλεύουνε στην Microsoft.Αλλά και πάλι για κάποιο λόγο δεν βγάζουνε βέλτιστο αλγόριθμο και σε έχουν τρελάνει στα update. :)

Δημήτρης Δαλαγιώργος

Παράθεση από: gpapargi στις 01 Ιουν 2010, 11:06:53 ΠΜ
Σόρυ για το μεγάλο μήνυμα Γιώργο, αλλά έκατσα και στα έγραψα όλα αυτά επειδή σε σέβομαι και θέλω να καταλάβεις πως τα έχω μέσα στο κεφάλι μου. Καλύτερα μια φορά με πληρότητα παρά 100 σκόρπιες κουβέντες.

Τα υπόλοιπα τα έσβησα χάριν συντομίας. Ξανακάνω crosspost κι εδώ χάριν πληρότητας:

Καταρχήν χαίρομαι που συμφωνούμε στη διαφωνία μας: Η χρήση πίνακα στο Θέμα Γ ενέχει παιδαγωγικούς κινδύνους, όχι όμως επιστημονικούς.

Διάβασα το post σου το οποίο ξεκινάει από μια αυθαίρετη -κατά τη γνώμη μου- παραδοχή:

Απλά επειδή δε θέλουμε να μπλέξουμε τους μαθητές με δηλώσεις μεταβλητών και γενικά με τεχνικές λεπτομέρειες υλοποίησης φτιάχτηκε η ψευδογλώσσα.

Δεν συμφωνώ! Πρώτα απ' όλα, δε συμφωνώ ότι μπλέκονται ή μπερδεύονται οι μαθητές. Όσα χρόνια προσπαθούσα να διδάξω το μάθημα μόνο στον πίνακα, πολλά παιδιά, μέχρι το μέσον της χρονιάς μπέρδευαν το Γράψε με το Διάβασε, πόσω μάλλον πίνακες, ουρές και στοίβες. Απ' τη στιγμή που έδωσα έμφαση στη ΓΛΩΣΣΑ και άρχισα να χρησιμοποιώ κατά κόρον το εργαστήριο και τον Διερμηνευτή της Γλώσσας (Άλκη Θεέ!) πολλά πράγματα έγιναν αμέσως κατανοητά στα παιδιά και το μόνο πρόβλημα που είχα ήταν απ' τους μαθητές που ήταν κολλημένοι με το φροντιστήριο και δεν μπορούσαν να συνδυάσουν αυτά που άκουγαν στο σχολείο με τα τυποποιημένα που άκουγαν στο φροντιστήριο.

Οπότε, όχι, δε συμφωνώ ότι οι μαθητές μπλέκονται με τεχνικές λεπτομέρειες, ούτε συμφωνώ ότι γι' αυτό το σκοπό φτιάχτηκε η ψευδογλώσσα. Νομίζω ότι οι συγγραφείς θέλαν να δώσουν έναν πανεπιστημιακό αέρα στο μάθημα, όπου όντως θα γινόταν χρήση ΑΤΔ (ή ΑΔΔ) ώστε να μπορέσουν οι μαθητές να γνωρίσουν όμορφους αλγορίθμους χωρίς τους περιορισμούς που θέτει το υλικό και η γλώσσα προγραμματισμού.

Απ' τη στιγμή που το βιβλίο κατακρεουργήθηκε και ένα απ' τα πιο σημαντικά κεφάλαια για την κατανόηση των αλγορίθμων, το κεφάλαιο 5 περί ανάλυσης, επίδοσης, ορθότητας και πολυπλοκότητας των αλγορίθμων τέθηκε εκτός ύλης, γίναμε θύματα των αντιφάσεων, των αντιθέσεων και της ασυνέπειας που έχει το βιβλίο.

Συνεπώς, δεν μπορούμε να επιχειρηματολογούμε με παιδαγωγικά επιχειρήματα για κάτι που κρίνεται επιστημονικά. Είναι επιστημονικά αποδεκτή λύση η λύση με τους πίνακες; Ασφαλέστατα! Είναι παιδαγωγικά ορθή; Το συζητάμε.

Αν ήταν ένα απλό διαγώνισμα, ένας διαγωνισμός Πληροφορικής, μια απλή εξέταση, όλη αυτή η συζήτηση θα ήταν ενδιαφέρουσα μεν, ακαδημαϊκή δε. Τώρα όμως, έχουμε να κάνουμε με Πανελλαδικές εξετάσεις, με ενδεχόμενες προσφυγές στη δικαιοσύνη, με νόθευση του ανταγωνισμού.

Συνεπώς, ως εκπαιδευτικός, νομίζω ότι μπορώ να διαχειριστώ τις διαφορές μεταξύ (μιας οποιασδήποτε) ψευδογλώσσας και της ΓΛΩΣΣΑΣ. Μπορώ νομίζω να εξηγήσω γιατί ένας αλγόριθμος σε ψευδογλώσσα μπορεί να μη στέκει στο στενό περιβάλλον της ΓΛΩΣΣΑΣ. Και νομίζω ότι και τα παιδιά μπορούν να με καταλάβουν.

Αν είναι να συνεχίσουμε να αντιπαρατιθέμεθα για το παιδαγωγικό κομμάτι, ας το κάνουμε σ' ένα dedicated thread, μέσα στη ραστώνη του καλοκαιριού. Επιμένω όμως, ότι δεν μπορούμε να επικαλούμαστε παιδαγωγικά επιχειρήματα για ν' απαξιώσουμε μια λύση. Αν υπάρχει λογικό, επιστημονικό λάθος, να το συζητήσουμε.

Το παιδαγωγικό κομμάτι και κατά πόσο ξεφτιλίζουμε το μάθημα είναι άλλη συζήτηση.
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

Δημήτρης Δαλαγιώργος

Παράθεση από: sdoukakis στις 01 Ιουν 2010, 03:19:02 ΜΜ
Κρατήστε τα επιχειρήματά σας για την ημερίδα της ΕΠΥ

http://www.epy.gr/modules.php?name=News&file=article&sid=274

Τέλεια! Κρίμα όμως, που το ΥπΔΒΜΘ έκοψε τα οδοιπορικά! Στη Θεσσαλονίκη όμως, αν μπορέσω θα πάω!
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

Vangelis

Ένα καλό που έκανε το θέμα είναι αναμφισβήτητα ο πλούσιος διάλογος που ακολούθησε.


d_bam

Είμαι σχεδόν βέβαιος πως έχει σχολιασθεί και σε προηγούμενη σελίδα αλλά επιτρέψτε μου να το αναφέρω!

Η ΚΕΕ στην σημερινή ανακοίνωση αναφέρθηκε στην σελίδα 184 του σχολικού βιβλίου και συγκεκριμένα στον 4ο στόχο του κεφαλαίου (ο μαθητής να είναι σε θέση να αποφασίζει αν είναι απαραίτητη η χρήση πίνακα.)

Φαίνεται πως η  - «αλάνθαστη» -  ΚΕΕ  δεν έχει υπόψη την παράγραφο 9.2 σελ 191 του βιβλίου ( Πότε πρέπει να χρησιμοποιούνται πίνακες).
Συγκεκριμένα:

Στην 5η παράγραφο:
Η απόφαση για την χρήση πίνακα ... είναι κυρίως θέμα εμπειρίας στον προγραμματισμό.

Σε ποια εμπειρία αναφέρεται το βιβλίο...; Την οχτάμηνη των μαθητών...;

Στην 6η παράγραφο:
Γενικά ... τότε η χρήση πινάκων βοηθάει ή συχνά είναι απαραίτητη για την επίλυση του προβλήματος. Σε άλλη περίπτωση μπορεί να αποφεύγεται η χρήση τους.

Αυτό το «μπορεί να αποφεύγεται» ερμηνεύεται ότι είναι λάθος αν χρησιμοποιούνται πίνακες;


Στην 7η παράγραφο (τελευταία σειρά):
... θα ήταν προτιμότερη μια λύση χωρίς τη χρήση τους

Αυτό το «θα ήταν προτιμότερη» ερμηνεύεται πάλι ότι είναι λάθος αν χρησιμοποιηθούν  πίνακες

Μάλλον κάποιοι έχουν πρόβλημα με τα ελληνικά τους... Ίσως η ΚΕΕ, ίσως οι συγγραφείς του βιβλίου, ίσως εγώ, ίσως οι μαθητές που διαβάζουν το βιβλίο.

Σπύρος Δουκάκης

Καλό το χιούμορ, αλλά νομίζω ότι η στιγμή δεν είναι κατάλληλη. Χιλιάδες μαθητές και οικογένειες είναι ανήσυχες...

Καλύτερα να  παραμείνουμε σιωπηλοί.

Με τη στάση μας έχουμε προκαλέσει τη γενική κατακραυγή και βγάζουμε μόνοι μας τα μάτια μας.
Έτσι που πάμε, το θέμα θα έρθει στη βουλή με ερωτήσεις βουλευτών προς την υπουργό και εκεί αρχίζουν και τα όργαν για το μάθημα και όλα τα άλλα... Η γραμματειακή υποστήριξη προ των πυλών.
Ανησυχώ πολύ για τα τεκταινόμενα βλέποντας όλους αυτούς που εκτός το ότι γράφουν στο Στέκι σελίδες, αναρτούν και αλλού ανακοινώσεις (Troktiko, alfavita κ.α.). Σε ποιον προσφέρουν υπηρεσία πλην του εαυτού τους; Τι θέλουν να αναδείξουν; Ότι έχουν δίκιο; Μήπως τελικά ονειρεύονται τις θέσεις της απερχόμενης ΚΕΕ και των πληροφορικών που θα φύγουν ή φοβούνται για τη θέση που θα χάσουν από την ΚΕΕ;

Προτείνω :-X

Παράθεση από: Vangelis στις 01 Ιουν 2010, 11:11:12 ΜΜ
Ένα καλό που έκανε το θέμα είναι αναμφισβήτητα ο πλούσιος διάλογος που ακολούθησε.

Δημήτρης Δαλαγιώργος

Παράθεση από: sdoukakis στις 02 Ιουν 2010, 01:18:11 ΠΜ
Με τη στάση μας έχουμε προκαλέσει τη γενική κατακραυγή και βγάζουμε μόνοι μας τα μάτια μας.
Έτσι που πάμε, το θέμα θα έρθει στη βουλή με ερωτήσεις βουλευτών προς την υπουργό και εκεί αρχίζουν και τα όργανα για το μάθημα και όλα τα άλλα... Η γραμματειακή υποστήριξη προ των πυλών.
Ανησυχώ πολύ για τα τεκταινόμενα βλέποντας όλους αυτούς που εκτός το ότι γράφουν στο Στέκι σελίδες, αναρτούν και αλλού ανακοινώσεις (Troktiko, alfavita κ.α.). Σε ποιον προσφέρουν υπηρεσία πλην του εαυτού τους; Τι θέλουν να αναδείξουν; Ότι έχουν δίκιο; Μήπως τελικά ονειρεύονται τις θέσεις της απερχόμενης ΚΕΕ και των πληροφορικών που θα φύγουν ή φοβούνται για τη θέση που θα χάσουν από την ΚΕΕ;

Προτείνω :-X

<Off topic>
Θα συμφωνήσω αφενός ότι καλό θα ήταν να είχε γίνει όλη αυτή η συζήτηση μεταξύ ίσων, κάτι σαν peer review, κεκλεισμένων των θυρών όπως κάνουν οι γιατροί ενός νοσοκομείου μετά από ένα θανατηφόρο περιστατικό όπου συζητούνται ανοιχτά τα πάντα για να βρουν πρωτίστως τι έφταιξε και δευτερευόντως να καταλογίσουν ευθύνες.

Αφετέρου όμως, ζούμε στην εποχή της διαφάνειας. Ήδη η ΕΠΥ προανήγγειλε -και ορθώς- ημερίδες σε Αθήνα και Θεσσαλονίκη για το θέμα που δημιουργήθηκε. Είμαστε επιστημονικός κλάδος και συζητούμε (υποτίθεται) με επιστημονικά επιχειρήματα. Κίνητρα μπορούμε να βρούμε -ή να υποθέσουμε- πολλά: από την ιδιοτέλεια κάποιου μέχρι την αναζήτηση της υπέρτατης αλήθειας!

Ας μη τα ισοπεδώνουμε όλα όμως (no offense). Έχουμε συνδικαλιστικούς φορείς, είμαστε διορισμένοι εκπαιδευτικοί και, καλώς ή κακώς, είμαστε πάρα πολλοί. Ακόμα και να βγάζανε φιρμάνι να μας κάνουν όλους γραμματείς (Φαρισαίοι γινόμαστε και μόνοι μας) πάλι δεν θα είχαν τι να μας κάνουν!

Σε τελική ανάλυση, δε γίνεται να μπερδεύουμε δύο διαφορετικά προβλήματα: το εκπαιδευτικό και το επιστημονικό, έστω κι αν, το παραδέχομαι, το ένα έχει αντίκτυπο στο άλλο!

Αν το ΥπΔΒΜΘ θέλει να απαξιώσει τον κλάδο και να μας κάνει από εκπαιδευτικούς, διοικητικούς, μπορεί να το κάνει εύκολα. Είτε πάρει από μας αφορμή, είτε όχι. Εξάλλου, όπως είχα προτείνει στην κ. Διαμαντοπούλου μέσω twitter, ίσως όντως θα έπρεπε να μετατάξει κάποιους απ' όλους αυτούς τους εκπαιδευτικούς που δουλεύουν αποσπασμένοι ως διοικητικοί, ώστε (α) να πάψουν να προσμετρώνται ως εκπαιδευτικοί και γιατί (β) ενδεχομένως αυτό να είναι που θέλουν: να φύγουν από τις αίθουσες και να πάνε σ' ένα γραφείο...

Τό 'χουμε πει πολλές φορές: Το ΥπΔΒΜΘ είναι το μόνο υπουργείο που προσλαμβάνει ανθρώπους ως εκπαιδευτικούς και τους απασχολεί ως διοικητικούς! Αυτό πρέπει κάποια στιγμή να σταματήσει!

Η συζήτηση για το μέλλον του μαθήματος, το διδακτικό πακέτο, το μέλλον των Πληροφορικών στην εκπαίδευση και στη διοίκηση κ.ο.κ. ξεπερνάει τη συζήτηση για το κατά πόσο είναι ορθή επιστημονικά μια λύση στο Θέμα Γ με τη χρήση πινάκων και καλό θα ήταν να μη τις συγχέουμε.
</Off topic>
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

gpapargi

Παράθεση από: Δημήτρης Δαλαγιώργος στις 01 Ιουν 2010, 09:31:58 ΜΜ
Διάβασα το post σου το οποίο ξεκινάει από μια αυθαίρετη -κατά τη γνώμη μου- παραδοχή:

Απλά επειδή δε θέλουμε να μπλέξουμε τους μαθητές με δηλώσεις μεταβλητών και γενικά με τεχνικές λεπτομέρειες υλοποίησης φτιάχτηκε η ψευδογλώσσα.

Δεν συμφωνώ! [...]
Δεν είναι έτσι. Η ψευδογλώσσα χρησιμοποιείται παγκοσμίως επειδή είναι πιο εύκολη στην κατανόησή της από ότι μια γλώσσα προγραμματισμού. Μπορείς να καταλάβεις τον αλγόριθμο χωρίς να μπλέξεις με λεπτομέρειες υλοποίησης (πχ δηλώσεις μεταβλητών). Αυτό είναι γνωστό
Αντιγράφω από
http://en.wikipedia.org/wiki/Pseudocode

«The purpose of using pseudocode is that it is easier for humans to understand than conventional programming language code[...]»

Παράθεση από: Δημήτρης Δαλαγιώργος στις 01 Ιουν 2010, 09:31:58 ΜΜ
Συνεπώς, δεν μπορούμε να επιχειρηματολογούμε με παιδαγωγικά επιχειρήματα για κάτι που κρίνεται επιστημονικά. Είναι επιστημονικά αποδεκτή λύση η λύση με τους πίνακες; Ασφαλέστατα! Είναι παιδαγωγικά ορθή; Το συζητάμε.
[...]
Επιμένω όμως, ότι δεν μπορούμε να επικαλούμαστε παιδαγωγικά επιχειρήματα για ν' απαξιώσουμε μια λύση. Αν υπάρχει λογικό, επιστημονικό λάθος, να το συζητήσουμε.
Αν θέλεις να μιλήσουμε από καθαρά επιστημονική σκοπιά δεν έχω κανένα πρόβλημα. Κι εγώ το προτιμώ.

Μιλώντας από καθαρά επιστημονική σκοπιά η λύση με πίνακες (ακόμα και αν δεχτούμε ότι είναι ολόσωστη ως προς τα αποτελέσματα που δίνει δηλαδή την ορθότητα) είναι ένα αλγόριθμος έχει απαιτήσεις σε μνήμη. Πχ αν σου πω διάβασε 100 αριθμούς (γνωστό πλήθος) και βρες το μέγιστο, από επιστημονική άποψη είναι κακή λύση να τα βάλεις  σε πίνακα αφού λύνεται και χωρίς πίνακα. Ο καθένας θα είχε πρόβλημα σε μια τόσο απλή άσκηση να χρησιμοποιηθεί πίνακας.

Αυτό που θέλω να πω είναι από επιστημονική άποψη είναι τελείως λάθος να ωθούμε τους μαθητές να χρησιμοποιούν πίνακες πάντα ακόμα και όταν δε χρειάζονται.

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

tsak

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

Ν<-0
Διαβασε όνομα
Όσο όνομα<>"τέλος" επανάλαβε
     διάβασε επίδοση
     Ν<--Ν+1
     ΟΝ[Ν]<-- όνομα
     ΕΠ[Ν]<-- επίδοση
  διάβασε όνομα
Τέλος_επανάληψης

Για ι από 1 Μέχρι Ν
.....
.....

Νομίζω έγινα κατανοητός.

Αν λοιπόν δεχτούμε 100% ως σωστή αυτή τη λύση (φυσικά δουλεύει), γιατί εγώ του χρόνου, πρώτα ο Θεός, να μην κάνω ένα πέρασμα τις δομές επανάληψης ίσα ίσα να κατανοήσουν οι μαθητές τη χρήση τους και μετά να τους πω:

"Παιδιά από δω και πέρα θα μάθουμε τους πίνακες. Θεωρητικά και πρακτικά δεσμεύουν μνήμη αλλά αυτό μη σας απασχολεί. Εμείς για τις ανάγκες των ασκήσεων και για δική σας διευκόλυνση θα θέτουμε ένα αρκετά ικανοποιητικό όριο στη χωρητικότητα τους και θα δουλεύουμε με ένα μέρος αυτού. Θα δείτε ότι οι ασκήσεις βγαίνουν πολύ πιο εύκολα".

Τι λέτε; Να κοιμάμαι ήσυχος για την αλγοριθμική που δίδαξα στα παιδιά;
Είναι δίκαιο να πάρει άριστα και η λύση αυτή και η λύση χωρίς πίνακα;
Δεν λέω να "πετσοκόψουμε" τους μαθητές αλλά κάτι λιγότερο ή περισσότερο στη μία και στην άλλη περίπτωση δεν πρέπει να δοθεί; Όχι βέβαια κατά το δοκούν αλλά μέσω  συγκεκριμένης οδηγίας - κατεύθυνσης που θα δοθεί από την ΚΕΕ.



sstergou

Συνάδελφε, αν θες να κόψεις για την δεύτερη λύση θα πρέπει να βρεις άλλο επιχείρημα και όχι την στατικότητα της δομής. Αυτό δεν στέκει.

sstergou

Σόρι δεν είδα καλά τον κώδικα. Έχεις άγνωστο πλήθος στοιχείων, νομίζω μπορείς να κόψεις.

tsak

ΠαράθεσηΣόρι δεν είδα καλά τον κώδικα. Έχεις άγνωστο πλήθος στοιχείων, νομίζω μπορείς να κόψεις.
.

Αφού έχω άγνωστο πλήθος στοιχείων και στην εκφώνηση που δόθηκε στις εξετάσεις, τότε γιατί να μην κόψουμε λίγα μόρια σ' αυτούς που πήραν πίνακα στο εν λόγω θέμα;  Υπάρχει κάποια ουσιώδη διαφορά
   

sstergou

Ναι, θα προσπαθήσω να το εξηγήσω καλά.

Τα μεγέθη στις περιπτώσεις μας πιστεύω χωρίζονται σε 3 κατηγορίες.
1) Γνωστά κατά την μεταγλώττιση. (π.χ. Έχω 10 μαθητές)
2) Γνωστά κατά την εκτέλεση. (π.χ. έχω Ν μαθητές)
3) Άγνωστα κατά την εκτέλεση. (π.χ. έχω μαθητές μέχρι να δοθεί το τέλος)

Καλώς ή κακώς το πακέτο είναι γεμάτο από παραδείγματα ψευδογλώσσας όπου το 2ο θεωρείται αποδεκτό.
Το 2ο δεν μας δημιουργεί τα προβλήματα τα οποία αναφέρεις με τους μαθητές να τα βάζουν όλα σε πίνακες και δεν ακυρώνει τις δομές επανάληψης.

tsak

Παράθεση από: sstergou στις 02 Ιουν 2010, 12:32:11 ΜΜ
Ναι, θα προσπαθήσω να το εξηγήσω καλά.

Τα μεγέθη στις περιπτώσεις μας πιστεύω χωρίζονται σε 3 κατηγορίες.
1) Γνωστά κατά την μεταγλώττιση. (π.χ. Έχω 10 μαθητές)
2) Γνωστά κατά την εκτέλεση. (π.χ. έχω Ν μαθητές)
3) Άγνωστα κατά την εκτέλεση. (π.χ. έχω μαθητές μέχρι να δοθεί το τέλος)

Εγω νομίζω ότι οι δύο πρώτες περιπτώσεις που αναφέρεις είναι ένα και το αυτό. Τουλάχιστον έτσι το εξηγώ εγώ προς τους μαθητές. Δηλαδή αντί να λέμε 100 ή 500 ή 1000 μαθητές αντικαθιστούμε τον αριθμό αυτό με κάποιο Ν. Δεν έχει σημασία δηλαδή πόσοι είναι οι μαθητές αλλά αν δινόταν θα ήταν σίγουρα είναι ένας γνωστός πεπερασμένος αριθμός κατά τη μεταγλώττιση.
Η εκφώνηση του επίμαχου θέματος ξεκινάει ζητώντας τον αριθμό αυτό από τον χρήστη . Από μόνη της αυτή η πρόταση δεν ωθεί στη μη χρήση πίνακα;

Γι' αυτό και η προσωπική μου άποψη είναι να βαθμολογηθεί λίγο κατώτερα η λύση με χρήση πίνακα.

Αθανάσιος Πέρδος

Παράθεση από: tsak στις 02 Ιουν 2010, 12:55:53 ΜΜ
Εγω νομίζω ότι οι δύο πρώτες περιπτώσεις που αναφέρεις είναι ένα και το αυτό. Τουλάχιστον έτσι το εξηγώ εγώ προς τους μαθητές. Δηλαδή αντί να λέμε 100 ή 500 ή 1000 μαθητές αντικαθιστούμε τον αριθμό αυτό με κάποιο Ν. Δεν έχει σημασία δηλαδή πόσοι είναι οι μαθητές αλλά αν δινόταν θα ήταν σίγουρα είναι ένας γνωστός πεπερασμένος αριθμός κατά τη μεταγλώττιση.
Η εκφώνηση του επίμαχου θέματος ξεκινάει ζητώντας τον αριθμό αυτό από τον χρήστη . Από μόνη της αυτή η πρόταση δεν ωθεί στη μη χρήση πίνακα;

Γι' αυτό και η προσωπική μου άποψη είναι να βαθμολογηθεί λίγο κατώτερα η λύση με χρήση πίνακα.

Λοιπόν αν δείτε τα Post συναδέρφου που γράφει κώδικα σε C κάπου στην 112 - 113 ή 114 σελίδα από το topic των πανελλαδικών εξετάσεων θα δείτε ότι μπορεί να υλοποιηθεί με πίνακα ακόμη και αν διαβάζω το πλήθος.
Στο βιβλίο μας αναφέρει ότι το μέγεθος ορίζεται κατά τη στιγμή της μετάφρασης και όχι της εκτέλεσης. Και εγώ θεώρησα στην αρχή ότι πρέπει να λυθεί χωρίς πίνακα ακολουθώντας τη γραμμή του βιβλίου. Όμως αλγόριθμος και πρόγραμμα δεν είναι το ίδιο. Νομίζω ότι καλύφθηκε από τα post άλλων συναδέρφων. Παρόλα αυτά χαρακτήρισα το θέμα ακατάλληλο στις 8,15 το πρωί (είμαι vbi) για πανελλαδικές γιατί ακριβώς αγγίζει γκρίζες ζώνες του βιβλίου. Τη λογική του άγνωστου πλήθος - μή χρήση πίνακα την ενστερνίζομαι και θα την ενστερνίζομαι. Υπάρχει όμως ένα αλλά που έρχεται μετά από καλύτερη μελέτη της εκφώνησης. Το μέγεθος στο συγκεκριμένο πρόβλημα είναι μετρήσιμο. Και το σπουδαιότερο γίνεται ακριβώς μετρήσιμο όχι απλά σε τάξη μεγέθους αλλά σε απόλυτο αριθμό εξαιτίας της εκφώνησης: (διαφορετικές επιδόσεις, άλμα εις μήκος, αδύνατο να υπάρξει μαθητής με επίδοση πάνω από 20 μέτρα μικρότερη μονάδα μέτρησης το εκατοστό, άρα το πολύ δέσμευση 2000 θέσεων.) Ένας πίνακας μπορεί να καλυψεί με όσα λέει το βιβλίο στη Γλώσσα τόσες θέσεις όσο μεγάλη τιμή μπορεί να πάρει ένας ακέραιος. Αν μετρήσετε τα bit διορθώστε αν κάνω λάθος, είναι πολύ πάνω από 2000 θέσεις. Καμία λοιπόν μονάδα κομμένη στο Γ θέμα για χρήση πίνακα. Έχω αναρτήσει μία άσκηση κάπου μετά τη σελίδα 110 και την οποία έκαναν παράθεση άλλοι συνάδερφοι όπου φαίνεται γιατί δεν μπορώ να χρησιμοποιήσω πίνακα στην επίλυση της. Το ξαναλέω θεωρώ το θέμα ακατάλληλο για πανελλαδικές. Τα θέματα θα πρέπει να έχουν κοινά αποδεκτή λύση και όχι λύση με βάση την ερμηνεία που δίνει κάποιος στο διδακτικό πακέτο το οποίο έχεις αρκετές ασάφειες όπως έχει αποδειχτεί. Ακόμη και αν αδικώ με βάση τα λεγόμενα των υποστηρικτών της ΚΕΕ τους μαθητές μου που το έλυσαν χωρίς πίνακα (είναι αρκετοί), μετά από τόση επεξεργασία που έγινε πάνω στο συγκεκριμένο θέμα το ξαναλέω "Καμία μονάδα κομμένη στη λύση με χρήση πίνακα".

Δημήτρης Δαλαγιώργος

Παράθεση από: gpapargi στις 02 Ιουν 2010, 10:21:58 ΠΜ
 
Δεν είναι έτσι. Η ψευδογλώσσα χρησιμοποιείται παγκοσμίως επειδή είναι πιο εύκολη στην κατανόησή της από ότι μια γλώσσα προγραμματισμού. Μπορείς να καταλάβεις τον αλγόριθμο χωρίς να μπλέξεις με λεπτομέρειες υλοποίησης (πχ δηλώσεις μεταβλητών). Αυτό είναι γνωστό
Αντιγράφω από
http://en.wikipedia.org/wiki/Pseudocode

«The purpose of using pseudocode is that it is easier for humans to understand than conventional programming language code[...]»

Μα δεν αρνήθηκα ποτέ ότι η ψευδογλώσσα είναι πιο απλή από οποιαδήποτε γλώσσα προγραμματισμού. Αρνήθηκα να συμφωνήσω ότι οι τύποι και οι δηλώσεις μεταβλητών μπερδεύουν τους μαθητές και σημείωσα ότι κατά τη γνώμη μου η ψευδογλώσσα επιτρέπει να διδαχτούν αλγόριθμοι "όπου όντως θα γινόταν χρήση ΑΤΔ (ή ΑΔΔ) ώστε να μπορέσουν οι μαθητές να γνωρίσουν όμορφους αλγορίθμους χωρίς τους περιορισμούς που θέτει το υλικό και η γλώσσα προγραμματισμού."

Παράθεση από: gpapargi στις 02 Ιουν 2010, 10:21:58 ΠΜ
Αν θέλεις να μιλήσουμε από καθαρά επιστημονική σκοπιά δεν έχω κανένα πρόβλημα. Κι εγώ το προτιμώ.

Μιλώντας από καθαρά επιστημονική σκοπιά η λύση με πίνακες (ακόμα και αν δεχτούμε ότι είναι ολόσωστη ως προς τα αποτελέσματα που δίνει δηλαδή την ορθότητα) είναι ένα αλγόριθμος έχει απαιτήσεις σε μνήμη. Πχ αν σου πω διάβασε 100 αριθμούς (γνωστό πλήθος) και βρες το μέγιστο, από επιστημονική άποψη είναι κακή λύση να τα βάλεις  σε πίνακα αφού λύνεται και χωρίς πίνακα. Ο καθένας θα είχε πρόβλημα σε μια τόσο απλή άσκηση να χρησιμοποιηθεί πίνακας.

Πάλι συμφωνούμε -εκτός απ' την τελευταία φράση! Ναι, ενδεχομένως είναι μια χειρότερη λύση. Αλλά δεν παραβιάζει κανένα από τα κριτήρια των αλγορίθμων, παραβιάζει; Είναι μια ορθή λύση όπως σημειώνεις κι εσύ. Από τη στιγμή λοιπόν που κατά πάγιες οδηγίες δεν βαθμολογούμε με βάση ποια λύση είναι καλύτερη, δεν πριμοδοτούμε βαθμολογικώς την καλύτερη έναντι της χειρότερης λύσης, η φετινή οδηγία της ΚΕΕ, η οποία σημειωτέων έκανε λόγο για λύση που "ΔΕΝ είναι σωστή", όχι για χειρότερη ή οτιδήποτε άλλο, θεωρώ ότι ήταν απαράδεκτη. Και όχι, δεν έχω πρόβλημα με τη λύση που βρίσκει τον μικρότερο ή τον μεγαλύτερο από 100 αριθμούς αφού τους έχει αποθηκεύσει σε πίνακα. Και συνεχίζω:

Παράθεση από: gpapargi στις 02 Ιουν 2010, 10:21:58 ΠΜ
Αυτό που θέλω να πω είναι από επιστημονική άποψη είναι τελείως λάθος να ωθούμε τους μαθητές να χρησιμοποιούν πίνακες πάντα ακόμα και όταν δε χρειάζονται.
Θα με συγχωρέσεις, αλλά αυτό είναι παιδαγωγικό επιχείρημα. Και πάλι όμως, θα συμφωνήσω! Αντιλαμβάνομαι πλήρως το πρόβλημα που θέτει η ΚΕΕ με αυτό το θέμα σε όλους μας για του χρόνου. Θα επανέλθω επ' αυτού -κάποια στιγμή- με ένα αναλυτικότερο post. Αλλά μη παρασυρόμαστε. Δε συμμερίζομαι τους φόβους πολλών εδώ μέσα για το τέλος του μαθήματος. Θα βρούμε τον τρόπο -όπως κάναμε θεωρητικά κάθε χρόνο- να εξηγήσουμε σωστά και τις Δομές Επανάληψης και τις Δομές Δεδομένων στα παιδιά. Μέχρι όμως, να τεθεί θέμα που ψάχνει τη βέλτιστη λύση και όχι απλώς μια λύση, μπορεί να ξινίζω τα μούτρα μου μ' έναν κακό αλγόριθμο, αλλά κρίνοντας κι απ' τη συνολική εικόνα του γραπτού, θα είμαι ηθικά -και υποθέτω νομικά- υποχρεωμένος να δεχτώ και τις λιγότερο καλές λύσεις.

Παράδειγμα: Σε αρκετά θέματα που δεν είχαν τις ασάφειες του φετινού Θέματος Γ και ζητούνταν απλώς ο ελάχιστος από πίνακα, άλλοι τον αναζητούσαν με τη γνωστή μέθοδο και άλλοι κάνανε ταξινόμηση. Προφανώς, ο δεύτερος τρόπος είναι χειρότερος από τον πρώτο. Κόβαμε μόρια; Όχι.

Στο φετινό Θέμα Α5 -αν δεν κάνω λάθος: Αλλάζει η αποτελεσματικότητα του αλγορίθμου αν βάλουμε 'με_βήμα 1' αντί για 'με_βήμα 2'; Όπως έχει ήδη επισημανθεί εδώ μέσα, όχι. Άρα πάλι δεν κόβουμε μόρια.

Παράθεση από: gpapargi στις 02 Ιουν 2010, 10:21:58 ΠΜ
Τέλος να θυμήσω ότι ο Μισυρλής που επικαλέστηκες, αν μετέφερες το αρχείο σε πίνακα (ακόμα και μικρό να ήταν το αρχείο) έκοβε σχεδόν όλη, αν όχι όλη  την άσκηση.
Να θυμίσω ότι μπορεί να έχω ακόμη το βιβλίο του Μισυρλή, αλλά η τελευταία φορά που παρακολούθησα μάθημά του είναι, αν θυμάμαι καλά, πριν από 16 ή 17 χρόνια!!! Αν είχες μια συγκεκριμένη άσκηση υπόψη σου θα ήταν προτιμότερο. Αλλά αν, υποθέτω, η άσκηση του Μισυρλή μιλούσε για αρχεία και για πράξεις σε αρχεία, τότε πολύ πιθανόν ορθώς να έκοβε για το πέρασμα του αρχείου σε πίνακα. Παρόμοια περίπτωση με το Θέμα Γ; Δε νομίζω. Τα παιδιά δεν ξέρουν καν τι είναι αρχείο, Β-δέντρα κλπ, κλπ. Η μόνη Δομή Δεδομένων που μαθαίνουν είναι ο πίνακας -που το βιβλίο τον κάνει λάστιχο και δείχνει ακόμα και Ουρές με πίνακα!
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

bagelis

Παράθεση από: Δημήτρης Δαλαγιώργος στις 02 Ιουν 2010, 07:25:24 ΜΜ
Να θυμίσω ότι μπορεί να έχω ακόμη το βιβλίο του Μισυρλή, αλλά η τελευταία φορά που παρακολούθησα μάθημά του είναι, αν θυμάμαι καλά, πριν από 16 ή 17 χρόνια!!! Αν είχες μια συγκεκριμένη άσκηση υπόψη σου θα ήταν προτιμότερο. Αλλά αν, υποθέτω, η άσκηση του Μισυρλή μιλούσε για αρχεία και για πράξεις σε αρχεία, τότε πολύ πιθανόν ορθώς να έκοβε για το πέρασμα του αρχείου σε πίνακα. Παρόμοια περίπτωση με το Θέμα Γ; Δε νομίζω. Τα παιδιά δεν ξέρουν καν τι είναι αρχείο, Β-δέντρα κλπ, κλπ. Η μόνη Δομή Δεδομένων που μαθαίνουν είναι ο πίνακας -που το βιβλίο τον κάνει λάστιχο και δείχνει ακόμα και Ουρές με πίνακα!

Πάντως να κόβει ξερά την άσκηση θυμάμαι τον Χατζόποπουλο, όχι τον Μισυρλή....
Φοιτητής: Γιατί μου κόψατε την άσκηση, αφού δουλεύει?
Χατζόπουλος: Με 10.000 εγγραφές την δοκίμασες?
Φοιτητής: Ναι, δουλεύει
Χατζόπουλος: Με 100.000 εγγραφές την δοκίμασες?
Φοιτητής: Ναι, δουλεύει
Χατζόπουλος: Με 1.000.000 εγγραφές την δοκίμασες?
Φοιτητής: Όχι
Χατζόπουλος: Εμ? 
:D :D :D :D :D

Δημήτρης Δαλαγιώργος

Παράθεση από: bagelis στις 02 Ιουν 2010, 09:17:24 ΜΜ
Πάντως να κόβει ξερά την άσκηση θυμάμαι τον Χατζόποπουλο, όχι τον Μισυρλή....
Φοιτητής: Γιατί μου κόψατε την άσκηση, αφού δουλεύει?
Χατζόπουλος: Με 10.000 εγγραφές την δοκίμασες?
Φοιτητής: Ναι, δουλεύει
Χατζόπουλος: Με 100.000 εγγραφές την δοκίμασες?
Φοιτητής: Ναι, δουλεύει
Χατζόπουλος: Με 1.000.000 εγγραφές την δοκίμασες?
Φοιτητής: Όχι
Χατζόπουλος: Εμ? 
:D :D :D :D :D

Πράγματι! Ο Χατζόπουλος πήγαινε την έννοια "επαλήθευση δεδομένων" σε άλλο επίπεδο!!! Ένας φίλος μου είχε φτάσει στο σημείο να πατάει στην τύχη πλήκτρα στο πληκτρολόγιο για να δει αν το πρόγραμμά του άντεχε ή κολλούσε!

Εμένα πάντως, μού 'χει μείνει ο φοβερός και τρομερός αλγόριθμος διαγραφής σε Β-Δέντρο  >:D :

-Κύριε Καθηγητά θα μας δώσετε τον αλγόριθμο της διαγραφής;
-Σας τον περιέγραψα σε απλά ελληνικά! Σας αρκεί!

Χρειάστηκε να βρω τον αλγόριθμο σ' ένα paper στο Internet για να μπορέσω να τον υλοποιήσω...  :-[
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

gpapargi

Κοίταξε Δημήτρη... για μένα το θέμα του πλήθους των βημάτων (πολυπλοκότητα) και της χρήσης πόρων είναι καθαρά επιστημονικό. Μπορεί να είναι και παιδαγωγικό (για μένα είναι και αυτό γιατί η παιδεία πρέπει να συμβαδίζει με την επιστήμη), αλλά κατά βάση είναι επιστημονικό. Πχ ένας αλγόριθμος που λύνει ένα πρόβλημα με καλύτερη πολυπλοκότητα από μέχρι στιγμής βέλτιστη γνωστή, είναι αντικείμενο επιστημονικής δημοσίευσης.

Προσωπικά έχω κάνει σαματά για να βρεθεί φόρμουλα να μετράει και η ποιότητα. Το μόνιμο επιχείρημα ήταν ότι το κεφάλαιο 5 είναι εκτός ύλης και αν ήταν μέσα τότε θα μπορούσαμε να βαθμολογήσουμε και την ποιότητα του αλγορίθμου.
Όμως στους πίνακες η παράγραφος 9.2 είναι μέσα οπότε με αυτό το σκεπτικό δεν υπάρχει δικαιολογία. Το μάθημα προφανώς θα συνεχίσει να υπάρχει απλά όσο απομακρυνόμαστε από τις ποιοτικές λύσεις (σε πόρους και σε πλήθος βημάτων) ρίχνει επίπεδο.

Αυτά είχα να πω, νομίζω πως δε θα συμμετάσχω άλλο γιατί κουράστηκα.

Θα κλείσω με μια ωραία ιστορία Χατζόπουλου. 3 άτομα έστειλαν ακριβώς την ίδια εργασία λόγω αντιγραφής. Η εργασία άξιζε για 75. Δεν έκατσε να δει ποιος αντέγραψε από ποιον. Τους έβαλε από 25

Crazy_Waters

Άσχετο με το θέμα αλλά σχετικό με Χατζόπουλο. Δύο συμφοιτητές μου του λένε ότι ολοκληρώσανε μαζί την (ατομική) τελευταία εργασία (ΠΟΛΥ ΔΥΣΚΟΛΗ) αλλά δουλεύει για όλες τις περιπτώσεις κτλ. Η εργασία ήταν για 100 αλλά φυσικά πήραν από 50.

Δημήτρης Δαλαγιώργος

Παράθεση από: gpapargi στις 03 Ιουν 2010, 01:23:47 ΜΜ
Κοίταξε Δημήτρη... για μένα το θέμα του πλήθους των βημάτων (πολυπλοκότητα) και της χρήσης πόρων είναι καθαρά επιστημονικό. Μπορεί να είναι και παιδαγωγικό (για μένα είναι και αυτό γιατί η παιδεία πρέπει να συμβαδίζει με την επιστήμη), αλλά κατά βάση είναι επιστημονικό. Πχ ένας αλγόριθμος που λύνει ένα πρόβλημα με καλύτερη πολυπλοκότητα από μέχρι στιγμής βέλτιστη γνωστή, είναι αντικείμενο επιστημονικής δημοσίευσης.
Προφανώς δεν εκφράστηκα σωστά. Εννοείται ότι η πολυπλοκότητα ενός αλγορίθμου είναι θέμα επιστημονικό. Αυτό που εννοώ είναι ότι δεν μπορούμε να επικαλούμαστε την πολυπλοκότητα για να απορρίψουμε ως μη σωστή τη λύση του Θέματος Γ όταν χρησιμοποιούνται πίνακες. Όχι μόνο γιατί ολόκληρο το κεφάλαιο περί απόδοσης και πολυπλοκότητας αλγορίθμων είναι εκτός ύλης. Αλλά διότι -καλώς ή κακώς- ποτέ δεν το κάναμε τα τελευταία 7 χρόνια. Πάντα δεχόμασταν μια λύση ως σωστή όταν δούλευε. Δεν μπορούμε ν' αλλάζουμε τους κανόνες της εξέτασης μετά την εξέταση!

Παράθεση από: gpapargi στις 03 Ιουν 2010, 01:23:47 ΜΜ
Προσωπικά έχω κάνει σαματά για να βρεθεί φόρμουλα να μετράει και η ποιότητα. Το μόνιμο επιχείρημα ήταν ότι το κεφάλαιο 5 είναι εκτός ύλης και αν ήταν μέσα τότε θα μπορούσαμε να βαθμολογήσουμε και την ποιότητα του αλγορίθμου.
Όμως στους πίνακες η παράγραφος 9.2 είναι μέσα οπότε με αυτό το σκεπτικό δεν υπάρχει δικαιολογία.
Μακάρι να μπορέσουμε να πάμε το μάθημα σ' ένα επίπεδο που θα μπορούμε να αξιολογούμε όχι μόνο τις λύσεις, αλλά και τις βέλτιστες λύσεις. Δεν το θεωρώ εφικτό στα ασφυκτικά πλαίσια του συγκεκριμένου αναλυτικού προγράμματος σπουδών, αλλά κι εγώ θα το ήθελα.

Όπως όμως, έχουν εξηγήσει άλλοι καλύτερα από μένα, η παράγραφος 9.2 περί μειονεκτημάτων των πινάκων δεν έχει εφαρμογή στο συγκεκριμένο πρόβλημα που θέτει το Θέμα Γ διότι:

Καταρχάς μιλάει για λύση που θα ήταν προτιμότερη και επικαλείται την εμπειρία του προγραμματιστή. Όταν τόσοι και τόσοι Πληροφορικοί και Μηχανικοί Υπολογιστών εδώ μέσα είπαμε ότι αυθόρμητα μας ήρθε να λύσουν το πρόβλημα με πίνακες (και μη μου πεις ότι η εκφώνηση δεν είναι παραπλανητική, ότι τα ερωτήματα όπως είναι διατυπωμένα δεν καθοδηγούν στο να πάρεις πίνακα) για ποια εμπειρία των παιδιών να κάνουμε λόγο;

Όπως επίσης, έχουν ήδη δείξει άλλοι συνάδελφοι πολύ πιο σχολαστικοί από μένα, με τις απαιτήσεις του προβλήματος και με βάση το φυσικό σύμπαν όπου κατοικούμε, μιλάμε για το πολύ 2000 διαφορετικές επιδόσεις, άρα για το πολύ 4000 θέσεις μνήμης. Είναι αυτό απαγορευτική απαίτηση σε μνήμη που μπορεί να οδηγήσει σε αδυναμία εκτέλεσης του προγράμματος; Το να θέσω ένα άνω όριο π.χ. 2000 περιορίζει τις δυνατότητες του προγράμματος;

Με την ίδια λογική θα έπρεπε και στο Θέμα Δ να κόβουμε μόρια στους μαθητές που το λύνουν κάνοντας διαχωρισμό: κατασκευάζουν 9 καινούριους πίνακες, 3 ανά κατηγορία, έναν για το όνομα του σκάφους, ένα για το σχετικό του χρόνο και ένα για την κατηγορία του, κάνουν 3 επιπλέον ταξινομήσεις και εμφανίζουν τους 3 πρώτους από κάθε κατηγορία. Έρχεται λοιπόν ένας μαθητής που ξέρει να κάνει διαχωρισμό κι εγώ θα πω 'κάνει άσκοπη χρήση πινάκων' και θα του κόψω μόρια; Εννοείται πως όχι! Δεν είδα όμως καμιά οδηγία της ΚΕΕ που να λέει ότι ο διαχωρισμός αντιτίθεται στην παράγραφο 9.2 και ως εκ τούτου θα πρέπει να θεωρηθεί μη σωστή λύση και κατά συνέπεια ο βαθμολογητής να αφαιρέσει μόρια κατά την κρίση του...

Δύο μέτρα και δύο σταθμά;

Εκτός αυτού, μιλάμε για ψευδογλώσσα!

Η μόνη ουσιαστική διαφωνία είναι αν μπορούμε, έστω και στην ψευδογλώσσα, έστω κι αν ο πίνακας είναι ΑΤΔ, να χρησιμοποιήσουμε την εντολή Διάβασε για να ορίσουμε το μέγεθός του.

Η ερώτηση νομίζω είναι παγίδα: Πουθενά στην ψευδογλώσσα δεν δηλώνουμε μέγεθος πίνακα. Πουθενά. Το μέγεθος του πίνακα συνάγεται απ' τα συμφραζόμενα! Κατ' εξαίρεση ίσως με την εντολή Δεδομένα, και πάλι κατά σύμβαση, να ορίζουμε μέγεθος πίνακα. Ακόμα και όταν το μέγεθος του πίνακα είναι γνωστό και συγκεκριμένο, όπως π.χ. στο Θέμα Δ, βλέποντας τη λύση, το μέγεθος του πίνακα πάλι συνάγεται απ' τα συμφραζόμενα. Αν, δηλαδή, δω μόνο τη λύση, χωρίς να ξέρω την εκφώνηση, τότε θα υποθέσω ότι αφού βλέπω παντού 'Για κ από 1 μέχρι 35' ο πίνακάς μου έχει 35 στοιχεία. Αν δω 'Για κ από 1 μέχρι Ν' θα υποθέσω ότι έχει Ν στοιχεία.

Το 'Διάβασε Ν', όμως, δεν καθορίζει το μέγεθος του πίνακα, τουλάχιστον όχι με την αυστηρή έννοια που θα είχαμε αν υπήρχε μια εντολή δήλωσης μεγέθους. Καθορίζει το όριο των επαναλήψεων! Και μόνο αυτό! Βλέποντας λοιπόν, 'Διάβασε Ν' και αμέσως μετά μια επανάληψη 'Για κ από 1 μέχρι Ν', αν δεν ξέρω την εκφώνηση, θα υποθέσω ότι έχω έναν πίνακα αρκετά μεγάλο, π.χ. 2Ν, απ' τον οποίο χρησιμοποιώ τα πρώτα Ν στοιχεία! Το μέγεθος του πίνακα δεν μπορώ να το καθορίσω με ασφάλεια. Είναι κακή προγραμματιστική τεχνική; Ενδεχομένως. Έναν τέτοιο αλγόριθμο τον ερμηνεύω ως εξής: 'Θέλω να είμαι αρκετά γενικός, ώστε να δουλεύω με διάφορα όρια. Δεν ξέρω εκ των προτέρων όλα τα πιθανά όρια, ξέρω όμως ότι είναι ένας αριθμός που (α) θα μου είναι γνωστός, (β) θα είναι σχετικά μικρός οπότε η χρήση πινάκων δεν είναι απαγορευτική. Συνεπώς, λύνω το πρόβλημα γενικά με πίνακες και αφήνω στον προγραμματιστή να διαλέξει την καταλληλότερη υλοποίηση'

Παράθεση από: gpapargi στις 03 Ιουν 2010, 01:23:47 ΜΜ
Το μάθημα προφανώς θα συνεχίσει να υπάρχει απλά όσο απομακρυνόμαστε από τις ποιοτικές λύσεις (σε πόρους και σε πλήθος βημάτων) ρίχνει επίπεδο.
Κι εδώ θα διαφωνήσω. Δεν πέφτει το επίπεδο με το συγκεκριμένο Θέμα Γ αν το 90% των μαθητών το λύσει με πίνακες και εμείς ως βαθμολογητές δεχτούμε την λύση ως σωστή και δεν κόψουμε μόρια. Το μάθημα υπονομεύεται απ' τις ασάφειες του βιβλίου, που έχουν επισημανθεί εδώ και χρόνια κι όμως, το ΠΙ δεν στέλνει οδηγίες στην αρχή της χρονιάς για να τις διευκρινίσει. Κλασικό παράδειγμα τι γίνεται με τον μετρητή του Για. Εγώ, παρότι μπορεί να γίνει στη C και σε άλλες γλώσσες, διδάσκω στα παιδιά ότι απαγορεύεται να πειράξουμε τον μετρητή του Για μέσα στην επανάληψη. Όχι δεν είναι καλό, όχι είναι προτιμότερο, όχι πρέπει να αποφεύγεται, απαγορεύεται! Μετά από 7 χρόνια που διδάσκω το μάθημα, ήρθε μόλις φέτος οδηγία ότι στο Για δεν πρέπει να πειράζουμε τον μετρητή.

Επίσης, το επίπεδο πέφτει όταν όλες αυτές τις διαπιστωμένες ασάφειες, τις καθορίζουμε εκ των υστέρων, χρειάζεται δηλαδή να μπει ένα διφορούμενο θέμα στις πανελλαδικές, να "καούν" μερικές χιλιάδες υποψήφιοι ώστε να διδαχτούν σωστά οι επόμενες γενιές! Αυτό είναι απλώς θλιβερό! Όπως μ' εκείνη τη διάβαση στη λεωφόρο Κηφισού -αν δεν κάνω λάθος- έπρεπε πρώτα να σκοτωθεί ένα παιδί και μετά να χτιστεί μια πεζογέφυρα...

Ευτυχώς για μας, είναι τέτοια η απέχθεια των παιδιών για τη Χημεία και τη Βιολογία, που δε θα στερέψουμε ποτέ από μαθητές. Γιατί, δυστυχώς, η συντριπτική πλειοψηφία των μαθητών της Τεχνολογικής, δεν διαλέγει κατεύθυνση με βάση το σε ποια σχολή θέλει να περάσει, αλλά με βάση το σε ποια μαθήματα ΔΕΝ θέλει να εξεταστεί!

Παράθεση από: gpapargi στις 03 Ιουν 2010, 01:23:47 ΜΜ
Αυτά είχα να πω, νομίζω πως δε θα συμμετάσχω άλλο γιατί κουράστηκα.

Θα κλείσω με μια ωραία ιστορία Χατζόπουλου. 3 άτομα έστειλαν ακριβώς την ίδια εργασία λόγω αντιγραφής. Η εργασία άξιζε για 75. Δεν έκατσε να δει ποιος αντέγραψε από ποιον. Τους έβαλε από 25
Ερώτηση πρώτη: Ποιας τάξης είσαι; Πότε, δηλαδή μπήκες στο Τμήμα; Εγώ είμαι του '92 (τότε μπήκα).
Ερώτηση δεύτερη: Τον Χατζόπουλο τον επικαλούμαστε ως πρότυπο καθηγητή; Με όλο το σεβασμό προς τον παλιό μου δάσκαλο, οι παιδαγωγικές του ικανότητες ήταν θέμα προς συζήτηση. Έβαζε ωραίες ασκήσεις όμως!
Ερώτηση τρίτη: Απ' το CSD δεν υπάρχει κανένας εδώ μέσα; Ο Γεωργακόπουλος τι θα έλεγε για όλ' αυτά; Εμείς του DI, τοποθετηθήκαμε, και ως Θεωρητική Κατεύθυνση μάλιστα (βλ. απάντηση του Δημήτρη Θεοτόκη). Θέλω ν' ακούσω τι έχει το CSD να πει για όλα αυτά!
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

nikos_d

Δηλαδή είναι σωστό σε αλγόριθμο το παρακάτω;

Διάβασε Ν
Για ι από 1 μεχρί Ν
   Διάβασε Α[ι]
Τέλος_Επανάληψης



Afou to exei sto tetradio mathiti gia tous mathites einai swstotato...

gpapargi

Δημήτρη η λύση με διαχωρισμό δεν είναι πάντα χειρότερη. Πχ αν  διαχωρίσω, να ταξινομήσω χωριστά και μετά συγχωνεύσω πάω πιο γρήγορα. Θυσιάζω λίγο σε μνήμη αλλά κερδίζω σε βήματα.

Επειδή μιλάμε για πανελλήνιες δεν αρκεί να είναι κάτι σωστό με βάση αυτά που θέλουμε να συμβαίνει. Πρέπει να πατάει και σαφώς μέσα στο σχολικό βιβλίο. Δηλαδή ο λόγος που οφείλει να ενοχλεί κάποιον η χρήση πίνακα είναι η σπατάλη πόρων, αλλά το αν μπορείς να κόψεις βαθμούς για αυτό σηκώνει κουβέντα. Γι αυτό η επιτροπή έδωσε μια άσκηση με άγνωστο πλήθος έτσι ώστε να μη σηκώνει κουβέντα.

Το θέμα δηλαδή είναι αν στην ψευδογλώσσα επιτρέπεται να μην ξέρουμε το πλήθος των στοιχείων του πίνακα και να τον χρησιμοποιήσουμε. Το πραγματικό ζήτημα εδώ Δημήτρη είναι το ακριβώς συμβαίνει στην ψευδογλώσσα του βιβλίου (γιατί εκεί πρέπει να στηριχτεί η βαθμολόγηση). Είναι η ψευδογλώσσα του βιβλίου ίδια με την ψευδογλώσσα της βιβλιογραφίας; Και αν είναι διαφορετική... πρέπει να είναι διαφορετική ή θα έπρεπε να είναι ίδια;

Η ψευδογλώσσα του βιβλίου δεν είναι ίδια με αυτήν της βιβλιογραφίας (καλώς ή κακώς). Στην ψευδογλώσσα της βιβλιογραφίας οι πίνακες είναι αφηρημένες δομές δεδομένων και δε μας ενδιαφέρει αν είναι στατικοί ή δυναμικοί γιατί αυτό αφορά υλοποίηση. Δες τη σελίδα 56 του σχολικού. Αν και μιλάει για ψευδογλώσσα (η ΓΛΩΣΣΑ αρχίζει σο κεφάλαιο 7) απαιτεί από τους μαθητές να θεωρούν τον πίνακα στατική δομή. Δε θέλει να τον φαντάζονται δυναμικό. Όπως εξήγησα σε άλλο μήνυμα το να επιτρέψεις τη λύση
Διαβασα Ν
Για ι από 1 μέχρι Ν
  Διάβασε α[ι]
Τέλος επανάληψης
Επιτρέπεις και λύσεις με πίνακα σε ασκήσεις με τιμή φρουρό.
Όταν λοιπόν επιτρέπεις λύση με πίνακα σε ασκήσεις με τιμή φρουρό τότε παύεις να έχεις στο νου σου στατική δομή.

Να το πω με άλλα λόγια: Όταν λύνεις στην ψευδογλώσσα της βιβλιογραφίας ασκήσεις με πίνακα, δεν σε απασχολεί η υλοποίηση τους. Μπορείς να τους φαντάζεσαι και δυναμικούς. Ουδείς ασχολείται. Αλλά στην ψευδογλώσσα του βιβλίου (που εκεί πατάει η βαθμολόγηση) δεν επιτρέπεται να φανταστείς τον πίνακα δυναμικό. Πρέπει να τον φανταστείς στατικό και μάλιστα με την έννοια που λέει το βιβλίο στη σελίδα 56 (γνωστό μέγεθος όχι κατά την εκτέλεση όπως επιτρέπει η C αλλά κατά τη μεταγλώττιση).

Θα έπρεπε να είναι έτσι; Δεν ξέρω. Αρχικά είπα όχι. Αλλά αν σκεφτούμε λίγο τις συνέπειες δεν είμαι απόλυτα σίγουρος.

Ένας που διαβάζει αλγορίθμους από τον Knuth δεν τρέχει τίποτα να χρησιμοποιεί πίνακα γιατί ξέρουμε ότι αν του πεις να διαβάσει 1000 αριθμούς και να βρει το μέγιστο  δε θα το κάνει με πίνακα. Ένας αρχάριος όμως αυτή την ελευθερία την παρεξηγεί. Θα βάλει σε πίνακα τα 1000 στοιχεία. Δηλαδή από ένα επίπεδο και πάνω που ξέρουμε ότι ο προγραμματιστής δε θα κάνει αλόγιστη χρήση της ελευθερίας της ψευδογλώσσας στους πίνακες τότε ΟΚ δε μας χαλάει η ελευθερία ούτε αν αυτά που γράφει υλοποιούνται με δυναμικό πίνακα. Αλλά ένας αρχάριος θέλουμε να τα ρίχνει όλα σε πίνακα επειδή τον βολεύει; Θέλουμε να δίνει λύσεις φανταζόμενος τον πίνακα σαν κάτι δυναμικό; Εγώ λέω όχι. Η ψευδογλώσσα της βιβλιογραφίας απευθύνεται σε άτομα που ξέρουν να φυλάνε τους πόρους, ξέρουν τι σημαίνουν όλα αυτά και δεν παρεξηγούν την ελευθερία του εργαλείου. Η ψευδογλώσσα του σχολείου απευθύνεται σε άτομα που δεν το έχουν σε τίποτα να εισάγουν τα πάντα σε πίνακα ακόμα και σε ασκήσεις με απλούστατη επεξεργασία (πχ μέσο όρο) που κόβουν την επανάληψη με τιμή φρουρό και εκεί αρχίζουμε να ξεφεύγουμε. Πιθανόν για αυτό η σχολική ψευδογλώσσα είναι κάτι διαφορετικό από την ψευδογλώσσα της βιβλιογραφίας. Πάντως η βαθμολόγηση γίνεται με βάση τη σχολική.

ΥΓ πέρασα από το τμήμα το 90-95 και δε θεωρώ το Χατζόπουλο υποδειγματικό δάσκαλο. Ήταν άγαρμπος με τα παιδιά.

panos_t

Πράγματι έγινε μεγάλη συζήτηση για αυτό το θέμα τον Πανελληνίων. Όμως κάποια ερωτήματα υπάρχουν:

α) Η επιτροπή ήθελε σε αυτό να εξετάσει αν ξέρει ο μαθητής πότε χρησιμοποιείται πίνακας; Αν ναι τότε όσοι επέλεξαν τη λύση του πίνακα έπρεπε να μην πάρουν καθόλου μονάδες! Πώς λοιπόν συζητάμε πόσα μόρια από 1-4 θα κοπούν; Από αναρτήσεις σε blog (όσο αυτές είναι αντικειμενικές) αναφέρεται ότι μέλη επιτροπών Φ.Α. ζήτησαν τηλεφωνικά από την ΚΕΕ αν η λύση με πίνακες είναι σωστή και τους απάντησαν προφορικά "¨Ναί" και μετά από μισή ώρα (και αφού είχαν εξεταστεί μαθητές στο θέμα αυτό) ήρθε η διευκρίνηση ότι ήταν "λάθος" η λύση με τους πίνακες και να κοπούν από 2-6 μόρια. Πάλι περίεργο! Αφού είναι λάθος γιατί να μην κοπεί όλη; Άρα μήπως τελικά υπάρχει και μοντελοποίηση με πίνακες που είναι σωστή και πάμε να βρούμε μια μεσαία λύση;

β) Θα μου πείτε πάλι "δεν μοντελοποιείται με πίνακες όπως" Σύμφωνα με το βιβλίο δε θα έπρεπε να χρησιμοποιηθεί πίνακας > (βλ. ΚΕΦ. 3. Στατική δομή σελ.56 και ΚΕΦ.9, σελ. 191)", αναφέρετε. Τότε παρακαλώ εξηγήστε μου τη κατασκευή του μονοδιάστατου πίνακα sparse από έναν αραιό πίνακα Ν Χ Μ που προφορικά αναφέρει τη διαδικασία στη σελίδα 32 Παράδειγμα 3 του τετραδίου μαθητή. Πώς κατασκευάζεται ένα πίνακας με 3*Κ στοιχεία όταν δεν γνωρίζουμε από πριν το Κ (όπου Κ το πλήθος των μη μηδενικών στον αραιό μεγέθους Ν Χ Μ) ; (ο αλγόριθμος αποθήκευσης του αραιού πίνακα σε μονοδιάστατο sparse έχει είσοδο έναν πίνακα ΝΧΜ και έξοδο τον πίνακα sparse). Πώς γνωρίζουμε από πριν το πλήθος των μη μηδενικών του αραιού πίνακα για να δηλώσουμε το μέγεθος του sparse; Άρα δεν θα έπρεπε να χρησιμοποιηθεί πίνακας στη λύση;

γ) Μάλιστα με το έγγραφο (επείγον) του ΥΠ.Δ.Β.Μ.Θ.με Αριθ. Πρωτ. 43652/Γ2 στις 20-04-2010 αναφέρεται (για το παράδειγμα που λέω):
« Ως εκ τούτου τα παραδείγματα του Τετραδίου Μαθητή έχουν ως στόχο την εμπέδωση του θεωρητικού μέρους του μαθήματος και γι' αυτό τον σκοπό αξιοποιούνται από τους εκπαιδευτικούς. Επομένως, νέες έννοιες, νέοι όροι κ. ά., που περιέχονται στο Τετράδιο Μαθητή και δεν αναφέρονται στο Βιβλίο Μαθητή, βάσει του οποίου έχει προσδιορισθεί η διδακτέα – εξεταστέα ύλη, θεωρούνται εκτός εξεταστέας ύλης. Δεν μπορεί, για παράδειγμα, να ζητηθεί ο ορισμός του «αραιού
πίνακα», αφού αυτός δεν αναφέρεται στο Βιβλίο Μαθητή. Σε περίπτωση, όμως, που δοθεί άσκηση ή πρόβλημα με αναφορά σε μια τέτοια έννοια, τότε αυτή θα πρέπει να επεξήγεται όπως στο αντίστοιχο παράδειγμα του Τετραδίου Μαθητή, ώστε ο μαθητής να είναι σε θέση να αντιμετωπίσει την άσκηση ή το πρόβλημα με τις γνώσεις που έχει αποκτήσει από το Βιβλίο Μαθητή. Μπορεί, δηλαδή, να δοθεί σε αντιστοιχία με το παράδειγμα του αραιού πίνακα (Παράδειγμα 5, σελ. 32 του Τετραδίου Μαθητή) ως άσκηση ένας τέτοιος πίνακας και να ζητηθεί «να γραφεί αλγόριθμος ο οποίος θα τον μετασχηματίζει σε έναν μονοδιάστατο πίνακα του οποίου κάθε τριάδα διαδοχικών στοιχείων, με αρχή την πρώτη τριάδα, προσδιορίζεται από τον αριθμό γραμμής, τον αριθμό στήλης και το αντίστοιχο μη μηδενικό στοιχείο του δοθέντος πίνακα».

Άρα δεν μπορεί να χρησιμοποιηθεί η δομή του πίνακα αφού δεν γνωρίζουμε από τα πριν το πλήθος των μη μηδενικών στοιχείων του πίνακα; 'Άλλο «πνεύμα» εδώ και άλλο στις εξετάσεις;  Μάλιστα το έγγραφο αυτό στάλθηκε λίγο πριν της εξετάσεις.

δ) Στην ίδια εγκύκλιο αναφέρεται;
«...όπως προσδιορίζεται στο Ενιαίο Πλαίσιο Προγράμματος Σπουδών Πληροφορικής, «Ο γενικός σκοπός του μαθήματος είναι, να αναπτύξουν οι μαθητές αναλυτική και συνθετική σκέψη, να αποκτήσουν ικανότητες μεθοδολογικού χαρακτήρα και να μπορούν να επιλύουν απλά προβλήματα σε προγραμματιστικό περιβάλλον». Μεταξύ δε των στόχων, που τίθενται, αναφέρονται και οι εξής:
Οι μαθητές:
- να μπορούν να αναλύουν ένα απλό πρόβλημα και να σχεδιάζουν τη λύση του
- να έχουν αναπτύξει ικανότητες μοντελοποίησης και αλγοριθμικής επίλυσης προβλημάτων
- να μπορούν να χρησιμοποιούν συμβολικές μεθόδους για την επίλυση προβλημάτων και την επεξεργασία δεδομένων.»

Άρα όποιος μαθητής έλυσε με πίνακες το τρίτο θέμα που έκανε λάθος; Το μοντελοποίησε έτσι με το σκεπτικό ότι ο αλγόριθμος όταν πάει να εκτελεστεί σε υπολογιστή θα οριστούν πίνακες με μέγιστο μέγεθος ΟΝ[ΠΟΣΟΙ] και ΕΠΙΔ[ΠΟΣΟΙ], όπου ΠΟΣΟΙ είναι το μέγιστο πλήθος συμμετεχόντων  (ένας αριθμός, αριθμητική σταθερά) και θα διαβαστεί το πλήθος ως εξής:

  Αρχή_επανάληψης
       Γράψε "Πόσοι μαθητές συμμετέχουν στον αγώνα (max ΠΟΣΟΙ)"
       Διάβασε Ν
  μέχρις_ότου Ν>=1 και Ν<= ΠΟΣΟΙ

Υπάρχει λάθος στην μοντελοποίηση αυτή με πίνακες (που προέρχεται σαν συνέχεια αυτού αλγορίθμου με πίνακες που έφτιαξαν οι μαθητές);

Κατ' εμένα έπρεπε κα οι δύο λύσεις να θεωρηθούν σωστές. Μια διευκρίνηση στο θέμα «Να μην γίνει χρήση της δομής του πίνακα» θα έλυνε εκ γενετής την παρεξήγηση. Γιατί δεν δόθηκε; Τότε λοιπόν όποιος το έλυσε με πίνακες θα έπρεπε ή να μην πάρει καθόλου μόρια ή αν τελικά η λύση είναι δεκτή σαν σωστή τότε  να πάρει το σύνολο των μορίων. Πάλι η λογική να κοπούν 1-4 μόρια με ποια πλευρά τάσσεται; Ότι η άσκηση λυμένη με πίνακες είναι σωστή αλλά και λίγο λάθος; Προσωπικά δεν κατάλαβα.

dtheo

@panos_t
Έχεις απόλυτο δίκαιο σε αυτά που λες. Η πραγματικότητα είναι αλλού όμως. Η ΚΕΕ έκανε τέσσερα σφάλμτα ολκής :
1 Στη εκφώνιση του θέματος. Αλλό, μάλλον, ήθελαν να εξετάσουν αλλά η εκφώνιση δεν τους βγήκε
2. Στην οδηγία που έστειλε για να καλύψη το πρώτο λάθος της
3. Στην δεύτερη οδηγία που έστειλε.
4. Αν όντως η λύση με την χρήση πινάκων ήταν λάθος τότε σε κάθε ερώτημα που έγινε χρήση πίνακα το ερώτημα έπρεπε να μηδενίζεται και αυτή θα έπρεπε να είναι η οδηγία της.

Τελικά αυτά που οι μαθητές έμαθαν είναι τα ακόλουθα:
α. Όταν κάνεις λάθος κουκούλωσε το. Είναι καλύτερα από το να αναλάβεις τις ευθύνες σου
β. Επιστημονικά τεκμηριωμένο είναι κάτι  αόριστο κάτι που υφίσταται κατά το δοκούν, μία πιθανή αλήθεια όχι αποδεδειγμένη που σύμφωνα με το σκεπτικού κάποιου -ισως όχι και αρμοδιου- ισχύει, όχι απαράιτητα κοινά αποδεκτή.
γ. Ακόμα και αν απαντάς σωστά μπορεί κάποιος να στο θεωρίσει "λίγο" λάθος.

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

Αλλά βέβαια τι ξέρει ο Παπαδημητρίου συγκρινόμενος με την ΚΕΕ.....

Τελικά υπάρχει έλλειμα αλλά όχι γνώσεων ή θεματοδοσίας αλλά ήθους και αρχών. Τελικά είναι πολύ δυσκολο να πεις δημόσια Mea Culpa. 


Δρ. Δημήτριος Θεοτόκης
Πληροφορικός ΠΕ19




gpapargi

Δημήτρη (Θεοτόκη) επειδή νομίζω ότι καταλαβαίνω την άποψή σου και πιστεύω ότι ξέρω από πού προκύπτει, να σου κάνω μια διευκρινιστική ερώτηση:

Θεωρείς ίδια την ψευδογλώσσα της βιβλιογραφίας με την ψευδογλώσσα του σχολικού βιβλίου στον τρόπο που αντιμετωπίζουν το μέγεθος των  πινάκων; Πχ δες στη σελίδα 56 τι ιδιότητες αποδίδει το βιβλίο στους πίνακες της σχολικής ψευδογλώσσας.  Προσοχή, δεν μιλάω για το τι είναι στατική δομή στην πραγματικότητα, μιλάω για το τι θεωρεί (καλώς ή κακώς) το βιβλίο στατική δομή. Επίσης δε μιλάω για το αν θα έπρεπε το βιβλίο να χρησιμοποιεί την ψευδογλώσσα της βιβλιογραφίας. Ρωτάω μόνο αν θεωρείς ότι η ψευδογλώσσα του σχολικού βιβλίου είναι ίδια με την ψευδογλώσσα της βιβλιογραφίας. Νομίζω ότι από αυτό ξεκινάει η διαφωνία. 

Η γνώμη η δική μου στην ερώτηση που σου έκανα είναι ότι στη βιβλιογραφία η ψευδογλώσσα θεωρεί τον πίνακα σαν αφηρημένη δομή δεδομένων που δεν έχει νόημα να χαρακτηριστεί ως στατική ή δυναμική γιατί δε μιλάμε για υλοποίηση, ενώ στο βιβλίο θεωρεί τον πίνακα στατική δομή με την έννοια που δίνει στη σελίδα 56 (όχι αυτό που ισχύει στη C). Ποια είναι η γνώμη σου;

George

Γιώργο ( Παπαργύρη ) θα ήθελα και εγώ να σου κάνω μια ερώτηση για να ξεκαθαρίσω κάποια πράγματα
Θεωρείς την εντολή

Χ <-  Α_Τ( Υ-5)

Λάθος ή Σωστή;;;
(Μπορεί να φαίνεται άσχετο αλλά για μένα δεν είναι )

gpapargi


dtheo

@gpapargi

Υπάρχει συγκεκριμένη ψευδογλώσσα? Απλά παραθέτω ορισμό για το τι είναι ψευδοκώδικας για να έχουμε ένα σταθερό σημείο αναφοράς είναι στα αγγλικά και ζητώ συγνώμη για αυτό:

"Pseudocode is a kind of structured english for describing algorithms. It allows the designer to focus on the logic of the algorithm without being distracted by details of language syntax.  At the same time, the pseudocode needs to be complete.  It describe the entire logic of the algorithm so that implementation becomes a rote mechanical task of translating line by line into source code. "

Δίνω και το URL
http://users.csc.calpoly.edu/~jdalbey/SWE/pdl_std.html
Αξίζει να δεις το URL

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

Η ψευδογλώσσα δε γνωρίζει για ΑΔΤ μόνο οι γλώσσες προγραμματισμού έχουν μηχανισμούς για την υλοποίηση ΑΔΤ. Στη σελιδα 56 μιλάει για προγραμματισμό, μεταγλώττιση και πρόγραμμα όχι Αλγόριθμο.

>(όχι αυτό που ισχύει στη C

Όλες οι γλώσσες προγραμματισμού εκτός από την Basic και την Γλώσσα έχουν την δυνατότητα αυτή.

Για να απαντήσω όμως στην ερώτηση σου ναι θεωρώ ότι η ψευδογλώσσα του βιβλίου είναι ισοδύναμη (αν κάποιος θα μπορούσε ποτέ να ισχυριστεί αυτό -την ισοδυναμία εννοώ-) με αυτή της βιβλιογραφίας αφού το βιβλίο στη σελίδα 89-90 απλά παρουσιάζει το αυτονόητο:
"Ο αλγόριθμος Δύναμη1 ...."
Ας μου πεί κάποιος, επειδή εγώ μάλλον χαζός πρέπει να είμαι, ο πίνακας power που έχει οριστεί και τι μέγεθος έχει.

Περιμένω σχόλια

Δρ. Δημήτρης Θεοτόκης

Πληροφορικός ΠΕ19




George

Παράθεση από: gpapargi στις 07 Ιουν 2010, 02:15:33 ΜΜ
Θα πρέπει να έχει κάποια τιμή το Y.
Ναι εννοείται ότι το Υ θα έχει κάποια τιμή.

Θα δεχόσουν ως απάντηση το παρακάτω :
Η συγκεκριμένη εντολή είναι λάθος γιατί :

Αποσπάσματα από το σχολικό

"Κάθε συνάρτηση έχει την ακόλουθη δομή:
ΣΥΝΑΡΤΗΣΗ όνομα ( λίστα παραμέτρων ) : τύπος συνάρτησης
...
...
  "
 
Και  " Η λίστα παραμέτρων είναι μια λίστα μεταβλητών..."

George

Και επειδή το παραπάνω το έγραψα λίγο βιαστικά να εξηγήσω τι θέλω να πω.
Στο κεφ 10, στα εντός ύλης κομμάτια που μαθαίνουν τα παιδιά, παντού μιλάει για παραμέτρους.
Για λίστες τυπικών και πραγματικών παραμέτρων, για  κανόνες που πρέπει να ακολουθούν οι λίστες παραμέτρων κτλ. 
Δηλ μας περιορίζει στο να χρησιμοποιούμε μόνο μεταβλητές (παραμέτρους) 

Με αυτό το σκεπτικό θα δεχόμασταν ότι  η εντολή   Χ <- Α_Τ (Υ-5) είναι λάθος;;

Φαντάζομαι πως όχι

Γιατί κοιτάμε όλο το διδακτικό πακέτο και όχι μόνο τα εντός ύλης κομμάτια αλλά και το τι ισχύει γενικά ώστε να είμαστε όσο ποιο σωστοί γίνεται στο μάθημα που διδάσκουμε.


michaeljohn

Παράθεση από: George στις 07 Ιουν 2010, 04:30:26 ΜΜ
Με αυτό το σκεπτικό θα δεχόμασταν ότι  η εντολή   Χ <- Α_Τ (Υ-5) είναι λάθος;;

Φαντάζομαι πως όχι

Γιατί κοιτάμε όλο το διδακτικό πακέτο και όχι μόνο τα εντός ύλης κομμάτια αλλά και το τι ισχύει γενικά ώστε να είμαστε όσο ποιο σωστοί γίνεται στο μάθημα που διδάσκουμε.

Σωστός !!!

gpapargi

@dtheo
Μια ακόμα ερώτηση για να καταλάβω την άποψη σου:
Έστω ότι σε μια άσκηση διαβάζουμε αριθμούς μέχρι να εισαχθει αρνητικός  και βγάζουμε μέσο όρο. Επιτρέπεται στην ψευδογλωσσα η χρήση πινάκα ενώ δεν ξέρουμε τα πλήθος; Δηλαδή επιτρέπεται το

ι<-0
Διάβασε χ
Όσο χ>=0 επανάλαβε
  ι<-ι+1
  α[ι]<-χ 
  Διάβασε χ
Τελος_επαναληψης

Σπύρος Δουκάκης

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

Αυτή τη στιγμή εγώ έχω εντοπίσει το βιβλίο του ΕΑΠ από τον Καμέα Αχιλλέα, Επίκουρο Καθηγητή Πληροφορικής, που επιτρέπει το τμήμα αλγορίθμου που συζητάμε.

Διάβασε Ν
Για ι από 1 μεχρί Ν
   Διάβασε Α[ι]
Τέλος_Επανάληψης

Δεν λέω για βιβλία των συγγραφέων, αν και αποτελούν και αυτά βιβλία τριτοβάθμιας εκπαίδευσης.

evry

αν όλα αυτά επιτρέπονται πολύ θα ήθελα να μάθω πως είναι δυνατόν να έχουμε υπερχείλιση σε στοίβα που υλοποιείται με στατικούς πίνακες. Όλα αυτά αναφέρονται στο κεφάλαιο της ψευδογλώσσας. Σίγουρα μπορούμε να βρούμε άπειρα παραδείγματα από άλλα βιβλία στα οποία το συγκεκριμένο τμήμα κώδικα επιτρέπεται αλλά όπως είπε και ο Γιώργος και συμφωνώ μαζί του η ψευδογλώσσα του σχολικού βιβλίου δεν είναι το ίδιο με την αφηρημένη ψευδογλώσσα που είχαμε όλοι στο μυαλό μας πριν διδάξουμε το μάθημα της ΑΕΠΠ.
   Δηλαδή αν δεχτούμε ότι το συγκεκριμένο τμήμα κώδικα είναι επιτρεπτό στην ψευδογλώσσα τότε μπορούμε να χρησιμοποιήσουμε δυναμικούς πίνακες. Δεν έχω κανένα πρόβλημα με αυτό, απλά να το ξεκαθαρίσουμε για να ξέρουμε τι θα διδάξουμε του χρόνου.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Σπύρος Δουκάκης

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

Το πρόβλημα λοιπόν δημιουργήθηκε από το θέμα. Το θέμα φταίει. Το θέμα που έκανε επιστημονικό άλμα στις εμπειρίες των εκπαιδευτικών και οδήγησε σε αυτό το πανηγύρι.

Να στο πω και διαφορετικά. Εγώ έχω διδαχτεί στη σχολή μου το συγκεκριμένο τμήμα αλγορίθμου και μας έλεγε ο διδάσκων ότι μπορείτε και να το διαβάσετε το Ν. Το έχω καταλάβει, νιώθω καλά, μου το έχουν διδάξει δύο από τους συγγραφείς του βιβλίου και άρα η γνώμη τους είναι βαρύνουσα.

Έρχεται, λοιπόν, το θέμα με το οποίο ο θεματοδότης θέλει να ελέγξει κάτι που από ότι φαίνεται είναι ξεκάθαρο στο δικό του μυαλό, αλλά με διαφορετικό τρόπο από το πως είναι ξεκάθαρο στο δικό μου μυαλό... και κυρίως στο μυαλό των συγγραφέων. Φαίνεται ότι δεν ελέγθηκε ούτε τι συμβαίνει στην τριτοβάθμια αλλά ούτε και η άποψη των συγγραφέων. Φαίνεται ότι το θέμα προσπάθησε να πατήσει σε ένα γκρίζο σημείο του σχολικού βιβλίου. Δεν μου αρέσει αυτό και δεν νομίζω ότι είναι θετικό.

Το έγραψα αλλού και το παραθέτω.

Παράθεση από: sdoukakis στις 02 Ιουν 2010, 01:46:27 ΠΜ
Είναι η ώρα που χρειαζόμαστε επιμόρφωση. Διότι είμαστε πολύ καλοί γνώστες της δουλειάς μας, αλλά κολλήσαμε στη δουλειά μας...
Αυτό που χρειαζόμαστε είναι ένα διδακτικό συμβόλαιο και νομίζω ότι οι ενώσεις μας μπορούν να το "γράψουν".

Vangelis

Παράθεση από: dtheo στις 07 Ιουν 2010, 02:20:57 ΜΜ

"Pseudocode is a kind of structured english for describing algorithms. It allows the designer to focus on the logic of the algorithm without being distracted by details of language syntax.  At the same time, the pseudocode needs to be complete.  It describe the entire logic of the algorithm so that implementation becomes a rote mechanical task of translating line by line into source code. "


Δημήτρη για εξήγησε μας τι καταλαβαίνεις απο την τελευταία πρόταση.

dtheo

@gpapargi

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

Δηλαδή:
.....
ι<-1
α[ι] <- -1
Διάβασε χ
Οσο χ > 0 επαναλαβε
    α[ι] <- χ
    ι <- ι + 1
    copy(a, temp, i)
    increase(a, i)
    copy(temp, a, i)
    διαβασε χ
τέλος επανάληψης


αλγόριθμος copy
//δεδομενα a, ι//
αρχη
για κ απο ι μεχρι ι - 1
    temp[ι] <- a[i]
τελος επαναληψης
ι <- ι  + 1
temp[i] <- -1
//Αποτελεσμα temp//
τελος αλγορίθμου.

αλγόριθμος increase
//δεδομενα ι
Αρχη
   για κ απο 1 μεχρι ι
      a[ι] <- -1
    τελος επαναληψης
//Αποτέλεσμα a 
τελος αλγορίθμου   



Στη πραγματικότητα αν και κάτι τέτοιο μπορεί να περιγραφει θεωρώ ότι είναι, από πλευράς πολυπλοκότητας απαγορευτικό διότι είναι Ο(ν^2) αλλά ναι μπορεί να γίνει. Βέβαια ποτέ δεν θα το έκανα και το παράδειγμα αυτό είναι το κλασικό παράδειγμα για την αποφυγή χρήσης πίνακα αφού το μέγεθός του δεν ορίζεται πριν από την πρώτη επανάληψη.

Αφού λοιπόν απάντησα και σε αυτό το ερώτημα θεωρώ ότι είναι θέμα στοιχειώδους ευγένειας να μου απαντήσετε και στο ερώτημα που έθεσα εγώ προηγουμένος:
Ποιό είναι το μέγεθος του πίνακα power στον αλγόριθμο της σελίδας 90.


@evry
Βασιζόμενος λοιπόν στην ψευδογλώσσα του βιβλίου θα ήθελα να σας παρακαλέσω να μου υποδείξετε το μέγεθος του πίνακα power στον αλγόριθμο της σελίδας 90. Εκτός βέβαια και αν αυτή είναι άλλη ψευδογλώσσα.

@Vangelis
Ότι είναι και ελεύθερο το οποίο δεν αποτελεί  πρότυπο -standard- (ο καθένας θα μπορούσε να ορίσει μια ψευδογλώσσα) και το οποίο απαγκιστρώνει το σχεδιαστή από τις ιδιαιτερότητες κάποιας γλώσσας. Με άλλα λόγια μπορείς να κάνεις παραδοχές τις οποίες κάποιες γλώσσες δεν θα σου επέτρεπαν -βλέπε γλώσσα Γλωσσα και πίνακες μη προκαθορισμένων στοιχείων. Άλλωστε αυτή είναι μία από τις χρήσεις των αλγορίθμων και η χρήση της ψευδογλώσσας. Να περιγράψεις τη λύση ενός προβλήματος χωρίς να δεσμεύεσαι από γλωσσικούς ή υπολογιστικούς περιορισμούς, όπως για παράδειγμα οι πύργοι του Ανόι. Ο αλγόριθμος δουλεύει και για 3 αλλά και για 100000 δίσκους. Ο υπολογιστής θα πεί stack overflow λόγω της αναδρομής στην περίπτωση των 100000 δίσκων. Αυτό όμως δε σημαίνει ότι είναι λάθος ο αλγόριθμος ή η ψευδογλώσσα στην οποία έχει περιγραφεί.   

Πάρε παράδειγμα τον παρακάτω ψευδοκώδικα:
1  function Dijkstra(Graph, source):
 2      for each vertex v in Graph:           // Initializations
 3          dist[v] := infinity               // Unknown distance function from source to v
 4          previous[v] := undefined          // Previous node in optimal path from source
 5      dist[source] := 0                     // Distance from source to source
 6      Q := the set of all nodes in Graph
        // All nodes in the graph are unoptimized - thus are in Q
 7      while Q is not empty:                 // The main loop
 8          u := vertex in Q with smallest dist[]
 9          if dist[u] = infinity:
10              break                         // all remaining vertices are inaccessible from source
11          remove u from Q
12          for each neighbor v of u:         // where v has not yet been removed from Q.
13              alt := dist[u] + dist_between(u, v)
14              if alt < dist[v]:             // Relax (u,v,a)
15                  dist[v] := alt
16                  previous[v] := u
17      return dist[]


διαφορετική ψευδογλώσσα αλλά αυτό δεν σημαίνει ότι δεν μπορεί να μεταφραστεί γραμμή προς γραμμή σε κάποια γλώσσα προγραμματισμού. Ναι θα δεχθώ ότι για να γίνει πρόγραμμα στη γλώσσα Γλώσσα το παραπάνω θα πρέπει να προκαθοριστούν οι πίνακες, αλλά το θέμα Γ ζητούσε αλγόριθμο. Αλήθεια ποιό είναι το μέγεθος των πινάκων dist και previous αφού το μέγεθος του γράφου δεν είναι γνωστό?

@gpapargi, @evry και @Vangelis
Το κύριο ερώτημα όμως δεν είναι η ψευδογλώσσα σε όποια της μορφή με όποια σημασιολογία, αν και είναι ένα σοβαρό ερώτημα, αλλά αν ισχύει το ότι κάθε επιστημονικά τεκμηριωμένη λύση είναι αποδεκτή, όπως ισχυρίζεται η ΚΕΕ. Αν ισχύει λοιπόν, τότε ή λύση του θέματος Γ είναι ολόσωστη, αποδεκτή και όχι "ελαφρώς" λάθος όπως θέλει να την παρουσιάσει η ΚΕΕ.   


Θα παρακαλούσα και τους τρεις αν έχετε χρόνο να σχεδιάζατε έναν αλγόριθμο για το ακόλουθο πρόβλημα:
Ένα υπολογιστικό σύστημα δεν διαθέτει δυνατότητες δυναμικής δέσμευσης μνήμης. Να υλοποιηθεί πρόγραμμα το οποίο να υλοποιεί πλήρες δυαδικό δένδρο αναζήτησης. Το ύψος του δένδρου δίδεται από τον χρήστη κατά την εκτέλεση του προγράμματος δηλαδή δεν είναι a priori γνωστό. Δεν ζητάω πρόγραμμα αλλά αλγόριθμο.

Ευχαριστώ εκ των προτέρων για τον πολύτιμο χρόνο σας


Δρ. Δημήτριος Θεοτόκης

Πληροφορικός ΠΕ19

gpapargi

Παράθεση από: dtheo στις 08 Ιουν 2010, 01:33:53 ΠΜ
@gpapargi

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

Λες «υπό τις παρακάτω προϋποθέσεις;» και στη συνέχεις περιγράφεις την αύξηση μεγέθους του πίνακα που σημαίνει δυναμικό πίνακα.

Το θέμα είναι: στη σχολική ψευδογλώσσα (που τη θεωρείς ίδια με την ψευδογλώσσα της βιβλιογραφίας) ισχύει αυτή η ιδιότητα; Ένα «Ναι» ή ένα «Όχι» είναι η απάντηση.

ΥΓ
Έχω γράψει για τα άλλα που ρωτάς. Θα το ψάξω λίγο στα μηνύματα και θα στο στείλω.

gpapargi

Παράθεση από: sdoukakis στις 08 Ιουν 2010, 12:58:09 ΠΜ
Έρχεται, λοιπόν, το θέμα με το οποίο ο θεματοδότης θέλει να ελέγξει κάτι που από ότι φαίνεται είναι ξεκάθαρο στο δικό του μυαλό, αλλά με διαφορετικό τρόπο από το πως είναι ξεκάθαρο στο δικό μου μυαλό... και κυρίως στο μυαλό των συγγραφέων. Φαίνεται ότι δεν ελέγθηκε ούτε τι συμβαίνει στην τριτοβάθμια αλλά ούτε και η άποψη των συγγραφέων.

Ας δούμε λοιπόν ποια είναι η άποψη των συγγραφέων όπως την αποτύπωσαν μέσα στο βιβλίο.

Το ίδιο ερώτημα που θέτω στον dtheo θέλω να θέσω και σε σένα:
Στην ψευδογλώσσα του σχολικού βιβλίου ισχύει το παρακάτω:

ι<-0
Διάβασε χ
Όσο χ>=0 επανάλαβε
  ι<-ι+1
  α[ι]<-χ 
  Διάβασε χ
Τελος_επαναληψης

Προσοχή γιατί το παραπάνω απαιτεί δυναμικό πίνακα. Θέλω να μου απαντήσεις αν με βάση το σχολικό βιβλίο η ψευδογλώσσα επιτρέπει κάτι τέτοιο.

Για να πω κι εγώ τη γνώμη μου η ψευδογλώσσα της βιβλιογραφίας λύνει προβλήματα σε αφηρημένες δομές δεδομένων. Το να λύσεις πρόβλημα σε αφηρημένες δομές απαιτεί να είσαι πιο προχωρημένος από το τελείως εισαγωγικό επίπεδο. Κι αυτό γιατί ο αρχάριος εύκολα μπορεί να μπερδέψει  την αφηρημένη δομή (στην οποία δεν ασχολούμαστε με την υλοποίηση) με το δυναμικό πίνακα στον οποίο η υλοποίηση μας ενδιαφέρει και έγινε με δυναμικό τρόπο.
Για έναν που έχει ξεφύγει από το εισαγωγικό επίπεδο και ασχολείται με αλγορίθμους (συνήθως δεύτερο-τρίτο έτος) δεν υπάρχει παρεξήγηση. Ξέρει τι είναι η αφηρημένη δομή, ξέρει και να αξιολογεί της χρήση των πόρων και ασχολείται απλώς με το αλγοριθμικό κομμάτι. Αλλά σε έναν αρχάριο δεν μπορεί να μιλήσεις για αφηρημένη δομή και να εξηγήσεις την έννοια του δυναμικού πίνακα. Γι αυτό το βιβλίο θεωρεί (δικαιολογημένα) μια ψευδογλώσσα διαφορετική από αυτή της βιβλιογραφίας.
Περιορίζει τη βιβλιογραφική ψευδογλώσσα σε στατικούς πίνακες. Διαβάζοντας το κεφάλαιο 3 αντιλαμβάνομαι ότι οι συγγραφική ομάδα θέλει τους μαθητές να φαντάζονται τους πίνακες μόνο στατικούς ακόμα και στη ψευδογλώσσα και να μη δίνουν λύσεις που υπονοούν  αλλαγή μεγέθους του πίνακα. Διαφορετικά θα μπορούσαμε να βάλουμε τα πάντα σε πίνακα... το οποίο βέβαια έρχεται και σε αντίθεση με τον τρόπο που θέλουν οι συγγραφείς να φαντάζονται οι μαθητές τον πίνακα καθώς και με τη νοοτροπία που εισάγει η παράγραφος 9.2 για τη χρήση πόρων.

Παρόλα αυτά αν κάποιος θεωρεί σωστό τον κώδικα που γράφω παραπάνω με βάση το βιβλίο να μας το πει.

dtheo

@gpapargi

Όχι δεν μιλάω για δυναμικό πίνακα αλλά για επαναληπτικό ορισμό πίνακα (νέος πίνακας κάθε φορά - γι' αυτό μίλησα για απόδοτικότητα) . Άλλωστε φαίνεται καθαρά από τον αλγόριθμο που παρέθεσα, Πολύ μεγάλη διαφορα. Σε κάθε επανάληψη κατασκευάζεται νέος πίνακας μεγέθους ι. [Δεν μεγαλώνει ο αρχικός. Μπορείτε να δείτε τον κώδικα. Δυναμικός πίνακας σημαίνει έχω τον πίνακα και σε αυτόν τον πίνακα προσθέτω κελιά (realloc στη C - απλά για να έχουμε κοινό σημείο αναφοράς), δεν έχω βοηθητικό πινακα στον οποίο  αντιγράφω τα δεδομένα του παλιού κατασκευάζω εκ νέου τον αρχικό αλλά μεγαλύτερο αυτή τη φορά και αντιγράφω και πάλι.

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

Αλήθεια με ποιό τρόπο θα λύνατε το πρόβλημα με το δένδρο που σας περιέργαψα στο προηγούμενο μήνυμα μου ? Το πρόβλημα δεν ανήεκι στην κατηγορία των άλυτων προβλημάτων, άρα υπάχρει και αλγόριθμος και υλοποίηση η οποία μπορεί να γίνει σε κάποια γλώσσα προγραμματισμού, ίσως όχι στη Γλώσσα.

Ευχαριστώ εκ των προτέρων

Δρ. Δημήτριος Θεοτόκης

Πληροφορικός ΠΕ19

merlin

Επειδή βλέπω ότι το ΕΑΠ "παίζει" πολύ και χρησιμοποιείται ως βάση επιχειρημάτων από αρκετούς, έχω να παραθέσω την παρακάτω ιστορία:
Στο μάθημα "Εισαγωγή στην Πληροφορική" στο οποίο συμμετείχε η γυναίκα μου τους έβαλαν φέτος μια εργασία, να σχεδιάσουν ένα κύκλωμα από μια λογική συνάρτηση.
Ένας συνάδελφος (ΠΕ20) φοιτητής, απλοποίησε με Karnaugh την συνάρτηση και σχεδίασε το απλοποιημένο κύκλωμα (καμία σχέση με το αρχικό, πολύ πιο απλό). Ο καθηγητής του έκοψε μονάδες γιατί είπε ότι ο Karnaugh ήταν εκτός ύλης και ο σκοπός της άσκησης ήταν να διαπιστωθεί το κατά πόσο οι φοιτητές μπορούσαν να ανταποκριθούν σε ένα "σύνθετο" κύκλωμα. Δεν ξέρω πόσες μονάδες του έκοψε αλλά αν κρίνω από τον χαμό που έγινε μετά στην αίθουσα (ήμουν παρών) πρέπει να ήταν αρκετές.
Η αλήθεια είναι ότι και εγώ όταν βοηθούσα την γυναίκα μου για την εργασία σκέφτηκα αμέσως Karnaugh, έψαξα όμως λίγο και είδα ότι ήταν σε επόμενο έτος και αποφάσισα να το λύσει the hard way.

Αυτά για να ξέρουμε ότι και στα Πανεπιστήμια δεν είναι όλα "αγγελικά πλασμένα" και ότι συγκεκριμένες ασκήσεις στοχεύουν σε συγκεκριμένες λύσεις με κάποια όρια (άλλες φορές στενά και άλλες όχι τόσο).

Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20

gpapargi

Δημήτρη ελπίζω ότι μιλάμε στον ενικό, έτσι;  :)

Παράθεση από: dtheo στις 08 Ιουν 2010, 12:13:49 ΜΜ
@gpapargi

Όχι δεν μιλάω για δυναμικό πίνακα αλλά για επαναληπτικό ορισμό πίνακα (νέος πίνακας κάθε φορά - γι' αυτό μίλησα για απόδοτικότητα) . Άλλωστε φαίνεται καθαρά από τον αλγόριθμο που παρέθεσα, Πολύ μεγάλη διαφορα. Σε κάθε επανάληψη κατασκευάζεται νέος πίνακας μεγέθους ι. [Δεν μεγαλώνει ο αρχικός. Μπορείτε να δείτε τον κώδικα. Δυναμικός πίνακας σημαίνει έχω τον πίνακα και σε αυτόν τον πίνακα προσθέτω κελιά (realloc στη C - απλά για να έχουμε κοινό σημείο αναφοράς), δεν έχω βοηθητικό πινακα στον οποίο  αντιγράφω τα δεδομένα του παλιού κατασκευάζω εκ νέου τον αρχικό αλλά μεγαλύτερο αυτή τη φορά και αντιγράφω και πάλι.


Δε θέλω να τα χαλάσουμε σε αυτό. Το θέμα είναι ότι η ζητούμενη ιδιότητα, όποια κι αν είναι αυτή δεν φαίνεται να πατάει στο σχολικό βιβλίο. Πέρα από αυτό, εγώ θέλω να τρέξει το κομμάτι κώδικα που έγραψα όπως είναι. Όχι να γράψουμε άλλο κομμάτι κώδικα που κάνει αυτό που θέλουμε.

Παράθεση από: dtheo στις 08 Ιουν 2010, 12:13:49 ΜΜ
Η όποια ψευδογλώσσα (δεν υπάρχει πρότυπο) μπορεί να ορίσει πίνακα αφού πρώτα γίνει γνωστό το μέγεθος του.  Όπως στο θέμα Γ. Τόσο απλά. Σε κάθε άλλη περίπτωση μία ολόκληρη οικογένεια προβλημάτων δεν θα μπορούσε να εκφραστεί αλγοριθμικά (κλειστότητα συνόλων, πολλαπλασιασμός πινάκων, επεξεργασία γράφων κ.ο.κ).



Το βιβλίο αντιμετωπίζει όλα αυτά με τη δήλωση Δεδομένα. //ν// που σημαίνει ότι το ν είναι γνωστό. Δε μας ενδιαφέρει πως έγινε γνωστό, αλλά είναι γνωστό και μπορούμε να γράψουμε τον αλγόριθμο επίλυσης συναρτήσει του ν.

Παραδείγματα

Βιβλίο μαθητή σελίδα 68 αλγόριθμος φυσαλλίδας. Θεωρείται δεδομένος ο πίνακας (table) καθώς και το μέγεθός του (n). Η δήλωση είναι
Δεδομένα //table,n//

Τετράδιο μαθητή σελίδα 33 παράδειγμα 5 με αραιούς πίνακες. Ξέρουμε ότι έχουμε n στοιχεία. Θέλουμε πίνακα μεγέθους 3n. Η δήλωση είναι
Δεδομένα  //sparse,n//  και όχι Δεδομένα //sparse 3n//

Τετράδιο μαθητή σελίδα 38 (ταξινόμηση επιλογής). Θεωρείται γνωστό το μέγεθος του πίνακα και ίσο με 1000. Γνωστά είναι και τα στοιχεία. Η δήλωση είναι
Δεδομένα //THL// και όχι Δεδομένα //THL, 1000// αφού δεν έχει νόημα να πούμε ότι το 1000 είναι γνωστό.

Δηλαδή απλά θεωρείς δεδομένα αυτά που χρειάζεται έτσι ώστε να γράψεις τον αλγόριθμο σε ψευδογλώσσα. Τα ίδια θα κάναμε και στον πολλαπλασιασμό πινάκων και όπου αλλού χρειαστεί. Πχ για τον πολλαπλασιασμό πινάκων Α[μ,ν] και Β[κ,λ] θα γράφαμε
Δεδομένα //Α, Β, μ,ν,κ,λ// αν θέλαμε να καλύψουμε με κάποια μήνυμα την περίπτωση τυχαίων μεγεθών (δηλαδή μήνυμα σφάλματος αν ν<>κ).

Επίσης κάτι σχετικό με την ψευδογλώσσα

Αν θυμάμαι καλά στην ημερίδα ο κος Κοίλιας είχε πει ότι η δήλωση Δεδομένα είναι κατά τη γνώμη του το πιο επιτυχημένο χαρακτηριστικό της ψευδογλώσσας και πρόσφατα κατέθεσε εργασία για το πώς πως πρέπει να τροποποιηθεί ώστε να μη χρειάζεται  ΓΛΩΣΣΑ. Υπέβαλε την εργασία του και σε κριτική ώστε να βρεθούν τυχόν ασάφειες/ασυνέπειες.

https://alkisg.mysch.gr/steki/index.php?topic=2953.msg29847#msg29847

Όλα αυτά εμένα μου λένε ότι οι συγγραφείς έχουν στο νου τους κάτι όχι απαραίτητα ίδιο με την ψευδογλώσσα της βιβλιογραφίας. Αλλιώς γιατί να γίνει τέτοια εργασία;

dtheo

@gpapargi

ΠαράθεσηΔε θέλω να τα χαλάσουμε σε αυτό. Το θέμα είναι ότι η ζητούμενη ιδιότητα, όποια κι αν είναι αυτή δεν φαίνεται να πατάει στο σχολικό βιβλίο. Πέρα από αυτό, εγώ θέλω να τρέξει το κομμάτι κώδικα που έγραψα όπως είναι. Όχι να γράψουμε άλλο κομμάτι κώδικα που κάνει αυτό που θέλουμε.

Μη με κανεις να σου αποδειξω ισοδυναμία αλγοριθμων με Ζ και VDM ή λ-λογισμό. Τώρα αν δεν κάνω λάθος η ζητούμενη ιδιότητα εμφανίζεται στη σελίδα 90 για την οποία σελίδα, ενώ στην έχω αναφέρει αρκετές φορές, δεν φαινεται να σχολιάζεις. Το επιχείρημα είναι εκτός ύλης δεν το δέχομαι γιατί αναιρείται από το "κάθε επιστημονικά τεκμηριωμένη λύση είναι αποδεκτή". (Παρένθεση: ξέρω ότι το 1986 φίλος χρησιμοποίησε ολοκληρωτικό λογισμό για να λύσει ασκήσεις της Φυσικής και πήρε 20 - "κάθε επιστημονικά τεκμηριωμένη λύση"). Το κομμάτι που έγραψες δεν τρέχει γιατί δεν πληροί το κριτήριο της αποτελεσματικότητας για αυτό που θέλεις να κάνεις συνεπώς είναι λάθος ο αλγόριθμος. Ο αλγόριθμος που σου δίνω το πληροί και επιλύει το ζητούμενο.


ΠαράθεσηΤο βιβλίο αντιμετωπίζει όλα αυτά με τη δήλωση Δεδομένα. //ν// που σημαίνει ότι το ν είναι γνωστό. Δε μας ενδιαφέρει πως έγινε γνωστό, αλλά είναι γνωστό και μπορούμε να γράψουμε τον αλγόριθμο επίλυσης συναρτήσει του ν.

Συγνώμη που θα σε απογοητεύσω σε αυτό αλλά στη σελίδα 90 δεν το κάνει. Λυπάμαι !

Τελικά τον αλγόριθμο για το δυαδικό δένδρο ακόμη τον περιμένω.

Τώρα άλλο η συγγραφική ομάδα και άλλο η ΚΕΕ. Η ΚΕΕ έδωσε οδηγία ότι κάθε επιστημονικά τεκμηριωμένη λύση είναι αποδεκτή - πάγια τακτική της ΚΕΕ. Και εδώ είναι η ένστασή μου. Έχω δώσει αρκετά παραδείγματα με τα οποία προκύπτει ως επιστημονικά τεκμηρωμένη η λύση με τους πίνακες. Μια απο αυτές και ο αλγόριθμος που σου ζήτησα που μάλλον σε δυσκόλεψε αφού δεν μου έχεις δώσει μία λύση. Συνεπώς, για να επιστρέψουμε στο θέμα μας η λύση με πίνακες είναι σωστή γιατί είναι επιστημονικά τεκμηριωμένη.

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

@merlin & gpapargi
Εάν λοιπόν πιστεύετε ότι δεν γίνεται να γραφεί αλγόριθμος ο οποίος δέχεται από το χρήστη το μέγεθος του πίνακα, αποδείξτε μου ότι ο αλγόριθμος που σας ζήτησα με το δυαδικό δέντρο δεν μπορεί να υλοποιηθεί και ότι ο αλγόριθμος στη σελίδα 90 του σχολικού βιβλίου είναι λάθος. Σε κάθε άλλη περίπτωση, αποδεκτείτε επιτέλους ως επιστήμονες - οι οποίοι δέχονται επιστημονικά τεκμηριωμένες λύσεις - το γεγονός ότι είναι δυνατή η δημιουργία και χρήση πίνακα του οποίου αρχικά το μέγεθος δεν είναι γνωστό, αλλά πριν τη ρητή χρήση του γίνεται γνωστό. Μόνο φορμαλιστική (λ, Ζ κλπ) απόδειξη ότι δε γίνεται θα με πείσει για το αντίθετο. Αλλιώς, απλά θα συμφωνήσω στο ότι διαφωνούμε, διακρίνοντας μία σοβαρή αδυναμία τεκμηριωμένα, με συγκεκριμένα παραδείγματα, όπως η λύση του προβλήματος που σας έχω θέσει, να μου αποδείξετε ότι κάνω λάθος.

Αναρωτιέμαι πραγματικά γιατί δεν έχει κανείς σχολιάσει μέχρι τώρα, τον αλγόριθμο στη σελίδα 90.

Δρ. Δημήτριος Θεοτόκης
Πληροφορικός ΠΕ19

George

Παράθεση από: gpapargi στις 08 Ιουν 2010, 02:10:11 ΜΜ
Το βιβλίο αντιμετωπίζει όλα αυτά με τη δήλωση Δεδομένα. //ν// που σημαίνει ότι το ν είναι γνωστό. Δε μας ενδιαφέρει πως έγινε γνωστό, αλλά είναι γνωστό και μπορούμε να γράψουμε τον αλγόριθμο επίλυσης συναρτήσει του ν.


Εδώ νομίζω είναι και το βασικό σημείο της διαφοράς που προέκυψε.
Τι ακριβώς δηλώνει το ΔΕΔΟΜΕΝΑ // Ν // ;;;
Εσύ  Γιώργο  θεωρείς ότι δηλώνει κάτι που είναι γνωστό πριν την εκτέλεση του αλγορίθμου δλδ είναι γνωστό στον δημιουργό του αλγορίθμου 
Εγώ ( Γιώργος επίσης ) θεωρώ ότι δηλώνει κάτι που γίνεται γνωστό στον αλγόριθμο κατά την εκτέλεση του.
Και οι δυο απόψεις έχουν κατά την γνώμη μου προβλήματα με βάση το σχολικό και αν δεν ξεκαθαριστεί επίσημα και για όλους δεν πιστεύω ότι θα μπορέσουμε να συμφωνήσουμε

Παράθεση από: sdoukakis στις 08 Ιουν 2010, 12:58:09 ΠΜ

Αυτό που χρειαζόμαστε είναι ένα διδακτικό συμβόλαιο και νομίζω ότι οι ενώσεις μας μπορούν να το "γράψουν".

Σπύρος Δουκάκης

Νομίζω ότι κάνουμε μία ατέρμονη συζήτηση στην οποία έχουν εξαντληθεί τα επιχειρήματα και δεν φαίνεται να υπάρχει και η δυνατότητα τροποποίησης των απόψεών μας.

Μερικές φορές απαντάμε πάνω σε αυτά που μας ρωτούν, ενώ άλλες αποφεύγουμε.

Θα θυμήσω ότι οι μαθητές γράφουν έναν αλγόριθμο με ένα τρέχα γύρευε σενάριο που πιθανώς αυτό που τους ζητάμε είναι κάποιο τμήμα του αλγορίθμου όπως το ακόλουθο:

ι<-0
Διάβασε χ
Όσο χ>=0 επανάλαβε
  ι<-ι+1
  α[ι]<-χ
  Διάβασε χ
Τελος_επαναληψης

Να το πω και διαφορετικά. Ό,τι κάνουν τα παιδιά μας δεν είναι ολοκληρωμένα προγράμματα, είναι τμήματα αλγορίθμου που πιθανώς να αξιοποιηθούν σε κάποιο πρόγραμμα. Αν η εκφώνηση έλεγε να αναπτύξετε τμήμα αλγορίθμου τι θα συνέβαινε; Αν η εκφώνηση από την άλλη έλεγε να γράψετε πρόγραμμα, θα είχαμε μία ακόμα συζήτηση, αντίστοιχη του 2002, αφού δεν θα μπορούσαν οι μαθητές να αναπτύξουν το θέμα σε οποιαδήποτε μορφή αναπαράστασης επιθυμούσαν...

Άρα αφού είναι κάποιος αλγόριθμος και δεν είναι πρόγραμμα σε κάποια τεχνητή γλώσσα που έχει περιορισμένες δυνατότητες δεν νομίζω ότι το θέμα μπορεί να επεκταθεί περαιτέρω.

Πολλές φορές κάτι μας αρέσει σε ένα περιβάλλον και άλλες όχι.

Π.χ.

Αν βρ = Αληθής τότε

Αν βρ τότε

Διάβασε a, b
x <- a > b

Είναι δεκτές οι εντολές στην ψευδογλώσσα; Συζητήσαμε και είπαμε ότι δεν πρέπει να απαγορεύονται. Μα δεν υπάρχει στο βιβλίο είπαν κάποιοι. Ε και; Είναι λάθος; Χαλάει την αλγοριθμική σκέψη; Την κριτική σκέψη;

Το θέμα είναι το παιδί να σκεφτεί. Προσπαθούμε να δείξουμε ότι το θέμα ήταν ή δεν ήταν κατάλληλο. Το θέμα έκανε κάποιο επιστημονικό άλμα. Ως προς το παιδαγωγικό του θέματος θέλει άλλη συζήτηση. Ως προς το επιστημονικό νομίζω ότι μπορεί να κλείσει.

Sergio

Θα συμφωνήσω με το Σπύρο ότι τελικά αυτή η αντιπαράθεση απόψεων μάλλον δεν εξελίσσεται σε «συζήτηση» (με την πραγματική έννοια του όρου).  Η αίσθηση που μου δίνει αυτή η ατέρμονη σειρά ανταπαντήσεων είναι ότι δεν υπάρχει πραγματική διάθεση να αντιληφθούμε την επιχειρηματολογία του άλλου και να προβληματιστούμε βάζοντας τις απόψεις μας σε αμφισβήτηση ώστε να προκύψει κάτι νέο. Φοβάμαι ότι συχνά απλά περιμένουμε τη .. σειρά μας για να παραθέσουμε ακόμα πιο ισχυρά επιχειρήματα για κάτι το οποίο ουσιαστικά δεν έχουμε την πρόθεση να διαπραγματευτούμε και / ή να αλλάξουμε.

Νομίζω ότι με αυτό τον τρόπο επιβεβαιώνουμε τις απόψεις περί καπνού και φωτιάς που διάβασα πρόσφατα σε μία εκτενή έως κουραστική επιστολή
http://www.alfavita.gr/ank_b/ank7_6_10_1508.php

Ελπίζω ο συνάδελφος να μην έχει δίκαιο στο καταληκτικό του συμπέρασμα όμως με λύπη μου βλέπω πως ίσως σε κάποια σημεία να έχει.

Επιπλέον, νομίζω ότι κάνουμε κάποιες φορές κατάχρηση της έννοιας «ασάφεια» για να υποστηρίξουμε μία άποψη που δεν είναι περισσότερο «σαφής» στο πλαίσιο που ορίζεται για το μάθημα αλλά πηγάζει ίσως από την εμπειρία, την προσωπική προτίμηση ή την υποκειμενική ερμηνεία σημείων του διδακτικού πακέτου, ή ετερόκλητων πηγών έξω από αυτό, με βάση μία ήδη αδιαπραγμάτευτη θέση.

Επειδή μου άρεσαν τα παραδείγματα που αναφέρονται στη συγκεκριμένη επιστολή θα τα χρησιμοποιήσω.

Ποια ασάφεια υπάρχει σχετικά με το αν τίθεται θέμα καταλληλότητας (ή μη) κάποιας από τις τρεις εντολές επανάληψης, θέμα που αποτελεί και σαφέστατα διατυπωμένο διδακτικό στόχο (#6 αν θυμάμαι καλά) στο κεφάλαιο 8 και παρουσιάζεται στο υπάρχον «διδακτικό συμβόλαιο» με φράσεις όπως:
-   όταν ο αριθμός των επαναλήψεων είναι γνωστός εκ των προτέρων είναι προτιμότερο να χρησιμοποιείται η εντολή Για
-   σε περιπτώσεις όπου η επανάληψη θα συμβεί υποχρεωτικά μία φορά είναι προτιμότερη η χρήση της Μεχρις_οτου
Εν τούτοις, και εδώ θα συμφωνήσω από προσωπική εμπειρία με το συντάκτη της επιστολής, συχνά ακούμε μαθητές να λένε ότι «ο καθηγητής μας έχει πει να χρησιμοποιούμε πάντα την ΟΣΟ».  Αυθαίρετο; Ναι. Λάθος; Χμμμ όπως το πάρει κανείς.  Ο καθηγητής τους μπορεί να προτιμάει την ΟΣΟ για τους προσωπικούς του λόγους. Νομιμοποιείται όμως να διδάσκει τους μαθητές του να κάνουν το ίδιο; Σέβεται το «διδακτικό συμβόλαιο» ή αυθαιρετεί επικίνδυνα σε βάρος των μαθητών του και μετά κατηγορεί τα θέματα που οι μαθητές απαντούν λάθος; (βλ.2009)

Κάποιοι συνάδελφοι προφανώς έχουν προβληματιστςεί.. «για ποιο λόγο να γίνεται αυτή η διάκριση των τριών εντολών επανάληψης και να μη διδάσκεται μόνο μία για να έχουμε το .. κεφάλι μας ήσυχο;»  Μα προφανώς επειδή μέσα από την ανάπτυξη γνωστικών μηχανισμών που θα επιτρέψουν στο μαθητή «να επιλέγει την κατάλληλη εντολή» αναπτύσσεται αυτή η πολύτιμη κριτική ικανότητα που είναι και το τελικό ζητούμενο.

Στο επίμαχο τώρα. Ποια είναι η ασάφεια στη φράση: «το ακριβές μέγεθος καθορίζεται κατά τη στιγμή του προγραμματισμού και όχι κατά τη στιγμή της εκτέλεσης»;;

Μήπως είναι η χρήση του όρου προγραμματισμός;  Δε νομίζω ότι πρέπει να υποστηρίξουμε την άποψη που ακούγεται «μα .. αλγόριθμο μας ζήτησαν, όχι πρόγραμμα..»

Στο πλαίσιο του διδακτικού μετασχηματισμού που επιχειρείται με το μάθημά μας στο Γενικό Λύκειο, πίστευα ότι θα έπρεπε να είναι σαφείς σε όλους οι παρακάτω αρχές που έχουν να κάνουν τόσο με την προτεινόμενη σπειροειδή προσέγγιση όσο και με βασικές παιδαγωγικές αρχές της διδακτικής των επιστημών και ειδικότερα της διδακτικής της πληροφορικής. Διδάσκουμε πολλούς τρόπους αναπαράστασης για να εκμεταλλευτούμε τα πλεονεκτήματα όλων και να προσεγγίσουμε σταδιακά το επιθυμητό αποτέλεσμα:

1)   Διδάσκουμε τη διαγραμματική αναπαράσταση για όλα εκείνα τα πλεονεκτήματα που προσφέρει στην κατανόηση της έννοιας των διακριτών βημάτων και της ροής εκτέλεσης, αλλά την περιορίζουμε στην επεξήγηση βασικών εννοιών.
2)   Διδάσκουμε την κωδικοποίηση σε ψευδογλώσσα για να διευκολύνουμε το μαθητή στην περιγραφή αλγόριθμων για πιο σύνθετα προβλήματα αφού προηγούμενα έχει κατακτήσει (και με τη βοήθεια της διαγραμματικής αναπαράστασης) τις βασικές έννοιες.  Επιλέγουμε την ψευδογλώσσα αντί μιας γλώσσας προγραμματισμού για να τον βοηθήσουμε να εστιάσει στο σημαντικό (που είναι η ορθή αποτύπωση της αλγοριθμικής προσέγγισης στη λύση του προβλήματος) χωρίς να χρειάζεται να ασχοληθεί με το λιγότερο σημαντικό (που είναι η δήλωση των τύπων των μεταβλητών, η επικοινωνία με το χρήστη, ο έλεγχος ορθής καταχώρησης κ.ο.κ.)
3)   Διδάσκουμε προγραμματισμό (στην ιδεατή ΓΛΩΣΣΑ) για να εξοικειωθεί ο μαθητής με τις λεπτομέρειες της κωδικοποίησης του αλγόριθμού του σε προγραμματιστικό περιβάλλον και όλες εκείνες τις λεπτομέρειες που επιμελώς αποκρύψαμε στο προηγούμενο επίπεδο.

Σε κανένα όμως από τα επίπεδα δε νομιμοποιούμαστε να ανατρέψουμε και να διαψεύσουμε επιστημολογικές αλήθειες που διδάξαμε στο προηγούμενο επίπεδο. Θα ήταν παιδαγωγικά λάθος να κάνουμε κάτι τέτοιο. Αυτό που υποχρεούμαστε να κάνουμε είναι να τις επεκτείνουμε και να τις εμπλουτίσουμε.

Ασφαλώς και γίνονται κάποιες παραδοχές προκειμένου να μπορέσει να λειτουργήσει αποτελεσματικά ο διδακτικός μετασχηματισμός όμως σε καμία περίπτωση δε μπορεί να υπάρχει, σε όλη αυτή τη «σπειροειδή» διδακτική διαδρομή, ασυνέπεια.

Η προσωπική μου αντίληψη σχετικά με τη διδασκαλία των δομών δεδομένων που επιχειρείται στο πλαίσιο του μαθήματος είναι ότι αυτή παρουσιάζεται με σαφήνεια στο κεφάλαιο 3 και συνεχίζεται χωρίς αντιφάσεις και εκπλήξεις (όπως οφείλει) στο κεφάλαιο 9.

Μέσα από άμεσα και έμμεσα διατυπωμένους διδακτικούς στόχους αντιλαμβάνομαι ότι η διδασκαλία των δομών δεδομένων έρχεται να πάρει τη σκυτάλη από τη διδασκαλία των δομών επανάληψης και να συνεχίσει το «εκπαιδευτικό ταξίδι» από εκεί ανεβάζοντας τη σκέψη του μαθητή σε επόμενα «σκαλιά».

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

Αφού κατακτήσει αυτό το .. κάστρο, έρχεται αντιμέτωπος με προβλήματα στα οποία αντιλαμβάνεται την ανάγκη ταυτόχρονης ύπαρξης όλων των δεδομένων εισόδου στη μνήμη (με συνηθέστερο όλων, εκείνο την εμφάνισης των τιμών εισόδου που ξεπερνούν το μέσο όρο όλων, παράδειγμα με το οποίο αρκετοί συνάδελφοι ρίχνουν το σπόρο για την «ανακάλυψη» των δομών δεδομένων)

Με σκοπό, πάλι, την ανάπτυξη της κριτικής ικανότητας ορίζονται δύο είδη δομών δεδομένων. Οι στατικές και οι δυναμικές (που υπάρχουν και στα περισσότερα προγραμματιστικά περιβάλλοντα). Θα συμφωνήσω ότι ο ορισμός που δίνεται δεν είναι τόσο τυπικός ή καλοδιατυπωμένος όμως ασαφής, ΔΕΝ είναι.

Συνεχίζοντας λοιπόν το «ταξίδι» του, ο μαθητής καλείται:
1)   να αποφασίσει ΕΑΝ χρειάζεται να χρησιμοποιήσει δομές δεδομένων (δηλαδή εάν απαιτείται η ταυτόχρονη παρουσία όλων των δεδομένων εισόδου στη μνήμη)
2)   να αποφασίσει ΕΑΝ μπορεί να χρησιμοποιήσει στατική δομή δεδομένων (δηλαδή εάν ο αριθμός των κόμβων είναι γνωστός κατά τη δημιουργία του αλγόριθμου)
Δύο απλές σκέψεις είναι, η μία συνέχεια της άλλης, όπου η κάθε μία ανεβάζει το μαθητή σε ένα λίγο ψηλότερο σκαλί.

Πιστεύω ότι εφόσον είναι ξεκάθαροι οι στόχοι και οι κεντρικοί άξονες που υπαγορεύονται από το διδακτικό πακέτο και το αναλυτικό πρόγραμμα σπουδών, μπορούν εύκολα και καλόπιστα να «απαντηθούν» όλοι οι προβληματισμοί που αναπτύσσονται από τους συναδέλφους σχετικά με παραδείγματα ή ασκήσεις που τους έχουν οδηγήσει στο συμπέρασμα ότι «η στατικότητα της δομής οφείλει να διδάσκεται με άλλο τρόπο στο κεφάλαιο 3 και με διαφορετικό στο 9». Προσωπικά το θεωρώ λάθος, τουλάχιστον από την παιδαγωγική του σκοπιά, και νομίζω ότι αυτό το λάθος ΔΕΝ υποστηρίζεται από το βιβλίο και δε θα έπρεπε να υποστηρίζεται και από τους διδάσκοντες.

Θα μπορούσε να συνεχιστεί η αντιπαράθεση με παραδείγματα και προσωπικές αντεγκλήσεις και προκλήσεις του τύπου «απάντησέ μου αυτό» «απάντησέ μου εκείνο» όμως δεν ξέρω ποιος έχει τη διάθεση ή κρίνει σκόπιμο να μπει σε αυτό τον κλεφτοπόλεμο του «έλα να σου αποδείξω ότι έχεις άδικο».  Πιστεύω ότι ο καθένας μας μπορεί να καταλάβει για κάθε ένα από αυτά τα «γκρίζα παραδείγματα» (που κάθε άλλο από γκρίζα θεωρώ ότι είναι) για ποιο λόγο δίνονται και πώς μπορεί να τα διδάξει παραμένοντας συνεπής με τους διδακτικούς στόχους του μαθήματος.

Τώρα, αν η τάδε γλώσσα προγραμματισμού κάνει «έτσι» και η άλλη κάνει «αλλιώς», νομίζω οφείλουμε να πούμε «ποσώς με ενδιαφέρει». Αυτές οι διαφοροποιήσεις θα απασχολήσουν το μαθητή που θα ασχοληθεί με τον προγραμματισμό στο πανεπιστήμιο. Εδώ ο σκοπός είναι άλλος.

Επίσης, αν στο τάδε σύγγραμμα η ψευδογλώσσα συμπεριφέρεται κατά τον τάδε τρόπο, επίσης.. δε μας αφορά. Τι κι αν είναι σύγγραμμα κάποιου από τους συγγραφείς του διδακτικού πακέτου. Είναι σύγγραμμα για άλλο .. κοινό. Αυτό που έχει σημασία είναι το τι ορίζεται στο πλαίσιο του μαθήματος. Και δεν είναι καθόλου σπάνιο, απεναντίας συνηθέστατο, ο ίδιος συγγραφέας να κάνει διαφορετικές παραδοχές σε διαφορετικά συγγράμματα χωρίς αυτό να αποτελεί αντίφαση, απλά επειδή το κοινό είναι διαφορετικό.  Εξ άλλου έχω σοβαρούς λόγους να πιστεύω ότι αν ρωτήσουμε όλους τους συγγραφείς του βιβλίου, είναι πολύ πιθανόν να ακούσουμε και διαφορετικές απόψεις.  Ευτυχώς, ο λόγος τους έχει «κατατεθεί» πριν από πολύ καιρό, και με αυτό το «λόγο» βαδίζουμε.

Πολλά έγραψα.. μετράει το γεγονός ότι είχα καιρό να γράψω;; (πείτε ότι.. βγάζω τα σπασμένα)
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

Sergio

Σχετικά με το παράδειγμα της σελίδας 90.. μία άποψη. Ελπίζω να μην πω καμιά χαζομάρα, είναι και το προχωρημένο της ώρας..

Αλήθεια, ποιο είναι το μέγεθος του πίνακα;  Δε φαίνεται να ορίζεται πουθενά. Ούτε και να ζητείται από το χρήστη όμως.  Δε νομίζω ότι είναι παράδειγμα που μπορεί να υποστηρίξει την άποψη ότι το μέγεθος του πίνακα ορίζεται κατά την εκτέλεση του αλγόριθμου.  Ο πίνακας φαίνεται ήδη ορισμένος. Άρα μάλλον το μέγεθός του δεν είναι παρά μία «τεχνική λεπτομέρεια» δευτερεύουσας σημασίας.  Μάλλον θέλει να εστιάσει στο αλγοριθμικό κομμάτι.

Ίσως (πραγματικά με κάθε επιφύλαξη) είναι ένα ακόμα από τα κακογραμμένα (προσωπική άποψη) παραδείγματα του βιβλίου. Όμως ΚΑΙ αυτά, μπορούν να αποτελέσουν ικανά εργαλεία στο πλαίσιο του μαθήματος. Ας μην ξεχνάμε ότι υπάρχει και ο καταλύτης .. δάσκαλος.

Μάλλον θα ήταν καλύτερο να έχει οριστεί και το Ν (μέγεθος πίνακα) στα δεδομένα του αλγόριθμου και να ελέγχεται σε σχέση με το I στη συνθήκη συνέχειας του Οσο που γεμίζει τον πίνακα.  Όμως τότε θα πρόσθετε έναν περιορισμό που θα μπέρδευε την παρουσίαση της λογικής στην οποία εστιάζει ο αλγόριθμος και το αποτέλεσμα θα ήταν, παιδαγωγικά, χειρότερο.

Θα τον ξανακοιτάξω αύριο γιατί καμιά φορά.. της νύχτα τα καμώματα ..
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

gpapargi

Από το παρακάτω απόσπασμα

Παράθεση από: dtheo στις 08 Ιουν 2010, 04:28:41 ΜΜ
Τώρα αν δεν κάνω λάθος η ζητούμενη ιδιότητα εμφανίζεται στη σελίδα 90 για την οποία σελίδα, ενώ στην έχω αναφέρει αρκετές φορές, δεν φαινεται να σχολιάζεις.

Καθώς και από αυτό

Παράθεση από: sdoukakis στις 08 Ιουν 2010, 11:22:33 ΜΜ
Μερικές φορές απαντάμε πάνω σε αυτά που μας ρωτούν, ενώ άλλες αποφεύγουμε.

Καταλαβαίνω ότι βιάζεστε να βγάλετε συμπεράσματα ότι αποφεύγω να απαντήσω. Σας είχα γράψει αυτό
Παράθεση από: gpapargi στις 08 Ιουν 2010, 11:09:52 ΠΜ
ΥΓ
Έχω γράψει για τα άλλα που ρωτάς. Θα το ψάξω λίγο στα μηνύματα και θα στο στείλω.

Λοιπόν να το link με την παλιά μου απάντηση
https://alkisg.mysch.gr/steki/index.php?topic=2953.msg29686#msg29686

Όπως μπορείτε να δείτε από την ημερομηνία αποστολής του μηνύματος, απάντησα το συγκεκριμένο ερώτημα πριν ρωτήσετε εσείς γιατί πρόλαβε και ρώτησε κάποιος άλλος χρήστης.

Παρένθεση
Θα ήθελα να πω ότι εγώ προσωπικά έχω ποστάρει γύρω στα 100 μηνύματα μετά τις εξετάσεις και είμαι πλέον κουρασμένος. Έχω πει ήδη 2 φορές δημόσια ότι θέλω να αποχωρίσω από τις κουβέντες και να πάω για κάνα μπάνιο. Απλά μπλέκω συνεχώς. Αυτός είναι ο λόγος που άργησα να στείλω το link.
Τέλος παρένθεσης

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

Παράθεση από: dtheo στις 08 Ιουν 2010, 04:28:41 ΜΜ
Συγνώμη που θα σε απογοητεύσω σε αυτό αλλά στη σελίδα 90 δεν το κάνει. Λυπάμαι!

Στη σελίδα 90 κάνει αυτό που περιγράφω στο link. Δεν κάνει αυτό που περιέγραψες στον κώδικα που έστειλες με τον επαναπροσδιορισμό του πίνακα. Τον κώδικα αυτόν θα τον σχολιάσω σε επόμενο μήνυμα παραπέμποντας σε άλλο παλαιότερο μήνυμά μου. 

Το ίδιο ισχύει και στο πρόβλημα με το δέντρο. Αν ξέρεις το βάθος του δέντρου μπορείς να ξέρεις και τον αριθμό των κόμβων. Στο πρώτο επίπεδο έχεις 1(=2^0) κόμβο, στο δεύτερο επίπεδο έχεις 2(=2^1) κόμβους και γενικά στο ν επίπεδο έχεις 2^(ν-1) κόμβους. Αν τα προσθέσεις όλα αυτά βγαίνει εύκολα με τον τύπο του αθροίσματος όρων γεωμετρικής προόδου το συνολικό πλήθος των κόμβων.

Παράθεση από: dtheo στις 08 Ιουν 2010, 04:28:41 ΜΜ
Μια απο αυτές και ο αλγόριθμος που σου ζήτησα που μάλλον σε δυσκόλεψε αφού δεν μου έχεις δώσει μία λύση.

Κοίταξε να δεις. Να γράψω κώδικα δεν υπάρχει περίπτωση. Απλώς βαριέμαι. Αν θέλεις μπορούμε να μιλήσουμε για τον τρόπο που σχετίζεται η άσκηση αυτή με αυτό που κουβεντιάζουμε για το μέγεθος του πίνακα. Όπως είπα και πριν ξέρεις το βάθος άρα ξέρεις και το πλήθος των κόμβων (απλό εφαρμογή αθροίσματος όρων γεωμετρικής προόδου). Μαζί είπαμε ότι οι γλώσσες προγραμματισμού με στατικούς πίνακες υποστηρίζουν κάτι τέτοιο, οπότε ξέρουμε ότι γίνεται σε στατικό περιβάλλον και αυτό είναι αρκετό. Στην ψευδογλώσσα του σχολικού θα γράφαμε απλώς Δεδομένα //ν// και θα χρησιμοποιούσαμε πίνακα μεγέθους που προκύπτει από τον τύπο. Το κάνει αυτό στο παράδειγμα με τους αραιούς. Δηλώνει Δεδομένα //ν// και χρησιμοποιεί πίνακα μεγέθους 3ν. Δείτε προσεκτικά το link που έστειλα με παραπομπές από το σχολικό βιβλίο και τετράδιο.

Ένα τελευταίο σχόλιο:
Θα πρότεινα ατάκες της μορφής
Παράθεση από: dtheo στις 08 Ιουν 2010, 04:28:41 ΜΜ
Μια απο αυτές και ο αλγόριθμος που σου ζήτησα που μάλλον σε δυσκόλεψε αφού δεν μου έχεις δώσει μία λύση.
(οι οποίες παραπέμπουν ευθέως σε ψώνιο), καλό είναι να αποφεύγονται γιατί απλά διοχετεύουν ένταση στην κουβέντα χωρίς να προσφέρουν τίποτα σε επίπεδο επιχειρημάτων. Αν δεν μπορείς να αποβάλεις αυτή τη συμπεριφορά τελείως τουλάχιστο περιόρισέ την στους μαθητές σου. Να αρχίσω κι εγώ να βρίζω να δούμε που θα καταλήξουμε;



georgekanakakis

Παρακαλουθώ με ενδιαφέρον την κουβέντα αυτή και θα ήθελα να επισημάνω το εξής αν μου επιτρέπετε. Επειδή δεν το έχει απαντήσει κανένας ότι στο παράδειγμα της σελίδας 90 πολύ εσφαλμένα θεωρείται ότι ο πίνακας δεν έχει καθορισμένο όριο.
  Ένα άνω όριο του πίνακα είναι σίγουρα το b διότι αν δεν κάνω λάθος ο αλγόριθμος δημιουργεί πίνακα με log(b) πλήθος θέσεων (περίπου αλλά σίγουρα αυτής της κλίμακας)
και επειδή logb < b και το b είναι καθορισμένο στα Δεδομένα ο πίνακας έχει το πολύ τόσα στοιχεία.
   Επίσης ο κώδικας που παραθέτει ο dtheo πρέπει κάπου να έχει λάθος γιατί αν κατάλαβα καλά θεωρεί πως με το να βάζεις -1 σε έναν πίνακα δημιουργούνται θέσεις ως δια μαγείας.

Ευχαριστώ για τη φιλοξενία
Γιώργος Κ.

gpapargi

Παράθεση από: dtheo στις 08 Ιουν 2010, 01:33:53 ΠΜ
Δηλαδή:
.....
ι<-1
α[ι] <- -1
Διάβασε χ
Οσο χ > 0 επαναλαβε
    α[ι] <- χ
    ι <- ι + 1
    copy(a, temp, i)
    increase(a, i)
    copy(temp, a, i)
    διαβασε χ
τέλος επανάληψης


αλγόριθμος copy
//δεδομενα a, ι//
αρχη
για κ απο ι μεχρι ι - 1
    temp[ι] <- a[i]
τελος επαναληψης
ι <- ι  + 1
temp[i] <- -1
//Αποτελεσμα temp//
τελος αλγορίθμου.

αλγόριθμος increase
//δεδομενα ι
Αρχη
   για κ απο 1 μεχρι ι
      a[ι] <- -1
    τελος επαναληψης
//Αποτέλεσμα a 
τελος αλγορίθμου   


Είδα τον κώδικά σου. Δεν καταλαβαίνω κάτι στο υποπρόγραμμα increase. Από ότι βλέπω δεν στέλνεις μέσα τον πίνακα, αλλά μόνο το ι. Στη συνέχεια εκχωρείς κ φορές τιμή στο τελευταίο στοιχείο; Μήπως υπάρχει κάποιο τυπογραφικό; Αν καταλαβαίνω καλά η βασική ιδέα είναι ότι αν διαβάσω ένα στοιχείο α[ι] αυτό σημαίνει ότι ο πίνακας έχει μέγεθος ι (τουλάχιστο). Οπότε η τελευταία επανάληψη διαβάζει το α[ι] και αυτό σημαίνει ότι ο πίνακας (ο καινούργιος) έχει ι θέσεις. Πριν (στο κυρίως) είχαμε ι-1. Καταλαβαίνω καλά την ιδέα;

gpapargi

Παράθεση από: georgekanakakis στις 09 Ιουν 2010, 09:21:02 ΠΜ
Παρακαλουθώ με ενδιαφέρον την κουβέντα αυτή και θα ήθελα να επισημάνω το εξής αν μου επιτρέπετε. Επειδή δεν το έχει απαντήσει κανένας ότι στο παράδειγμα της σελίδας 90 πολύ εσφαλμένα θεωρείται ότι ο πίνακας δεν έχει καθορισμένο όριο.
  Ένα άνω όριο του πίνακα είναι σίγουρα το b διότι αν δεν κάνω λάθος ο αλγόριθμος δημιουργεί πίνακα με log(b) πλήθος θέσεων (περίπου αλλά σίγουρα αυτής της κλίμακας)
και επειδή logb < b και το b είναι καθορισμένο στα Δεδομένα ο πίνακας έχει το πολύ τόσα στοιχεία.
   Επίσης ο κώδικας που παραθέτει ο dtheo πρέπει κάπου να έχει λάθος γιατί αν κατάλαβα καλά θεωρεί πως με το να βάζεις -1 σε έναν πίνακα δημιουργούνται θέσεις ως δια μαγείας.

Ευχαριστώ για τη φιλοξενία
Γιώργος Κ.


Γιώργο το έγραψα αυτό σε παλαιότερο μήνυμα και στο προτελευταίο που έστειλα σε αυτό το thread έγραψα έστειλα το link.
https://alkisg.mysch.gr/steki/index.php?topic=2953.msg29686#msg29686

dtheo

@gpapargi

Mea Culpa. Έχεις απόλυτο δίκαιο. Ο δαίμων του πληκτρολογίου, το προχωρημένο της ώρας, βιασύνη, η "εγκεφαλικό κόλλημα". Ζητώ ταπεινά συγνώμη.
το υποπρόγραμμα increase θα έπρεπε να ήταν:
αλγόριθμος increase
//δεδομενα ι
Αρχη
   για κ απο 1 μεχρι ι
      a[κ] <- -1
    τελος επαναληψης
//Αποτέλεσμα a
τελος αλγορίθμου   


και προχωρώ στο να το εξηγήσω τον κώδικα

Δεδομένου ενός ι η τιμή του ι δεν είναι γνωστή κατά την κατασκευή του αλγορίθμου ορίζεται  ένας πίνακας του οποίου τα στοιχεία παίρνουν τη τιμή -1.

Απλά για πολλοστή αλλά και τελευταία φορά ερωτώ το ακόλουθο ερώτημα: Μπορώ να κατασκευάσω αλγόριθμο ο οποίος να κάνει χρήση πίνακα του οποίου (πίνακα) το μέγεθος υπολογίζεται από κάποια συνάρτηση  ή παρέχεται από τον χρήστη όχι σαν δεδομένο αλλά ως στοιχείο εισόδου με κάποια εντολή του διάβασε? Ναι ή όχι τόσο απλά...

Δεν προσπαθώ να διοχετεύσω ένταση στη συζήτηση ούτε να μειώσω κάποιον, αλλά μία απάντηση σε ένα απλό ερώτημα που τίθεται συνεχώς και η οποία απάντηση δεν δίνεται δημιουργεί απορίες....

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

Καλό καλοκαίρι, 

Δρ. Δημήτριος Θεοτόκης

Πληροφορικός ΠΕ19

Sergio

Παράθεση από: dtheo στις 09 Ιουν 2010, 11:31:44 ΠΜ
Απλά για πολλοστή αλλά και τελευταία φορά ερωτώ το ακόλουθο ερώτημα: Μπορώ να κατασκευάσω αλγόριθμο ο οποίος να κάνει χρήση πίνακα του οποίου (πίνακα) το μέγεθος υπολογίζεται από κάποια συνάρτηση  ή παρέχεται από τον χρήστη όχι σαν δεδομένο αλλά ως στοιχείο εισόδου με κάποια εντολή του διάβασε? Ναι ή όχι τόσο απλά...

Πιστεύω ότι η ερώτηση δεν απευθύνεται αποκλειστικά στο Γιώργο οπότε δίνω και γω μία απάντηση:

Οχι,

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

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

merlin

Και η δική μου απάντηση είναι Όχι.

Πάντα στα πλαίσια του σχολικού βιβλίου (όχι στα πλαίσια της διεθνούς βιβλιογραφίας).
Επίσης, θεωρώ ότι είναι να καλύτερο (από διδακτικής άποψης) να παραμείνει έτσι. Θα ήθελα να αλλάξει στην περίπτωση που το μάθημα γίνει 2 χρονιές (και στη Β Λυκείου), αλλά αυτό είναι μια εντελώς διαφορετική κουβέντα (άκρως ενδιαφέρουσα όμως).
Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20

dtheo

Αν και είπα ότι θα σωπάσω δεν άντεξα τις προκλήσεις-προσκλήσεις να απαντήσω.


@sergio

ελπίζω να εννοείς κατά το στάδιο της εκτέλεσης, και όχι της ανάπτυξης όπως γράφεις, γιατι αν είναι κατά το στάδιο της ανάπτυξης τότε όλοι οι αλγόριθμοι του βιβλίου δεν ειναι σωστοί και ειδικά ο αλγόριθμος της φυσαλλίδας, ο αλγόριθμος της αναζήτησης και βέβαια ο αλγόριθμος Δύναμη2 στη σελίδα 90 και ο georgekanakakis και ο gpapargi πολύ σωστά μου υπέδειξαν ότι το μέγεθος του πίνακα γίνεται γνωστό από τα δεδομένα του αλγορίθμου και συγκεκριμένα το b. Εκτός βέβαια αν προσπαθείς να μου πείς ότι για κάθε διαφορετική τιμή των δεδομένων χρειάζομαι και διαφορετικό αλγόριθμο.   


@sergio και @merlin

Αν και διαφωνώ με το Οχι σας θα το αποδεχθώ προσωρινά (για τη διάρκεια αυτού του μηνύματος) απλά και μόνο για να προσεγγίσω το Θέμα Γ από μια άλλη πλευρά. Ο λόγος που διαφωνώ στηρίζεται στην οδηγία της ΚΕΕ ότι κάθε επιστημονικά τεκμηριωμένη λύση είναι αποδεκτή"

Εν πάσει περιπτώσει έστω, και μόνο για να σας δείξω ότι το θέμα Γ λύνεται με πίνακες, ότι δεν είναι δυνατό να κατασκευάσω ένα πίνακα του οποίου το μέγεθος διαβάζω, ακριβώς μόλις τον διαβάσω (πράγμα που ισχυρίζομαι σε όλα τα προηγούμενα μηνύματά μου).

Ας δούμε λοιπόν τον παρακάτω αλγόριθμο:

Αλγόριθμος ΘέμαΓ
Αρχή
   Εμφάνισε "Δώσε το ρεκόρ αγώνων"
   Διάβασε ρεκόρ
   Όσο ρεκόρ < 0.0 ή ρεκόρ > 10.0 επάναλαβε
       Εμφάνισε "Δώσε το ρεκόρ αγώνων"
       Διάβασε ρεκόρ
   τέλος_επανάληψης
   Εμφάνισε "Δώσε το πλήθος των αθλητών"
   Διάβασε πλήθος
   κατασκεύασε_πίνακες(πλήθος)
   Για ι απο 1 μέχρι πλήθος
       εμφάνισε "δώσε το όνομα του αθλητή"
       διάβασε όνομα[ι]
       εμφάνισε "δώσε την επίδοση του σε μέτρα"
       διάβασε επίδοση[ι]
  τελος_επανάληψης
  ! απαντήσεις στα υπόλοιπα υποθέματα...
τελος ΘέμαΓ

αλγόριθμος κατασκεύασε_πίνακες
Δεδομένα //πλήθος//
αρχή
    για ι απο 1 μέχρι πλήθος
        όνομα[ι] <- " "
        επίδοση[ι] <- 0.0
    τέλος_επανάληψης
Αποτελέσματα //όνομα, επίδοση//
τέλος κατασκεύασε_πίνακες


και για να αποφύγω τη συζήτηση για το αν ενας αλγόριθμος μπορεί να επιστρέψει πίνακες ή όχι σας δίνω και εναλλακτική υλοποίηση

Αλγόριθμος ΘέμαΓ
Αρχή
   Εμφάνισε "Δώσε το ρεκόρ αγώνων"
   Διάβασε ρεκόρ
   Όσο ρεκόρ < 0.0 ή ρεκόρ > 10.0 επανάλαβε
       Εμφάνισε "Δώσε το ρεκόρ αγώνων"
       Διάβασε ρεκόρ
   τέλος_επανάληψης
   Εμφάνισε "Δώσε το πλήθος των αθλητών"
   Διάβασε πλήθος
   συνέχεια(πλήθος)
τελος ΘέμαΓ

αλγόριθμος συνέχεια
Δεδομένα //πλήθος//
αρχή 
    για ι απο 1 μέχρι πλήθος
        όνομα[ι] <- " "
        επίδοση[ι] <- 0.0
    τέλος_επανάληψης
    Για ι από 1 μέχρι πλήθος
       εμφάνισε "δώσε το όνομα του αθλητή"
       διάβασε όνομα[ι]
       εμφάνισε "δώσε την επίδοσή του σε μέτρα"
       διάβασε επίδοση[ι]
   τέλος_επανάληψης
  ! απαντήσεις στα υπόλοιπα υποθέματα...
τέλος συνέχεια


Επειδή λοιπόν κάθε επιστημονικά τεκμηριωμένη λύση είναι σωστή ακόμα και όταν η επιστήμη συρρικνώνεται στα στενά πλαίσια του σχολικού βιβλίου γι' αυτό πρέπει η ΚΕΕ να βγεί και να παραδεκτεί ότι είναι εφικτή η λύση με πίνακες και να ζητήσει συγνώμη από τους μαθητές που ενσυνείδητα αδίκησε με την οδηγία της.

Και όλα αυτά επειδή κάθε εαρινό εξάμηνο αναγκάζομαι να πω στους φοιτητές μου στο μάθημα των δομών δεδομένων στο κεφάλαιο των πινάκων  "τις ασυναρτησίες που μάθατε στο σχολείο ξεχάστε τις"


Με εκτίμηση

Δρ. Δημήτριος Θεοτόκης

Πληροφορικός ΠΕ 19
ΠΔ 407/80 Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο








panosspil

επειδη εχω μερες να ασχοληθω με το θεμα που χει προκυψει με τους πινακες θα ηθελα να μαθω ποιες ειναι οι τελευτεες εξελιξεις επι του θεματος. ακομη θα ηθελα να μου πειτε αν πειραζει που και στο 3ο και στο 4ο θεμα εκανα προγραμμα αντι για αλγοριθμο??

gpapargi

Παράθεση από: dtheo στις 09 Ιουν 2010, 11:31:44 ΠΜ
Απλά για πολλοστή αλλά και τελευταία φορά ερωτώ το ακόλουθο ερώτημα: Μπορώ να κατασκευάσω αλγόριθμο ο οποίος να κάνει χρήση πίνακα του οποίου (πίνακα) το μέγεθος υπολογίζεται από κάποια συνάρτηση  ή παρέχεται από τον χρήστη όχι σαν δεδομένο αλλά ως στοιχείο εισόδου με κάποια εντολή του διάβασε? Ναι ή όχι τόσο απλά...

Και η δική μου απάντηση είναι «όχι με βάση το σχολικό βιβλίο» και δίνω παρακάτω το επιχείρημα.

Κάποιος που πιστεύει ότι το πρόβλημα λύνεται με στατικό πίνακα που διαβάζεται το μέγεθός του κατά την είσοδο συνήθως έχει στο νου του τις γλώσσες προγραμματισμού που συμφωνούμε ότι υποστηρίζουν κάτι τέτοιο.

Υπάρχει όμως μια διαφορά με την ψευδογλώσσα του βιβλίου.
Όταν σε μια γλώσσα προγραμματισμού διαβάζουμε ένα αριθμό ν και δημιουργούμε ένα πίνακα με μέγεθος ν ή μέγεθος κάποιο αριθμό που εξαρτάται από το ν (κάποια συνάρτηση του ν δηλαδή) συμβαίνει στη μνήμη κάτι πολύ συγκεκριμένο: Δεσμεύεται χώρος πολύ συγκεκριμένος ο οποίος δε μπορεί να αλλάξει εφόσον δεχόμαστε ότι ο πίνακας είναι στατικός. Δηλαδή αν το μέγεθος του πίνακα είναι ν τότε δεν μπορεί να γίνει προσπέλαση στο στοιχείο α[ν+1].

Αυτή είναι η διαφορά με την ψευδογλώσσα του βιβλίου. Όταν γράφεις Δεδομένα //ν// αυτό δε σημαίνει απολύτως τίποτα για το μέγεθος του πίνακα. Μπορεί να είναι ν, μπορεί να είναι και μεγαλύτερο. Αυτό ακριβώς γίνεται στο τετράδιο μαθητή με τους αραιούς πίνακες (σελίδα 32-33). Το δεδομένο είναι ν (το πλήθος των μη μηδενικών στοιχείων) αλλά ο πίνακας είναι 3ν.

Άρα αν έχω Δεδομένα //ν// κανείς δεν μπορεί να με εμποδίσει να προσπελάσω το α[ν+1] στοιχείο. Αυτή είναι η διαφορά: ενώ στη γλώσσα προγραμματισμού υπάρχει συγκεκριμένη εντολή που δεσμεύει πίνακα συγκεκριμένου μεγέθους, στην ψευσογλώσσα το Δεδομένα //ν// δεν σημαίνει απολύτως τίποτε για το μέγεθος του πίνακα.

Μπορώ δηλαδή να γράψω Δεδομένα   //ν// και μετά για τις επόμενες 1000 γραμμές να κάνω προσπέλαση στα 1000 στοιχεία του πίνακα. Μετά μπορώ να γράψω
Διάβασε κ
Διάβασε α[ν+κ]
Και κανείς δεν μπορεί να το εμποδίσει αυτό αφού δεν έχω δέσμευση για το μέγεθος του πίνακα.
Μόνο μετά το τέλος του αλγορίθμου και αφού δω τον κώδικα μπορώ να πω με σιγουριά ποιο ήταν το μέγεθος. Εφόσον ισχύει αυτό τότε μπορώ να πω και το εξής:

ι<-0
Διάβασε χ
Όσο χ>=0 επανάλαβε
  ι<-ι+1
  α[ι]<-χ 
  Διάβασε χ
Τελος_επαναληψης
το οποίο βέβαια ισχύει μόνο σε δυναμικό πίνακα ή αφηρημένη δομή δεδομένων.

Το θέμα είναι ότι με βάση αυτά που λέει το σχολικό βιβλίο στο κεφάλαιο 3 για τους πίνακες βγαίνει το συμπέρασμα ότι οι συγγραφείς θέλουν το μαθητή να φαντάζεται τον πίνακα μόνο σαν στατική δομή. Άρα ο κώδικας με Όσο λογικά δε θα πρέπει να είναι αποδεκτός. Και άρα δε θα πρέπει να γίνεται αποδεχτός ούτε ο κώδικας με πίνακα αφού με το παραπάνω σκεπτικό μας οδηγεί εκεί.

Αν οι συγγραφείς πουν ότι με βάση το βιβλίο είναι αποδεκτός ο κώδικας με Όσο γεννιόνται 2 θέματα. Πρώτον, γιατί λέει αυτά που λέει το κεφάλαιο 3 για τους πίνακες και δεύτερον... είναι παιδαγωγικά σωστό να κάνουμε δεκτές λύσεις σε ψευδογλώσσα (κεφάλαιο 3) που δεν είναι αποδεκτές σε ΓΛΩΣΣΑ (κεφάλαιο 9);

Sergio

Παράθεση από: panosspil στις 09 Ιουν 2010, 08:41:35 ΜΜ
επειδη εχω μερες να ασχοληθω με το θεμα που χει προκυψει με τους πινακες θα ηθελα να μαθω ποιες ειναι οι τελευτεες εξελιξεις επι του θεματος. ακομη θα ηθελα να μου πειτε αν πειραζει που και στο 3ο και στο 4ο θεμα εκανα προγραμμα αντι για αλγοριθμο??

Σχετικά με το θέμα Γ, οι λύσεις που στηρίχτηκαν σε χρήση πίνακα συμφωνήθηκε να στερηθούν (μόνο) 2 μονάδες. Με αυτό τον αριθμό μονάδων "βαθμολογήθηκε" η εξέταση του διδακτικού στόχου που έμμεσα προκύπτει από το υλικό του 3ου κεφαλαίου του σχολικού βιβλίου, στόχου που θα μπορούσε να διατυπωθεί ως "να είναι σε θέση ο μαθητής να αντιλαμβάνεται / αποφασίζει εάν είναι δυνατόν να χρησιμοποιηθεί πίνακας".

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

Οσο για τον προβληματισμό σου σχετικά με την επιλογή της αναπαράστασηης του αλγόριθμου με τη μορφή προγράμματος, το έχω απαντήσει προηγούμενα (ίσως σε άλλο μαθητή που έθεσε την ερώτηση, δεν θυμάμαι) ΔΕΝ ΥΠΑΡΧΕΙ ΑΠΟΛΥΤΩΣ ΚΑΝΕΝΑΣ ΛΟΓΟΣ ΝΑ ΑΝΗΣΥΧΕΙΣ αρκεί να μην έκανες κανένα λάθος σε σημείαα που διαφοροποιείται η κωδικοποίηση σε γλώσσα από εκείνη σε ψευδογλώσσα. Και αναφέρομαι βασικά στη δήλωση των μεταβλητών, εκχώρηση τιμών εκφράσεων σε μεταβλητές ίδιου τύπου και τα συναφή

Τόσο το θέμα Γ όσο και το θέμα Δ, μπορούσαν να αντιμετωπιστούν με οποιοδήποτε τρόπο αναπαράστασης.  Αυτό δε θα συνέβαινε εφόσον (για παράδειγμα) το θέμα Γ, αντί να αναφέρει "θα ζητάει τον αριθμό των αθλητών" ανέφερε "να θεωρήσετε γνωστό τον αριθμό των αθλητών".  Σε μία τέτοια περίπτωση:
1) ΔΕΝ θα μπορούσες να υλοποιήσεις τον αλγόριθμο σε ΓΛΩΣΣΑ
2) Θα όφειλες να δηλώσεις Δεδομένα //αριθμός_αθλητών// σε ψευδογλώσσα
3) θα ΜΠΟΡΟΥΣΕΣ να δώσεις λύση με πίνακα
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

dtheo

@gpapargi

Έστω, και λέω έστω γιατί δεν δέχομαι την απόψη σου, τι έχεις να πεις για την απάντηση #140 που έχω ήδη στείλει? Για αυτήν την απάντηση περίμενα σχόλιο και για άλλη πήρα μάλλον ετεροχρονισμένα. Ειλικρινά περιμένω μια άποψη και όχι μόνο δική σου για τον τρόπο επίλυσης του Θέματος Γ όπως παρουσιάζεται στην απάντηση #140 που έδωσα.



Αθανάσιος Πέρδος

Παράθεση από: Sergio στις 10 Ιουν 2010, 04:07:39 ΜΜ
Σχετικά με το θέμα Γ, οι λύσεις που στηρίχτηκαν σε χρήση πίνακα συμφωνήθηκε να στερηθούν (μόνο) 2 μονάδες. Με αυτό τον αριθμό μονάδων "βαθμολογήθηκε" η εξέταση του διδακτικού στόχου που έμμεσα προκύπτει από το υλικό του 3ου κεφαλαίου του σχολικού βιβλίου, στόχου που θα μπορούσε να διατυπωθεί ως "να είναι σε θέση ο μαθητής να αντιλαμβάνεται / αποφασίζει εάν είναι δυνατόν να χρησιμοποιηθεί πίνακας".

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

Οσο για τον προβληματισμό σου σχετικά με την επιλογή της αναπαράστασηης του αλγόριθμου με τη μορφή προγράμματος, το έχω απαντήσει προηγούμενα (ίσως σε άλλο μαθητή που έθεσε την ερώτηση, δεν θυμάμαι) ΔΕΝ ΥΠΑΡΧΕΙ ΑΠΟΛΥΤΩΣ ΚΑΝΕΝΑΣ ΛΟΓΟΣ ΝΑ ΑΝΗΣΥΧΕΙΣ αρκεί να μην έκανες κανένα λάθος σε σημείαα που διαφοροποιείται η κωδικοποίηση σε γλώσσα από εκείνη σε ψευδογλώσσα. Και αναφέρομαι βασικά στη δήλωση των μεταβλητών, εκχώρηση τιμών εκφράσεων σε μεταβλητές ίδιου τύπου και τα συναφή

Τόσο το θέμα Γ όσο και το θέμα Δ, μπορούσαν να αντιμετωπιστούν με οποιοδήποτε τρόπο αναπαράστασης.  Αυτό δε θα συνέβαινε εφόσον (για παράδειγμα) το θέμα Γ, αντί να αναφέρει "θα ζητάει τον αριθμό των αθλητών" ανέφερε "να θεωρήσετε γνωστό τον αριθμό των αθλητών".  Σε μία τέτοια περίπτωση:
1) ΔΕΝ θα μπορούσες να υλοποιήσεις τον αλγόριθμο σε ΓΛΩΣΣΑ
2) Θα όφειλες να δηλώσεις Δεδομένα //αριθμός_αθλητών// σε ψευδογλώσσα
3) θα ΜΠΟΡΟΥΣΕΣ να δώσεις λύση με πίνακα

Ο διδακτικός στόχος που αναφέρεσε συνάδερφε "να αποφασίζουν αν είναι απαραίτητη η χρήση πίνακα" υπάρχει στο 9ο και όχι στο 3ο κεφάλαιο. Το 9ο κεφάλαιο διαπραγματεύευται μία συγκεκριμένη γλώσσα προγραμματισμού και όχι ψευδογλώσσα. Άρα προφανώς θεωρείς ότι τους κανόνες της συγκεκριμένης γλώσσας προγραμματισμού, τους ακολουθεί και η ψευδογλώσσα. Δυστυχώς όμως από ότι αποδείχθηκε (σειρά από επιχειρήματα) αυτό δεν είναι αποδεκτό από όλους όσους διδάσκουν το μάθημα. Αν υπάρχει κάπου στο διδακτικό πακέτο όπου το λέει ξεκάθαρα και άμεσα (στις πανελλαδικές δεν μπορεί κάτι να προκύπτει έμμεσα, οδηγεί σε διαφορετικές ερμηνείες), ευχαρίστως να μου το υποδείξεις.

Έστω ότι αποδέχομαι ότι προκύπτουν έμμεσα αυτά που λές (και ο δικός μου τρόπος διδασκαλίας, τους πίνακες ως στατικές δομές τους αντιμετωπίζει).
Στο 9ο κεφάλαιο σελ 186 βιβλίο μαθητή αναφέρεται: Εκτός από τον τύπο του πίνακα πρέπει να δηλώνεται και ο αριθμός των στοιχείων που περιέχει ή καλύτερα ο μεγαλύτερος αριθμός στοιχείων που μπορεί να έχει ο συγκεκριμένος πίνακας και αυτό για να δεσμευτούν οι αντίστοιχες συνεχόμενες θέσεις μνήμης.
Διαβάζοντας λοιπόν την εκφώνηση του Γ θέματος ένας μαθητής και την διευκρίνηση που στάλθηκε από την ΚΕΕ (για να μην υπάρξει περίπτωση ο πρωταθλητής της προηγούμενης χρονιάς να ισοβαθμεί με κάποιον άλλο) καταγράφει τα δεδομένα (άλλη επιστήμη τα χαρακτηρίζει και αρχικές συνθήκες) ως εξής:
1. όλες οι επιδόσεις είναι διαφορετικές.
2. στο συγκεκριμένο άθλημα η μικρότερη μονάδα μέτρησης είναι το εκατοστό
3. με τις συνθήκες βαρύτητας της Γης μία επίδοση 20 μέτρων είναι εξωπραγματική
Άρα με έναν πίνακα 2000 θέσεων υπερκαλύπτει τις απαιτήσεις του προβλήματος.

Θέλω ειλικρινά να σε ρωτήσω, αν και δεν νομίζω ότι θα λάβω απάντηση αν τελικά για σένα "Κάθε απάντηση επιστημονικά τεκμηριωμένη είναι αποδεκτή." Γιατί αν είναι αποδεκτή απόψεις του τύπου "συμφωνήθηκε να στερηθούν (μόνο) 2 μονάδες" και  "εξακολουθεί να "αδικείται" ο μαθητής που έλυσε το θέμα σωστά χωρίς πίνακα" μόνο επιστημονικούς και παιδαγωγικούς σκοπούς δεν εξυπηρετούν.
Άλλους ίσως ....

Vangelis

Μάλιστα ..δεν δέχομαι την άποψή σου αλλά σου βάζω μια άσκηση να δω αν μπορείτε  να τη λύσετε και στη συνέχεια ένα ερώτημα να δω αν μπορείτε να απαντήσετε.

Μήπως έχει μπερδέψει τους χώρους συνάδελφε; εδώ δεν είσαι στο αμφιθέατρό σου.

Επίσης είναι ενδιαφέρον αν δεις γιατί πρέπει να παραθέτεις τους τίτλους  και τα πτυχία σου;  Μήπως θεωρείς ότι αυτόματα σου δίνουν την αυθεντία.  Στην αρχή μας έβαλες το Δρ.  τώρα τελευταία πρόσθεσες και το 407 στο Ιόνιο Πανεπιστήμιο.  Μήπως αυτά δείχνουν κάτι;

Συγνώμη για το προσωπικό αλλά ξέρεις και άλλοι είναι δόκτορες και διδάσκουν αλλά μεταξύ συναδέλφων δεν το γράφουν. 


sstergou

@aperdos
Συνάδελφε κι εγώ διαφωνώ αλλά δεν εκτοξεύω ανυπόστατες κατηγορίες.
Μήπως έχεις κι εσύ κάποιο σκοπό; Εξυπηρετεί κάτι αυτή η λογική;  Νομίζω όχι.
Όσον αφορά αυτό το θέμα, η μία πλευρα κατηγορεί την άλλη για σκοπιμότητες.

παράκληση προς όλους :
Ας κρατήσουμε τη διαφωνία σε επιστημονικό επίπεδο και ας αφήσουμε τις προσωπικές επιθέσεις. Τα forums δεν είναι δικαστήρια. Από κει και πέρα οι αναγνώστες μπορούν να κρίνουν.

Sergio

Παράθεση από: aperdos στις 10 Ιουν 2010, 07:52:18 ΜΜ
δεν νομίζω ότι θα λάβω απάντηση

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

Αθανάσιος Πέρδος

Παράθεση από: sstergou στις 10 Ιουν 2010, 08:10:43 ΜΜ
@aperdos
Συνάδελφε κι εγώ διαφωνώ αλλά δεν εκτοξεύω ανυπόστατες κατηγορίες.
Μήπως έχεις κι εσύ κάποιο σκοπό; Εξυπηρετεί κάτι αυτή η λογική;  Νομίζω όχι.
Όσον αφορά αυτό το θέμα, η μία πλευρα κατηγορεί την άλλη για σκοπιμότητες.

παράκληση προς όλους :
Ας κρατήσουμε τη διαφωνία σε επιστημονικό επίπεδο και ας αφήσουμε τις προσωπικές επιθέσεις. Τα forums δεν είναι δικαστήρια. Από κει και πέρα οι αναγνώστες μπορούν να κρίνουν.


Ο μοναδικός σκοπός μου είναι να μην αδικηθούν τα παιδιά. Και καλώς ή κακώς μιας και είναι "παλιός" στο στέκι επηρεάζει κόσμο με τις απόψεις του. Το έχω γράψει και σε άλλο post ότι έχω βάλει παρόμοιο θέμα καλύτερα όμως διατυπωμένο σε διαγώνισμα και έκοβα μονάδες στη χρήση πίνακα. Αυτή όμως η αξιολόγηση μου δεν επηρεάζει τη ζωή κανενός, θα έλεγα μάλλον μετά τα φετεινά προστάτευσε τους περισσότερους μαθητές μου, που το έλυσαν χωρίς πίνακα.

Ωραία δεν έχει καμία σκοπιμότητα, ήταν λάθος τα τελευταία λόγια μου. Ας κρατήσουμε λοιπόν τη διαφωνία σε επιστημονικό επίπεδο και ας μου απαντήσει σε αυτά που ρώτησα. Δεν πρόκειται να το κάνει.

Αθανάσιος Πέρδος

Παράθεση από: Sergio στις 10 Ιουν 2010, 08:24:14 ΜΜ
Από τη στιγμή που προσωποποιείς τη συζήτηση, ασφαλώς δεν πρόκειται να απαντήσω.  Αν επαναδιατυπώσεις, παραλείποντας τους υπαινιγμούς την ειρωνία και την προσωπική επίθεση, ίσως. Διαφορετικά δε νομίζω ότι αξίζει τον κόπο. Σε παρακαλώ όμως μη συνεχίσεις την προσωπική επίθεση. Όποιος και αν είναι ο πραγματικός λόγος για την εμπάθεια που διαπιστώνω από τα γραφόμενα.

οι απόψεις που καταθέτεις φαντάζομαι είναι προσωπικές δεν σου τις υπαγορεύουν. Εσύ θεωρείς ότι κόβουν λίγες μονάδες και ότι αδικούνται οι μαθητές που έλυσαν το θέμα με τον τρόπο της ΚΕΕ.

Τα τελευταία λόγια μου ήταν λάθος το παραδέχομαι. Απάντησε μου μιας και αναθεωρώ σε παρακαλώ στα ερωτήματα που έθεσα.

sstergou

@aperdos
Αν και εφόσον υπήρξε αδικία, αυτή δρομολογήθηκε με την οδηγία της ΚΕΕ προς τους βαθμολογητές. Από κει και πέρα δεν υπήρχε περίπτωση να αλλάξει κάτι. Δεν ξέρω κατά πόσο η ΚΕΕ έχει το δικαίωμα να επιβάλλει την επιστημονική της άποψη με τέτοιο τρόπο (πραγματικά αν μπορεί ας με διαφωτίσει κάποιος) και δεν ξέρω με πια λογική απεστάλει αυτή η οδηγία από την στιγμή που κάποιοι ΦΑ ήδη είχαν εξεταστεί.

Νομίζω πως αυτό το περιστατικό έγινε μάθημα στην ΚΕΕ και στην κάθε ΚΕΕ. Τόσο αποτυχημένη άσκηση δεν έχει ξαναπέσει.

Αυτό όμως είναι ένα άλλο θέμα.

Δεν συζητάμε αυτό στο παρών νήμα. Ο τίτλος του είναι : επιχειρήματα μέσα από το σχολικό.... Πλέον οι διορθώσεις τελειώνουν, δεν αλλάζει κάτι!

Sergio

Παράθεση από: aperdos στις 10 Ιουν 2010, 08:31:39 ΜΜ

οι απόψεις που καταθέτεις φαντάζομαι είναι προσωπικές δεν σου τις υπαγορεύουν..
Ας κρατήσουμε λοιπόν τη διαφωνία σε επιστημονικό επίπεδο και ας μου απαντήσει σε αυτά που ρώτησα. Δεν πρόκειται να το κάνει.

Στο τελευταίο έχεις δίκαιο. Δεν πρόκειται να το κάνω.

Δεν ξέρω ποιός μπορεί να πειστεί ότι το ενδιαφέρον είναι καθαρά επιστημονικό. Εξακολουθείς να προσωποποιείς τη συζήτηση και να επιτίθεσαι σε προσωπικό επίπεδο. 

Ο χώρος που χρησιμοποιείς για να το κάνεις δεν έχει δημιουργηθεί για αυτό το σκοπό.

Εάν έχεις κάποιο πρόβλημα μαζί μου καλύτερα να συναντηθούμε για να το συζητήσουμε από κοντά. Είμαι σίγουρος ότι δεν αφορά κανέναν άλλο.
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

Αθανάσιος Πέρδος

Παράθεση από: sstergou στις 10 Ιουν 2010, 08:41:18 ΜΜ

Δεν συζητάμε αυτό στο παρών νήμα. Ο τίτλος του είναι : επιχειρήματα μέσα από το σχολικό.... Πλέον οι διορθώσεις τελειώνουν, δεν αλλάζει κάτι!

Νομίζω ότι επιχειρηματολογώ υπέρ της χρήσης πίνακα στο συγκεκριμένο θέμα Γ. Οι απόψεις όμως ότι κόβονται μόνο δύο μονάδες και ότι αδικούνται οι μαθητές που το έλυσαν χωρίς πίνακα δεν ταιριάζουν και αυτές στο παρών νήμα.

Αθανάσιος Πέρδος

Παράθεση από: aperdos στις 10 Ιουν 2010, 08:37:08 ΜΜ
Τα τελευταία λόγια μου ήταν λάθος το παραδέχομαι. Απάντησε μου μιας και αναθεωρώ σε παρακαλώ στα ερωτήματα που έθεσα.

@sergio
Συγνώμη, αν θεώρησες ότι σου επιτίθεμαι προσωπικά. Δεν έχω να χωρίσω τίποτα μαζί σου. Εσύ είσαι στη Λάρισα και εγώ στη Θεσσαλονίκη. Τώρα δεν βλέπω σε τι θα ωφελούσε να βρεθούμε μόνο οι δυό μας.

Μιας και πιστέυεις όμως ότι είναι λάθος που κόβονται μόνο 2 μονάδες και αδικούνται μαθητές έθεσα δύο ερωτήματα τα οποία φαντάζομαι ενδιαφέρουν τους περισσότερους εδώ μέσα.
Αν δεχόμαστε ότι η ψευδογλώσσα ακολουθεί τους κανόνες της Γλώσσας σε ότι αφορά τους πίνακες και που υπάρχει αυτό μέσα στο διδακτικό πακέτο.
Με βάση το εδάφιο στη σελ 186 του σχολικού βιβλίου σε ότι αφορά το μέγεθος του πίνακα αν ένας μαθητής για το συγκεκριμένο μόνο θέμα σκεφτεί τα εξής:
1.όλες οι επιδόσεις διαφορετικές
2.μικρότερη μονάδα μέτρησης το εκατοστό
3.εξωπραγματική επίδοση τα 20 μέτρα
και το λύσει σε ΓΛΩΣΣΑ με χρήση πίνακα θεωρώντας μεγαλύτερο μέγεθος το 2000, τότε θα θεωρήσουμε την απάντηση του ως επιστημονικά τεκμηριωμένη;

Με τιμή
Αθανάσιος Πέρδος

gpapargi

Παράθεση από: dtheo στις 10 Ιουν 2010, 05:24:58 ΜΜ
@gpapargi

Έστω, και λέω έστω γιατί δεν δέχομαι την απόψη σου, τι έχεις να πεις για την απάντηση #140 που έχω ήδη στείλει? Για αυτήν την απάντηση περίμενα σχόλιο και για άλλη πήρα μάλλον ετεροχρονισμένα. Ειλικρινά περιμένω μια άποψη και όχι μόνο δική σου για τον τρόπο επίλυσης του Θέματος Γ όπως παρουσιάζεται στην απάντηση #140 που έδωσα.





Δεν τη θεωρώ σωστή για το λόγο που περιέγραψα στην απάντηση 142. Το ότι καλείς ένα αλγόριθμο με παράμετρο το πλήθος δεν σημαίνει ότι αυτό θέτει κάποιο πραγματικό περιορισμό στο μέγεθος του πίνακα. Μπορείς μέσα στον καλούμενο αλγόριθμο να κάνεις προσπέλαση στο στοιχείο πλήθος +1. Δες προσεκτικά αυτό που έγραψα στην 142 και θα καταλάβεις ποιο είναι το πρόβλημα.
Όλα ξεκινούν από το ότι το σχολικό βιβλίο θέλει να βλέπεις τον πίνακα στατικό ακόμα και στην ψευδογλώσσα χωρίς όμως να υπάρχει κάτι χειροπιαστό (όπως η δέσμευση συγκεκριμένου χώρου στη μνήμη όπως κάνουν οι γλώσσες)  που να σου δεσμεύει το μέγεθος του πίνακα. 

Με βάση το παρακάτω κείμενο που σου παραθέτω από προηγούμενο μήνυμα φαίνεται καθαρά ότι οι συγγραφική ομάδα δεν χρησιμοποιεί τη ψευδογλώσσα που συναντάμε στα πανεπιστημιακά συγγράμματα. 


Παράθεση από: sdoukakis στις 04 Ιουν 2010, 02:59:57 ΜΜ
Θα πρόσθετα το εξής:

Το 2003 ο κ. Κοίλιας με άρθρο στο 2ο Συνέδριο Σύρου στις ΤΠΕ έθεσε σε δημόσια διαβούλευση τον τρόπο αναπαράστασης αλγορίθμων σε ψευδογλώσσα.
Για όποιον ενδιαφέρεται το άρθρο βρίσκεται στο σύνδεσμο
http://www.etpe.gr/files/proceedings/uploads1/s693.pdf

Από εκείνο το σημείο, κανένας δεν δημοσίευσε κάποιο σχετικό άρθρο.

Ο κ. Κοίλιας επανήλθε με ένα πιο ολοκληρωμένο άρθρο στην ημερίδα της ΕΠΥ τον Ιανουάριο, όπου επέκτεινε την πρότασή του για τον τρόπο αναπαράστασης αλγορίθμων σε ψευδογλώσσα, τόσο για τη δευτεροβάθμια, όσο και για την τριτοβάθμια εκπαίδευση.

Το άρθρο είναι δημοσιευμένο στο βιβλίο "Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον, Παρελθόν, Παρόν, Μέλλον" που εκδόθηκε πριν από λίγες μέρες. Πάλι αναφέρει:

Το κείμενο αυτό τίθεται σε δημόσιο διάλογο προκειμένου να βεβαιωθούμε ότι η ψευδογλώσσα μπορεί από μόνη της να στηρίξει το μάθημα. Δεν είναι όλα τα στοιχεία της ψευδογλώσσας απαραίτητα για το μάθημα (π.χ. pointers, αναδρομή, αρχεία δεδομένων κ.λπ.), αλλά έχουν ενταχθεί για λόγους πληρότητας.

Από το κεφάλαιο 3 φαίνεται ότι της πρόσθεσε τον περιορισμό της στατικής δομής.
Στην ψευδογλώσσα που συναντάμε στη βιβλιογραφία οι πίνακες είναι αφηρημένες δομές δεδομένων και δεν έχουν άνω όριο. Εκεί δε μας ενοχλεί ακόμα και αν κάποιος φανταστεί τον πίνακα σα δυναμικό.
Αυτός είναι και ο λόγος που στην ψευδογλώσσα της βιβλιογραφίας μπορείς να διαβάσεις το μέγεθος του πίνακα και να κάνεις και ότι άλλο θέλεις. Βέβαια επειδή οι πανεπιστημιακοί δεν παρεξηγούν την ελευθερία της έχουν την προνοητικότητα να τη χρησιμοποιούν με τρόπο που εφαρμόζεται πλήρως και στις γλώσσες με στατικούς πίνακες που το μέγεθος καθορίζεται κατά την εκτέλεση.

Σπύρος Δουκάκης

1. Όταν μπορέσετε δώστε ένα, δύο βιβλία από τη διεθνή βιβλιογραφία που έχουν ψευδογλώσσα.

2. Εμείς όμως ως καθηγητές δευτεροβάθμιας παρεξηγούμε αυτή την ελευθερία...

Παράθεση από: gpapargi στις 11 Ιουν 2010, 08:49:00 ΠΜ
...επειδή οι πανεπιστημιακοί δεν παρεξηγούν την ελευθερία της έχουν την προνοητικότητα να τη χρησιμοποιούν με τρόπο που εφαρμόζεται πλήρως και στις γλώσσες με στατικούς πίνακες που το μέγεθος καθορίζεται κατά την εκτέλεση.

Νίκος Αδαμόπουλος

Παραθέτω μερικά αποσπάσματα από την εν λόγω εργασία (2003) του Κοίλια (ένας από τους συγγραφείς του βιβλίου):

Περίληψη:

"Στην εργασία αυτή γίνεται μια προσπάθεια τυποποίησης μιας ψευδογλώσσας για τη γραφή αλγορίθμων. Μετά τη συγγραφή του σχολικού βιβλίου για το μάθημα Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον της Γ' Λυκείου Τεχνολογικής Κατεύθυνσης και τη χρήση του στα σχολεία μερικά χρόνια, είναι λογικό να έχουν εντοπιστεί ζητήματα που θέλουν βελτίωση. Η εργασία αυτή τίθεται σε δημόσια κρίση προκειμένου να απαντηθεί, αν το κείμενο αυτό είναι πλήρες, χωρίς ασάφειες και κατάλληλο για τη γραφή αλγορίθμων στο χαρτί.
Η εργασία αυτή μπορεί να χρησιμοποιηθεί ως βάση σε μια πιθανή αναμόρφωση του σχολικού βιβλίου, όπως και σε μια πιθανή υλοποίηση ενός διερμηνευτή για χρήση από τους μαθητές.
Ας σημειωθεί ακόμη ότι το κείμενο αυτό έχει επεκταθεί σε περιοχές πέρα από τη σχολική ύλη, ώστε να μπορεί να χρησιμοποιηθεί και από σπουδαστές και φοιτητές για τις ανάγκες μαθημάτων όπως Αλγοριθμική, Δομές Δεδομένων κ.α."


Και παρακάτω:

"Εναλλακτική είσοδος και έξοδος τιμών παρέχεται με τη χρήση των εντολών Δεδομένα και Αποτελέσματα. Η εντολή Δεδομένα γράφεται δεύτερη (μετά την εντολή Αλγόριθμος) και περιγράφει εντός των συμβόλων // .... // τα δεδομένα του αλγορίθμου, δηλαδή τις μεταβλητές που έχουν ήδη κάποια τιμή. Αντίστοιχα η εντολή Αποτελέσματα γράφεται προτελευταία και περιέχει τις μεταβλητές εξόδου. Οι επόμενοι δύο αλγόριθμοι είναι ισοδύναμοι.

Αλγόριθμος Άθροισμα_1
Διάβασε α, β
γ ← α + β
Γράψε γ
Τέλος Άθροισμα_1

Αλγόριθμος Άθροισμα_2
Δεδομένα // α, β //
γ ← α + β
Αποτελέσματα // γ //
Τέλος Άθροισμα_2

Η χρήση των εντολών Δεδομένα και Αποτελέσματα γενικά προτιμάται προκειμένου ο αλγόριθμος να απαλλαγεί από τις λεπτομέρειες εισόδου/εξόδου και να επικεντρωθεί στο πρόβλημα που επιλύει (εκτός βέβαια αν το πρόβλημα είναι η εισαγωγή δεδομένων). Επίσης η χρήση τους συνιστάται στην περίπτωση που τα δεδομένα εισόδου ή/και εξόδου είναι πολυπληθή, όπως για παράδειγμα σε προβλήματα επεξεργασίας πινάκων. Τέλος η χρήση τους επιβάλλεται, στην περίπτωση που ένας αλγόριθμος καλείται από άλλον (βλ. παρ. 6).

Σημ. Αν και η χρήση της μιας ή της άλλης μεθόδου αφήνεται γενικά στην ευχέρεια του συντάκτη του αλγορίθμου, ο σπουδαστής πρέπει να είναι προσεκτικός στην περίπτωση εξετάσεων προς αποφυγή βαθμολογικών απωλειών. Έτσι αν η εκφώνηση ενός θέματος λέει "Να γραφεί αλγόριθμος ο οποίος να διαβάζει ....", τότε πρέπει να χρησιμοποιηθεί η εντολή Διάβασε. Αντίθετα αν η εκφώνηση λέει "Δίδεται ένας πίνακας Α. Να γραφεί αλγόριθμος ο οποίος ...", τότε πρέπει να χρησιμοποιηθεί η εντολή Δεδομένα."



Τα παραπάνω φανερώνουν το πώς εννοούν οι ίδιοι οι συγγραφείς την εντολή Δεδομένα. Θεωρείτε ότι έρχεται σε αντίθεση με το υπάρχον σχολικό βιβλίο; Αν ναι, πού ακριβώς; Τώρα εμείς πάμε με το ζόρι να δώσουμε άλλη ερμηνεία... Οδηγεί αυτό σε παρενέργειες που δεν μας  αρέσουν; Ποιες είναι αυτές; Ας τις εξετάσουμε πρώτα και βλέπουμε... Μήπως σε αυτές είναι και η υιοθέτηση της στατικότητας κατά την εκτέλεση;

Επιπλέον, έχουμε αναγάγει σε ζήτημα υψίστης σημασίας το πώς οι συγγραφείς εννοούν τη στατικότητα, δηλαδή αν το μέγιστο πλήθος ορίζεται κατά τον προγραμματισμό ή αν είναι εφικτό και κατά την εκτέλεση (με το λογική να μην επαναπροσδιορίζεται σε επόμενες εντολές). Πού και πώς ακριβώς αυτή η λεπτομέρεια επηρεάζει την αλγοριθμική σκέψη των μαθητών; (Πάντως δεν συμμερίζομαι την άποψη/φόβο ότι οι μαθητές θα τα λύνουν όλα με πίνακες!).

Δηλαδή δεν υπάρχει περίπτωση η συγκεκριμένη φράση του βιβλίου να γράφτηκε από τους συγγραφείς χωρίς να την πολυσκεφτεί; Ήδη αυτό προκαλεί ασυνέπεια στα υποπρογράμματα της ΓΛΩΣΣΑΣ όπου για τις τοπικές μεταβλητές (άρα και για τους τοπικούς πίνακες) δεσμεύεται χώρος στη μνήμη κατά την κλήση των υποπρογραμμάτων και αποδεσμεύεται κατά την επιστροφή...(άρα κατά την εκτέλεση)... Εδώ ακόμα και στα ιερά βιβλία υπάρχουν ασάφειες και ασυνέπειες και κάθονται μετά οι θεολόγοι και διυλίζουν τον κώνωπα και χάνουν την ουσία...

Το πότε πρέπει ή ενδείκνυται ή απαγορεύεται να χρησιμοποιούνται πίνακες μέσα σε αλγόριθμο ή πρόγραμμα θα μπορούσε να εξετάζεται με θέμα άλλης μορφής περισσότερο ξεκάθαρης. Μα και μόνο ότι το συζητούσαμε και πριν τις εξετάσεις και ακόμα και τώρα, αυτό δείχνει ότι υπήρχε αστοχία στην επιλογή του συγκεκριμένου θέματος...

Sergio

Παράθεση από: aperdos στις 10 Ιουν 2010, 10:38:38 ΜΜ
@sergio
Συγνώμη, αν θεώρησες ότι σου επιτίθεμαι προσωπικά.

Οκ, νομίζω ότι το θέμα της προσωπικής επίθεσης μπορεί να θεωρηθεί λήξαν ώστε να έχω την ευκαιρία να εκθέσω τις απόψεις μου στα ερωτήματα που θέτεις και τα οποία, αφού υπάρχουν, σίγουρα χρειάζονται απάντηση.

Δε θεωρώ τον εαυτό μου υπόδικο για τις απόψεις μου και, αν έχω λάθος, πραγματικά ελπίζω να βρεθεί η άποψη που θα με πείσει ώστε να είμαι σε θέση να στηρίξω αποτελεσματικότερα τους μαθητές μου την επόμενη χρονιά. Για την ιστορία θα αναφέρω ότι οι μαθητές μου φέτος, στη συντριπτική τους πλειοψηφία, απάντησαν λάθος στο θέμα Γ. Οι λίγοι που το διαπραγματεύτηκαν σωστά (3 από τους 42) ήταν κάποιοι από εκείνους που είχαν υιοθετήσει με συνέπεια τη συμβουλή: μην αρχίσετε να γράφετε το παραμικρό πριν είστε σίγουροι ότι έχετε κατανοήσει πέρα για πέρα το χώρο του προβλήματος – μέχρι και σλόγκαν είχαμε φτιάξει «τόνοι σκέψη, γραμμάρια πένα». Οι υπόλοιποι ακόμα προσπαθούν να καταλάβουν, και εγώ μαζί τους, πώς την «πάτησαν».

Θεωρώ λοιπόν ότι θα πρέπει να είμαι σαφής και πλήρης στην απάντησή μου ώστε να είναι ξεκάθαρη η αντίληψή μου επί του θέματος και να προσφέρει  στη συζήτηση. Δεν μπορώ να διαθέσω το χρόνο που χρειάζεται μέχρι τη Δευτέρα, και ο μόνος λόγος που "ενοχλώ" με το παρόν μήνυμα είναι για να προλάβω πάλι προσωπικά σχόλια σχετικά με το αν πρόκειται να απαντήσω.

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

Sergio

Παράθεση από: aperdos στις 10 Ιουν 2010, 08:31:39 ΜΜ

έχω βάλει παρόμοιο θέμα καλύτερα όμως διατυπωμένο σε διαγώνισμα και έκοβα μονάδες στη χρήση πίνακα

Σου είναι εύκολο να το παραθέσεις; Ίσως διευκολύνει τη συζήτηση.
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

ntzios kostas

Νίκο θυμάμαι πεντακάθαρα τον κ. Κοίλια να αναφέρει στην συγκέντρωση που έκανε η ΕΠΥ, ότι η μεγαλύτερη επιτυχία των συγγραφέων είναι η υιοθέτηση της εντολής αυτής. Γιατί άραγε; 

Να θέσω και ένα άλλο ερώτημα. Έστω ότι θέλουμε έναν αλγόριθμο ο οποίος θα δέχεται έναν πίνακα Ν θέσεων και θα επιστρέφει πίνακα Ν+Μ θέσεων όπου τα υπόλοιπα Μ στοιχεία θα τα δίνει ο χρήστης:
Απάντηση

Αλγόριθμος Θ
    δεδομένα //Α,Ν// !όπου Α πίνακας Ν θέσεων
    διάβασε Μ
    για κ από 1 μέχρι Μ
        διάβασε Α[Ν+κ]
    τέλος_επανάληψης
    αποτελέσματα //Α,Ν+Μ//
Τέλος Θ
Αυτό πρέπει να θεωρούμε σωστό; Αυτή την απάντηση πρέπει να την διδάσκουμε;

Πιστεύω ότι παρόλο που σε ορισμένες γλώσσες αυτό επιτρέπεται τα πράγματα σε εμάς είναι διαφορετικά. Το μοναδικό όπλο σε εμάς, ώστε να διδάσκουμε τους μαθητές μας σωστό προγραμματισμό είναι να θεωρούμε και στους αλγόριθμους το μέγεθος του πίνακα σταθερό. Εδώ δεν έχουμε το όπλο να κόψουμε μόριο λόγω κακής απόδοσης του αλγόριθμου. Και τι θέλω να πω κ. Θεοτόκη. Αν στο Πανεπιστήμιο βλέπατε μία δήλωση φοιτητή ακέραιες Α[100000000000000] τι θα λέγατε; Αν είχατε ένα θέμα κατά το οποίο θα πρέπει ο αλγόριθμος να διαβαζει το πλήθος των αριθμών εισόδου και στη συνέχεια απλά να τους εμφανίζει και ο φοιτητής σας χρησιμοποιήσει πίνακα τι θα λέγατε;  Εμείς εδώ, λοιπόν, τι πρέπει να πούμε; Να τις δεχτούμε και να πούμε ότι όλες οι ασκήσεις πλέον λύνονται με πίνακα; Αυτό θέλετε να διδάσκουμε; Αυτό διδάσκετε;
Το μάθημα Ανάπτυξη Εφαρμογών δεν έχει σαν στόχο την εκμάθηση κάποιου συγκεκριμένου προγραμματιστικού περιβάλλοντος ούτε την καλλιέργεια προγραμματιστικών δεξιοτήτων από τη μεριά των μαθητών. Δεν αποσκοπεί στη λεπτομερειακή εξέταση της δομής, του ρεπερτορίου και των συντακτικων κανόνων κάποιας γλώσσας...

gpapargi

Νίκο το θέμα της εργασίας του Κοίλια που θίγεις είναι σοβαρό.  Ο ίδιος την έχει καταθέσει για σχολιασμό και ίσως κάποια στιγμή πρέπει να τον κάνουμε. Απλά αυτό θέλει χρόνο και δυνάμεις που τώρα δεν υπάρχουν. Καλό είναι να γίνει από Σεπτέμβριο.

Αυτό που είπα για την ώρα είναι ότι εφόσον ο συγγραφέας προσπαθεί να την ορίσει, σημαίνει ότι δεν θεωρεί αναγκαίο να εννοεί την ψευδογλώσσα της βιβλιογραφίας. Αλλιώς απλά θα έλεγε «εννοώ αυτήν» και όλα θα ήταν ΟΚ.

Για μένα το ζήτημα στο οποίο πρέπει να δώσει ιδιαίτερη προσοχή (ό ίδιος λέει πρέπει να ελεγχθεί για τυχόν ασάφειες) είναι το πώς θέλει να συμπεριφέρονται οι πίνακες στην ψευδογλώσσα του. Θέλει να έχουμε την πλήρη ελευθερία που υπάρχει στη συνήθη ψευδογλώσσα; Θέλει να λύνουμε προβλήματα σε αφηρημένες δομές δεδομένων; Θέλει να αντιμετωπίζουμε τους πίνακες σαν στατικές δομές ακόμα και στην ψευδογλώσσα; Θέλει στην ψευδογλώσσα να κάνουμε αποδεκτές λύσεις οι οποίες δεν υλοποιούνται σε ΓΛΩΣΣΑ; Θέλει η ΓΛΩΣΣΑ να υποστηρίζει δυναμικούς πίνακες;
Όλα αυτά είναι ζητήματα που πρέπει να αποσαφηνιστούν πλήρως. Εγώ βλέποντας απλώς το βιβλίο (και όχι την εργασία) αντιλαμβάνομαι ότι αυτή τη στιγμή θέλει να βλέπουμε τους πίνακες στατικούς. Η εργασία καλό είναι μπει υπό συζήτηση.

Για μένα θα ήταν καλό να ξεκινήσει μια κουβέντα το Σεπτέμβριο στο φορουμ στην οποία συμμετείχε και ο ίδιος για να δίνει διευκρινήσεις και να συζητάμε όλοι κάθε χαρακτηριστικό της υπό ορισμό  ψευδογλώσσας τι σημαίνει και που οδηγεί. Νομίζω ότι έτσι δεν θα ξεφύγει τίποτα και όλοι έχουμε τη διάθεση να βοηθήσουμε σε κάτι τέτοιο. Γενικά πιστεύω ότι καλό θα ήταν η κοινότητα να συμμετείχε στη διαμόρφωση κάποιων χαρακτηριστικών του βιβλίου.

Σπύρος Δουκάκης

Καλό είναι να υπάρχει η σχετική βιβλιογραφία.

Παράθεση από: gpapargi στις 11 Ιουν 2010, 01:53:09 ΜΜ
...να εννοεί την ψευδογλώσσα της βιβλιογραφίας.

evry

Με το σκεπτικό αυτό δεν θα έπρεπε και οι παρακάτω αλγόριθμοι να είναι ισοδύναμοι?

Αλγόριθμος Άθροισμα_1
Αρχή_Επανάληψης
    Διάβασε α, β
Μέχρις_ότου α*β>0
γ ← α + β
Γράψε γ
Τέλος Άθροισμα_1

Αλγόριθμος Άθροισμα_2
Δεδομένα // α, β //
γ ← α + β
Αποτελέσματα // γ //
Τέλος Άθροισμα_2
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Σπύρος Δουκάκης

Βλέπω ότι επανερχόμαστε στις ίδιες ατέρμονες συζητήσεις, με τα επιχειρήματα να έχουν εξαντληθεί.

Το πρόβλημα με το θέμα που τέθηκε δεν το έχει το βιβλίο. Το έχει το θέμα των εξετάσων. Επίσης, οι απαντήσεις που δόθηκαν από τους μαθητές ως προς τη χρήση πίνακα δεν κατηγοριοποιούνται σε σωστές και λάθος βάσει του κριτηρίου χρήσης πίνακα ή όχι. Είναι αντιπαιδαγωγικό και αντιεπιστημονικό αυτό που λέτε και θα πρότεινα να το αποσύρετε...

Τέλος, η κριτική σκέψη του παιδιού δεν ελέγχεται με το ερώτημα που τέθηκε και εξηγώ

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

Νομίζω ότι έχουμε ξεφύγει πλέον... και καραδοκούν οι άλλες ειδικότητες. Καλύτερα να το σταματήσουμε και να πάμε διακοπές, γιατί όσο γράφουμε προσπαθώντας να αποδείξουμε ότι το θέμα ήταν επιτυχημένο εκτίθεται ο κλάδος ακόμα περισσότερο...

alkisg

Χωρίς να έχω διαβάσει καλά την παρούσα συζήτηση, να παραθέσω μόνο ένα κομμάτι από το βιβλίο καθηγητή που μπορεί να φανεί χρήσιμο:

Παράθεση από: Βιβλίο καθηγητή, σελίδα 72
   Η χρησιμοποιούμενη ψευδογλώσσα είναι η πλέον ενδεδειγμένη για την παρά-
σταση αλγορίθμων διεθνώς. Η χρήση της συνιστάται για κάθε περίπτωση αλγο-
ρίθμου ανεξάρτητα από το χρησιμοποιούμενο βιβλίο ή γλώσσα προγραμματι-
σμού.
Ο Κοίλιας μου είχε στείλει κι εμένα την περιγραφή της νέας ψευδογλώσσας για τυχόν παρατηρήσεις πριν την παρουσιάσει στο συνέδριο, αλλά δε νομίζω όμως ότι αυτή η ψευδογλώσσα του συνεδρίου είναι η ίδια ή έχει τους ίδιους ακριβώς στόχους με αυτή που χρησιμοποιείται στο βιβλίο. Θα τη χαρακτήριζα μάλλον "δεύτερη έκδοση", και νομίζω πως στοχεύει και στην αντικατάσταση της ΓΛΩΣΣΑΣ, κάτι που δεν συνάδει με τους στόχους της ψευδογλώσσας του βιβλίου.

Σπύρος Δουκάκης

Εννοείς αν μπορεί να χρησιμοποιηθεί η εντολή Γράψε και γιατί δεν είναι bold; :)

Παράθεση από: evry στις 11 Ιουν 2010, 02:33:12 ΜΜ
Με το σκεπτικό αυτό δεν θα έπρεπε και οι παρακάτω αλγόριθμοι να είναι ισοδύναμοι?

Αλγόριθμος Άθροισμα_1
Αρχή_Επανάληψης
    Διάβασε α, β
Μέχρις_ότου α*β>0
γ ← α + β
Γράψε γ
Τέλος Άθροισμα_1

Αλγόριθμος Άθροισμα_2
Δεδομένα // α, β //
γ ← α + β
Αποτελέσματα // γ //
Τέλος Άθροισμα_2


evry

όχι, καμία σχέση, απλά έκανα copy/paste τον κώδικα του Νίκου και το bold έμεινε.
Το σκεπτικό μου είναι πως το Διάβασε είναι μια εντολή που μπορεί να μπει οπουδήποτε ενώ τα Δεδομένα είναι μια δήλωση.
Ο τρόπος που αντιλαμβάνομαι εγώ τα δεδομένα είναι σαν παραμέτρους εισόδου στον αλγόριθμο και τα αποτελέσματα σαν παραμέτρους εξόδου, έτσι
ώστε να μπορεί πολύ εύκολα μετά ο αλγόριθμος να κωδικοποιηθεί ως υποπρόγραμμα.
    Το Διάβασε είναι κάτι διαφορετικό (κατά τη γνώμη μου). Είναι μέρος του αλγορίθμου και αυτό θέλησα να δείξω με το παράδειγμα του ελέγχου εγκυρότητας.
Τέλος πάντων, δεν βρίσκω κάτι κακό από όλη αυτή την κουβέντα. Από τη στιγμή που θα λείψουν οι προσωπικές αντιπαραθέσεις και θα επικεντρωθούμε σε αυτό
που συζητάμε αυτό μόνο καλό μπορεί να κάνει στο μάθημα και στον κλάδο.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Σπύρος Δουκάκης

Δεν πάμε για κανα ουζάκι καλύτερα για να τα πούμε αυτά. Δέκα άτομα είμαστε που μιλάμε μεταξύ μας... και λέμε τα ίδια κα τα ίδια...


Παράθεση από: gpapargi στις 11 Ιουν 2010, 01:53:09 ΜΜ
Για μένα θα ήταν καλό να ξεκινήσει μια κουβέντα το Σεπτέμβριο στο φορουμ στην οποία συμμετείχε και ο ίδιος για να δίνει διευκρινήσεις και να συζητάμε όλοι κάθε χαρακτηριστικό της υπό ορισμό  ψευδογλώσσας τι σημαίνει και που οδηγεί. Νομίζω ότι έτσι δεν θα ξεφύγει τίποτα και όλοι έχουμε τη διάθεση να βοηθήσουμε σε κάτι τέτοιο. Γενικά πιστεύω ότι καλό θα ήταν η κοινότητα να συμμετείχε στη διαμόρφωση κάποιων χαρακτηριστικών του βιβλίου.


Αθανάσιος Πέρδος

Παράθεση από: Sergio στις 11 Ιουν 2010, 01:17:29 ΜΜ
Σου είναι εύκολο να το παραθέσεις; Ίσως διευκολύνει τη συζήτηση.

quote author=aperdos link=topic=2927.msg29080#msg29080 date=1275339875]
Σε ένα ηλεκτρονικό παιχνίδι γνώσεων ο χρήστης μπορεί να περάσει στο επόμενο επίπεδο εφόσον συμπληρώσει τουλάχιστον 10 βαθμούς. Να αναπτύξετε αλγόριθμο ο οποίος θα διαβάζει τους βαθμούς σε κάθε επίπεδο και στο τέλος του παιχνιδιού θα εμφανίζει τον αριθμό του επιπέδου με τη μεγαλύτερη βαθμολογία, με τη μικρότερη βαθμολογία καθώς και τους συνολικούς βαθμούς που συγκέντρωσε ο χρήστης. Εφόσον ο χρήστης δεν συμπληρώσει σε κάποιο επίπεδο 10 βαθμούς, το παιχνίδι σταματάει

Αλγόριθμος Π50
   Εμφάνισε "δώσε το βαθμό του 1 ου επιπέδου"
   Διάβασε Β
   Αν Β ≥ 10 τότε
      ΕΠ ← 1
      ΜΑΧ ← Β
      ΜΑΧ_ΕΠ ← 1
      ΜΙΝ ← Β
      ΜΙΝ_ΕΠ ← 1
      Σ ← Β
      Εμφάνισε "δώσε το βαθμό του 2ου επιπέδου"
      Διάβασε Β
      Όσο Β>=10 επανάλαβε
         ΕΠ ← ΕΠ + 1
         Αν ΜΑΧ < Β τότε
            ΜΑΧ ← Β
            ΜΑΧ_ΕΠ ← ΕΠ
         Τέλος_αν
         Αν ΜΙΝ > Β τότε
            ΜΙΝ ← Β
            ΜΙΝ_ΕΠ ← ΕΠ
         Τέλος_αν
         Σ ←Σ + Β
         Εμφάνισε "δώσε το βαθμό του",επ+1, "ου επιπέδου"
         Διάβασε Β
      Τέλος_επανάληψης
      Εμφάνισε " το επίπεδο με την μέγιστη βαθμολογία είναι το", ΜΑΧ_ΕΠ
      Εμφάνισε " το επίπεδο με την ελάχιστη βαθμολογία είναι το", ΜΙΝ_ΕΠ
      Εμφάνισε " η συνολική βαθμολογία είναι", Σ
   αλλιώς
      Εμφάνισε "ούτε το πρώτο επίπεδο δεν πέρασες"
   Τέλος_αν
Τέλος Π50
[/quote]

Μπορείς να δεις και το σχολιασμό που ακολούθησε από τους merlin,  Νίκος Αδαμόπουλος και άλλους.
https://alkisg.mysch.gr/steki/index.php?topic=2927.1680

Αθανάσιος Πέρδος

@sergio
και για να συνεχίσω μπορεί κάλλιστα στην συγκεκριμένη άσκηση να τεθούν όμοια ερωτήματα με το Γ θέμα όπως.

να διαβάζει το στόχο στη συγκομιδή βαθμών που θέτει ο συγκεκριμένος χρήστης και να εμφανίζει πόσες φορές τον ξεπέρασε. Αν δεν συνέβει κάτι τέτοιο να εμφανίζεται ο αριθμός των επιπέδων που οι βαθμοί του χρήστη τον πλησίασαν τουλάχιστον κατά 30 βαθμούς.
Να εμφανίζει πόσες φορές ο χρήστης συγκέντρωσε περισσότερους βαθμούς σε σχέση με τους βαθμούς του,  στο πρώτο επιπέδο.

και όπως καταλαβαίνεις όρεξη να έχεις να βγάζεις ερωτήματα.   

Είχα δόσει και εγώ διευκρίνηση ότι σε όλα τα επίπεδα οι βαθμοί είναι διαφορετικοί. Στο συγκεκριμένο διαγώνισμα εξετάζονταν μέγιστα και ελάχιστα από πλήθος τιμών διαφορετικών μεταξύ τους. 

Νίκος Αδαμόπουλος

Θεωρώ κι εγώ ότι έχει κατατεθεί ποικιλία επιχειρημάτων προς όλες τις πιθανές κατευθύνσεις... Πλέον χρειάζεται μια αποδελτίωση και οργανωμένη καταγραφή τους, με τα υπέρ και τα κατά, και τις πιθανές επιδράσεις τους σε άλλα ζητήματα...

Όντως όσο περνάνε οι μέρες τόσο πιο ακατάλληλες γίνονται για τέτοιου είδους αναζητήσεις... Όσο σκέφτομαι ότι έχω δίπλα μου τη μεγαλύτερη παραλία της Ελλάδας και εγώ μόλις αύριο θα πάω να κάνω το πρώτο μου μπάνιο...!!! Μήπως να ερχόσασταν να κάνουμε την κουβέντα εν μέσω ούζων και ποικιλιών;

gpapargi

Παράθεση από: sdoukakis στις 11 Ιουν 2010, 02:38:51 ΜΜ
Το πρόβλημα με το θέμα που τέθηκε δεν το έχει το βιβλίο. Το έχει το θέμα των εξετάσων. Επίσης, οι απαντήσεις που δόθηκαν από τους μαθητές ως προς τη χρήση πίνακα δεν κατηγοριοποιούνται σε σωστές και λάθος βάσει του κριτηρίου χρήσης πίνακα ή όχι. Είναι αντιπαιδαγωγικό και αντιεπιστημονικό αυτό που λέτε και θα πρότεινα να το αποσύρετε...

Μάλιστα. Από ότι φαίνεται έχεις αποφασίσει εξαρχής για το ποιος φταίει και τα επιχειρήματα σε τεχνικό επίπεδο που προαναφέρθηκαν δεν έχουν σημασία.

Πριν συζητήσουμε για το αν το θέμα είναι σωστό ή λάθος και για το ποιος φταίει, πρέπει ξεκαθαρίσουμε ποιες είναι οι ιδιότητες της ψευδογλώσσας με βάση το σχολικό βιβλίο.

Τι από τα 3 δέχεσαι για τον τρόπο που η ψευδογλώσσα χειρίζεται τους πίνακες;

1) Τους θεωρεί αφηρημένες δομές δεδομένων χωρίς άνω όριο.
2) Τους θεωρεί στατικές δομές όπως περιγράφει στη σελίδα 56 (δηλαδή το μέγεθος καθορίζεται κατά τη μεταγλώττιση)
3) Τους θεωρεί στατικές δομές και το μέγεθος καθορίζεται κατά την εκτέλεση αλλά μετά δεν αλλάζει (όπως πχ η C).

Μετά από αυτό... το ποιος φταίει θα προκύψει αυτόματα.

Παράθεση από: sdoukakis στις 11 Ιουν 2010, 02:38:51 ΜΜ
Τέλος, η κριτική σκέψη του παιδιού δεν ελέγχεται με το ερώτημα που τέθηκε και εξηγώ

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

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

Και μια και μιλάς για επιστημονικότητα να σου θέσω και ένα ερώτημα: Αν σου πουν σε ένα πρόβλημα να διαβάζεις 1000 αριθμούς (γνωστό πλήθος) και να βρίσκεις το μέσο όρο, τι διδάσκεις τους μαθητές σου; Να τα βάζουν σε πίνακα ή όχι;

bagelis

Παράθεση από: gpapargi στις 14 Ιουν 2010, 11:45:03 ΠΜ
Το τελευταίο ερώτημα του θέματος Γ, αν γίνει χωρίς πίνακα, ελέγχει την κριτική σκέψη.

Ενώ με πίνακα δεν υπάρχει κριτική σκέψη, ε?

Είχα πει να μην ξαναγράψω αλλά δεν μπορώ άλλο: το βεβαιωμένο γεγονός ότι ένα πολύ μεγάλο ποσοστό καθηγητών πληροφορικής το έλυσαν με πίνακες δεν λέει τίποτα? Αυτό το ξεπερνάμε, αρκεί να παραμένουμε επιστημονικοί? Για να ελέγξεις τους μαθητές σε κάτι, πρώτα πρέπει να έχεις ελέγξει τι έχεις διδάξει. Αλλά αυτό δεν μετράει, ε?

Για τα υπόλοιπα μπορούμε να κουβεντιάσουμε πολλά, αλλά σας παρακαλώ μην προσπαθείτε να υποστηρίξετε το συγκεκριμένο θέμα Γ.... δεν αντέχει....

Vangelis

Λύση μαθητή που χρησιμοποίησε πρόγραμμα για τη λύση του Γ.  (βλέπετε υπάρχουν και συνάδελφοι που λένε στους μαθητές τους μόνο πρόγραμμα- σίγουρα πράγματα)
Δήλωση πίνακα  ΟΝ{i}  !!!!!
Μάλιστα πίνακας με μεταβλητό μέγεθος !!!

Αχ αυτή η επιτροπή δεν έγραφε "πρόγραμμα" αντί για "αλγόριθμο" να βλέπαμε πόσοι θα δήλωναν πίνακα με μεταβλητό μέγεθος  και θα έλυναν "κανονικά" την άσκηση.  Μία λέξη είναι  όλη η (τυπική)  διαφορά μας.

Πάντως υπάρχουν πολλοί συνάδελφοι που θεωρούν ότι  αυτή η διαμάχη θα οδηγήσει σε καλό και θα καθορίσουμε επιτέλους τι διδάσκουμε και για ποιο λόγο το διδάσκουμε.

Σπύρο για το ουζάκι συμφωνώ πάμε και Λουτράκι να έρθει και ο Παναγιώτης (1 ώρα δρόμος είναι)!.
Πάρε τηλέφωνο

sstergou

Πάντως όταν το 95,5 % (σύμφωνα με αναξιόπιστα στατιστικά) λύνει την άσκηση με πίνακες κάτι δεν πάει καλά. Δεν ξέρω τι είναι αυτό αλλά πρέπει να το ψάξουμε.

Η τυπική διαφορά είναι αυτή που αναφέρεις, η ουσιαστική είναι νομίζω κάπως βαθύτερη.
Το θέμα είναι να συμφωνήσουμε όλοι στις αρχές και όχι στις υλοποιήσεις. Ναι λοιπόν στην αλγοριθμική σκέψη και όχι στις προγραμματιστικές τεχνικές!

Σπύρος Δουκάκης

@Vangelis και @πληθυσμό στο Στέκι

Συμφωνώ!! Ουζάκια και ξανά ουζάκια με θαλασσινούς μεζέδες.

@gpapargi Θεωρώ ότι η συζήτηση δεν χρειάζεται να συνεχιστεί στο forum. Δεν προσφέρει τίποτα. Θα σου στείλω pm γιατί διαφωνώ με όσα λες. Πάντως ο κλάδος των εκπαιδευτικών πληροφορικής φαίνεται να αναγνωρίζει τις διαφορές μεταξύ ελέγχου κριτικής σκέψης και ελέγχου δημιουργικής σκέψης. Δεν είναι το ίδιο... Ρητορικά θέτω το ερώτημα και δεν θέλω απάντηση: Το θέμα έλεγχε τελικά την κριτική ή την δημιουργική σκέψη; Επίσης  το θέμα δεν είναι λάθος, αλλά σίγουρα είχε πρόβλημα... Ίσως θα πρέπει να προστεθεί στο πρώτο κεφάλαιο του σχολικού βιβλίου ως παράδειγμα προς αποφυγή...

@stergou Μήπως να είναι στο νησί των ιπποτών τα ουζάκια;

tom

Παράθεση από: gpapargi στις 14 Ιουν 2010, 11:45:03 ΠΜ
Τι από τα 3 δέχεσαι για τον τρόπο που η ψευδογλώσσα χειρίζεται τους πίνακες;

1) Τους θεωρεί αφηρημένες δομές δεδομένων χωρίς άνω όριο.
2) Τους θεωρεί στατικές δομές όπως περιγράφει στη σελίδα 56 (δηλαδή το μέγεθος καθορίζεται κατά τη μεταγλώττιση)
3) Τους θεωρεί στατικές δομές και το μέγεθος καθορίζεται κατά την εκτέλεση αλλά μετά δεν αλλάζει (όπως πχ η C).


Μα αυτή είναι η ουσία.

Είμαι και εγώ πολύ περίεργος για αυτή την απάντηση από τους συγγραφείς. Ίσως εννοούν την πρώτη περίπτωση αν λάβουμε υπ'οψιν ότι υπάρχει άλγόριθμος στο κεφάλαιο 4, όπου δεν χρησιμοποιείται η εντολή Δεδομένα και χρησιμοποιείται πίνακας του οποίου το μέγεθος δεν ορίζεται πουθενά ρητά (αυτό με τη δύναμη αν θυμάμαι καλά).  :)

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

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

sstergou

Παράθεση από: sdoukakis στις 15 Ιουν 2010, 11:20:10 ΠΜ
@stergou Μήπως να είναι στο νησί των ιπποτών τα ουζάκια;

Στο τέλος μπορεί να συζητάμε για τη δυναμικότητα των σταθερών!
Αν θέλετε να το συνδυάσετε και με κανένα μπάνιο .... :)

gpapargi

Παράθεση από: tom στις 15 Ιουν 2010, 12:24:59 ΜΜ
Μα αυτή είναι η ουσία.

Είμαι και εγώ πολύ περίεργος για αυτή την απάντηση από τους συγγραφείς. Ίσως εννοούν την πρώτη περίπτωση αν λάβουμε υπ'οψιν ότι υπάρχει άλγόριθμος στο κεφάλαιο 4, όπου δεν χρησιμοποιείται η εντολή Δεδομένα και χρησιμοποιείται πίνακας του οποίου το μέγεθος δεν ορίζεται πουθενά ρητά (αυτό με τη δύναμη αν θυμάμαι καλά).  :)

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

Θωμά το θέμα με την ύψωση σε δύναμη το έχω αναλύσει εδώ
https://alkisg.mysch.gr/steki/index.php?topic=2953.msg29686#msg29686

Δες και αυτό στο οποίο σχολιάζω το 3.
https://alkisg.mysch.gr/steki/index.php?topic=2937.msg30135#msg30135

gpapargi

Παράθεση από: sstergou στις 15 Ιουν 2010, 03:07:07 ΠΜ
Πάντως όταν το 95,5 % (σύμφωνα με αναξιόπιστα στατιστικά) λύνει την άσκηση με πίνακες κάτι δεν πάει καλά. Δεν ξέρω τι είναι αυτό αλλά πρέπει να το ψάξουμε.

Να σου εγώ τι συμβαίνει. Όταν κάτι είναι λάθος αλλά πολύ βολικό και δεν τιμωρείται τότε στατιστικά η πλειοψηφία θα το χρησιμοποιήσει.

Για τον ίδιο ακριβώς λόγο δεχόμαστε την εύρεση μεγίστου με πλήρη ταξινόμηση, την αναζήτηση μοναδικού στοιχείου σε πίνακα με τη Για και όχι με την Όσο και πάει λέγοντας.

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

Οι μαθητές θα επιλέξουν πάντα αυτό που τους βολεύει εφόσον δεν έχουν βαθμολογικές απώλειες. Οι μόνοι που μπορούν να διαφυλάξουν την επιστημονικότητα του μαθήματος είμαστε εμείς. Αν δεν το κάνουμε εμείς, κανείς άλλος δε θα το κάνει και το μάθημα σταδιακά θα κατεβάσει το επίπεδο του.   

sstergou

Συμφωνώ με αυτή την αρχή.

Στην συγκεκριμένη περίπτωση όμως δεν θεωρώ ότι η λύση με πίνακες έχει έλλειψη επιστημονικότητας.
Μάλιστα για την ακρίβεια πιστεύω το αντίθετο. Για αυτό συζητάμε.

Νίκος Αδαμόπουλος

Συμφωνώ κι εγώ με το Στάθη...

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

Και σίγουρα έχουν μείνει ερωτήματα που δεν απαντήθηκαν. Όπως π.χ. ότι τα δεδομένα της άσκησης ήταν τέτοια που να προκύπτει (μικρό και λογικό) άνω όριο στον πίνακα... Anyway...

(Σημ.: Δεν θεωρώ ότι όλες οι ασκήσεις πρέπει να λύνονται με πίνακες)

tom

Παράθεση από: gpapargi στις 15 Ιουν 2010, 12:56:57 ΜΜ
Θωμά το θέμα με την ύψωση σε δύναμη το έχω αναλύσει εδώ
https://alkisg.mysch.gr/steki/index.php?topic=2953.msg29686#msg29686
Λες κάπου εκεί:

Παράθεση
Αυτό θεωρώ ότι συμβαίνει στο παράδειγμα με την ύψωση σε δύναμη στο βιβλίο μαθητή στη σελίδα 89-90. Τα περιεχόμενα του πίνακα δεν υπάρχουν από πριν και κατασκευάζονται από τον αλγόριθμο. Οπότε δεν έχει νόημα ο πίνακας power να είναι στα δεδομένα. Το μέγεθος του πίνακα θεωρείται γνωστό αριθμός (πχ 100) και δεν δηλώνεται. Το ερώτημα είναι: πόσο μεγάλο χρειάζεται να είναι αυτό το μέγεθος; Πως μεγαλώνει το πλήθος των χρησιμοποιούμενων με βάση τους αριθμούς που δίνονται για ύψωση σε δύναμη α^β;
Δεν έκατσα να το δω πολύ προσεκτικά αλλά βλέποντας το σχήμα στην πρώτη θέση του πίνακα είναι η δύναμη α^0, στην δεύτερη α^1, μετά το α^2, α^4, α^8 και γενικά στη θέση ν του πίνακα μπαίνει το α^(2^(ν-2)). Ατό σημαίνει ότι αγνοώντας κάτι σταθερούς όρους βγαίνει ότι για να υψώσεις στην b θέλεις περίπου (τάξη) λογάριθμο με βάση 2 του b. Πχ για να υψώσεις στην 1000000 θέλεις γύρω στις 20 θέσεις στον πίνακα.  Με δεδομένο ότι οι υπολογιστές έχουν και κάποιο όριο στους αριθμούς που υποστηρίζουν με ένα πίνακα 100 θέσεων είσαι ΟΚ και πολλά λέω.

Το συγκεκριμένο παράδειγμα μπορείς να το δεις και διαφορετικά. Δηλαδή να δεχτείς ότι ο αλγόριθμος υπολογίζει μόνο για τα συγκεκριμένα a και b την ύψωση σε δύναμη a^b και ότι αυτό σου δίνει τη δυνατότητα να ξέρεις το μέγεθος του πίνακα που είναι μια λογαριθμική συνάρτηση του b (πιθανόν λίγο ολισθημένη λόγω κάποιων σταθερών). Δηλαδή μια λογική που ισχύει και στο παράδειγμα της συμπίεσης των πινάκων που εκ των πραγμάτων (λόγω του ότι η στατική δομή δεν μπορεί να μειώσει τον αποθηκευτικό της χώρο) μιλάμε για συγκεκριμένους πίνακες μόνο και μόνο για να δείξουμε τον αλγόριθμο.

Εγώ με βάση το βιβλίο και λαμβάνοντας υπόψη την παιδαγωγική σκοπιά του πράγματος θεωρώ ότι δεν είναι δυνατόν σε ένα εκπαιδευτικό πλαίσιο να δεχόμαστε λύσεις σε ψευδογλώσσα που δεν μεταφέρονται ακριβώς σε ΓΛΩΣΣΑ γιατί τότε ο μαθητής θα φτιάξει ένα κώδικα σε ψευδογλώσσα και όταν θα πάει στο εργαστήριο για υλοποίηση θα πρέπει να τον αλλάξει. Άρα δε μεταφέρει αυτό που έγραψε στο χαρτί αλλά κάτι άλλο.

Σχολιάζω λίγο την τελευταία παράγραφο...

Είναι πρόβλημα να αλλάξει ο μαθητής ελαφρώς μια λύση σε ψευδογλώσσα ώστε να είναι συμβατή με τη ΓΛΩΣΣΑ και δεν είναι πρόβλημα να κάνει τους παραπάνω συλλογισμούς;;; :D Χρειάζονται  σαφώς κάποιες διευκρινίσεις για την ψευδογλώσσα...
Θωμάς Σκυλογιάννης

- Ζήσε σα να' ταν να πεθάνεις αύριο. Μάθε σα να' ταν να ζεις για πάντα.
                                                                                     Μαχάτμα Γκάντι

gpapargi

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

sstergou

Δεν είμαι σίγουρος ότι συμφωνώ για όλες τις περιπτώσεις. Σε έναν αλγόριθμο δεν παίζει ρόλο μόνο το πλήθος των βημάτων.

Πιστεύω πως πρέπει να ωθούμε τα παιδιά σε κομψές λύσεις με λίγα βήματα αλλά και που να μοντελοποιούν κατάλληλα το πρόβλημα και να είναι επεκτάσιμες. Ένα από τα χαρακτηριστικά της πληροφορικής είναι και η διαχείριση της πολυπλοκότητας των αλγορίθμων. Η συγκεκριμένη λύση που προτάθηκε έμπλεκε όλα τα ζητούμενα μαζί, δεν ήταν επεκτάσιμη και δεν μοντελοποιούσε κατάλληλα τα δεδομένα.

Νομίζω ότι κάποιος λογικός προγραμματιστής θα έλυνε το θέμα με πίνακα. Τουλάχιστον εγώ αυτό θα έκανα.

edit: Δεν μπορούμε να στηριζόμαστε σε τεχνικές λεπτομέρειες υλοποίησης για να περάσουμε έμμεσα ζητήματα όπως η διαχείριση μνήμης και η αποδοτικότητα. Αυτά τα σημαντικά ζητήματα πρέπει να περαστούν στο μάθημα με άμεσο και ρητό τρόπο. Νομίζω ότι χρησιμοποιούμε ένα "παράθυρο" του νόμου για να περάσουμε αυτό που θέλουμε.

Νίκος Αδαμόπουλος

Παράθεση από: gpapargi στις 16 Ιουν 2010, 09:56:39 ΠΜ
Παιδιά η γνώμη μου είναι ότι όπως ακριβώς πρέπει να μας απασχολεί το πλήθος των βημάτων έτσι πρέπει να μας απασχολεί και η περιττή μνήμη. Δηλαδή αν ξέρουμε το πλήθος των στοιχείων, παρά το ότι η λύση με πίνακα δίνει σωστά αποτελέσματα, θα πρέπει να διδάσκουμε τους μαθητές να μην το κάνουν και να κόβουμε βαθμούς για αυτό. Διαφορετικά απλά θα τα βάζουν όλα σε πίνακα ακόμα και για την πιο απλή επεξεργασία.

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

Σε μία σύνθετη άσκηση με πολλά ερωτήματα, αν ο μαθητής καταλάβει ότι λύνονται όλα χωρίς πίνακες, τότε η λύση χωρίς πίνακες μπορεί να είναι προτιμότερη  (ακόμα κι αν είναι γνωστό από την εκφώνηση το πλήθος των δεδομένων). Επειδή, όμως, συνήθως τέτοιες ασκήσεις έχουν ερωτήματα κλιμακούμενης δυσκολίας, τι θα γίνεται αν υπάρχει ένα πιο δύσκολο ερώτημα που ο μαθητής δεν μπορεί να διακρίνει αν λύνεται και χωρίς πίνακες; Π.χ. στο 4ο φετινό θέμα υπήρχαν και λύσεις χωρίς πίνακες. Τι γίνεται εκεί; Προφανώς στις προθέσεις της ΚΕΕ δεν ήταν να πριμοδοτεί εκεί τις λύσεις χωρίς πίνακες!

Όμως σε θέματα εξετάσεων δεν θα ήταν άδικο για τους μαθητές αν από ένα δύσκολο ερώτημα κριθεί η ορθότητα της επιλογής χρήσης πίνακα συνολικά για ολόκληρη την άσκηση; Τι μονάδες θα κόβονταν τότε; Άλλος θα έκοβε για όλα τα ερωτήματα, άλλος όχι για όλα, άλλος πολύ, άλλος λίγο... Δες τι έλεγαν οι συνάδελφοι φέτος για το θέμα Γ (που δεν θεωρούν σωστή τη χρήση πίνακα): άλλος έλεγε να κόψει 1-2 μονάδες, άλλος πολύ περισσότερες, άλλος όλη την άσκηση... Πώς θα μπορούσε να διασφαλιστεί όμοια αντιμετώπιση των λύσεων από τους βαθμολογητές;

Με όλα τα παραπάνω θέλω να πω πως κι εγώ είμαι υπέρ των περισσότερο κομψών και καλύτερων λύσεων, όμως θα πρέπει με κάποιον τρόπο να έχουμε όλοι, διδάσκοντες και μαθητές, ένα κοινό σημείο αναφοράς. Με ποιον τρόπο; Ίσως με αλλαγή εξεταστέας ύλης, με βελτίωση ή αλλαγή του βιβλίου, με σαφέστερο καθορισμό του τρόπου βαθμολόγησης, με σύσταση σώματος βαθμολογητών, με ... με... ας βρεθεί ο τρόπος! Η αλήθεια όμως είναι ότι με τις υπάρχουσες συνθήκες δεν μπορούν να γίνουν πολλά πράγματα παρά μόνο βελτίωση στα σημεία...

gpapargi

Χμμμ... θυμίζει έντονα τη συζήτηση πριν από 3 χρόνια.
https://alkisg.mysch.gr/steki/index.php?topic=988.0

Αν θυμάμαι καλά είχα κάνει τότε μια προσπάθεια για να φτιαχτεί μια πρόταση του πόσο θα πρέπει να χρεώνει κάθε τι. Θέλει σίγουρα να το δούμε το πράγμα συγκροτημένα. Μην ξεχνάμε ότι όταν οι συγγραφείς φτιάχνουν το βιβλίο δεν έχουν στο νου τους τις εξετάσεις. Δεν πρόκειται να γράψουν αυτοί μέσα τι πρέπει να κόβεται σε κάθε λάθος (το πολύ πολύ να γράψουν κάτι σαν την παράγραφο 9.2) Αυτά πρέπει να τα κάνουμε εμείς μετά.

Αθανάσιος Πέρδος

Παράθεση από: Νίκος Αδαμόπουλος στις 15 Ιουν 2010, 01:27:35 ΜΜ

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

Και σίγουρα έχουν μείνει ερωτήματα που δεν απαντήθηκαν. Όπως π.χ. ότι τα δεδομένα της άσκησης ήταν τέτοια που να προκύπτει (μικρό και λογικό) άνω όριο στον πίνακα... Anyway...

(Σημ.: Δεν θεωρώ ότι όλες οι ασκήσεις πρέπει να λύνονται με πίνακες)

Δεν νομίζω ότι υπάρχει κάποιος που θα διδάξει ότι όλα γίνονται με πίνακες. Σε αυτό θεωρώ ότι συμφωνούν όλοι.
Δεν νομίζω επίσης ότι θα υπάρξει ευθεία απάντηση στο γεγονός με το άνω όριο που προκύπτει στον πίνακα λόγω δεδομένων της άσκησης, από όσους υποστηρίζουν τόσο ένθερμα τη μη χρήση πίνακα στο θέμα Γ και την αδικία που υφίστανται οι μαθητές που το έλυσαν χωρίς πίνακα για δύο λόγους.
1. η απάντηση είναι προφανής
2. αναιρεί το σκεπτικό της ΚΕΕ. Άρα η ΚΕΕ αδικεί τους μαθητές που το έλυσαν με πίνακα με την οδηγία της.

Λοιπόν όλα τα επιχειρήματα είναι με βάση παραδοχές και πιστεύω ότι έγινε και πολύ συζήτηση κυρίως για την άσκηση με τις δυνάμεις. Όμως το συγκεκριμένο παράδειγμα είναι εκτός ύλης. Σε ότι αφορά λοιπόν την ύλη όπως την ορίζει το υπουργείο έχουμε:

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

"Pseudocode is a kind of structured english for describing algorithms. It allows the designer to focus on the logic of the algorithm without being distracted by details of language syntax.  At the same time, the pseudocode needs to be complete.  It describe the entire logic of the algorithm so that implementation becomes a rote mechanical task of translating line by line into source code. "

@ Vangelis
Εσύ συνάδερφε καταλαβαίνεις από τα παραπάνω ότι δεν μπορεί να χρησιμοποιηθεί πίνακας στη λύση του Γ Θέματος.
Εγώ καταλαβαίνω ότι μπορεί. Για παράδειγμα αν γράφω σε C++ ο πίνακας ορίζεται με μια γραμμή. Άρα η παραδοχή σου είναι ότι η ψευδογλώσσα του βιβλίου διδάσκεται μόνο για να υλοποιηθεί ο αλγόριθμος σε ΓΛΩΣΣΑ.

Παραδοχή 2. Όλες οι επιδόσεις είναι διαφορετικές μεταξύ τους.
Παρά πολλές ασκήσεις βασίζονται στη συγκεκριμένη παραδοχή. Το Γ θέμα αν δεν την έβαζε θα ήταν αδύνατο να λυθεί χωρίς πίνακα αφού υπήρχε η περίπτωση να έχουν περισσότεροι του ενός την ίδια μέγιστη επίδοση. Δηλαδή για να αναγκάσουμε τους μαθητές να έχουν δημιουργική και όχι κριτική σκέψη όπως σωστά αναφέρει ο sdoukakis τους βάζουμε να αποδεκτούν κάτι δεν μπορεί να ισχύσει στον πραγματικό κόσμο. Στη φυσική, ναι όλες οι ασκήσεις θεωρούν ιδανικές συνθήκες που όμως σε εργαστήριο είναι δυνατόν και να επιτευχθούν. Σε ένα σενάριο όμως που αφορά την επιστήμη της πληροφορικής και που υπάρχουν αθλητές και μετριούνται οι επιδόσεις τους είναι κατά την άποψη μου λίγο αυθαίρετο για να μην το χαρακτηρίσω αντιεπιστημονικό και αντιπαιδαγωγικό, να αναγκάζεις τους μαθητές να αποδεχτούν κάτι που στην πραγματικότητα δεν ισχύει, απλά και μόνο για να την λύσουν με τον τρόπο που εσύ περιμένεις. Το συγκεκριμένο λοιπόν θέμα όχι μόνο δεν προήγαγε την αλγοριθμική σκέψη αλλά βοηθούσε όσους είχαν μάθει μια προγραμματιστική τεχνική για την αντιμετώπιση ασκήσεων μεγίστου - ελαχίστου με άγνωστο πλήθος δεδομένων. Δεν έχω κανένα πρόβλημα να στείλω τις σημειώσεις μου και τις ασκήσεις που βάζω για αυτού του τύπου τις ασκήσεις.
@sergio αυτή τη στιγμή τη λέω και στον εαυτό μου για το θέμα που ανάρτησα. Αν και δεν αποτελεί δικαιολογία ακολουθώ και εγώ την λογική των βοηθημάτων που έχουν αντίστοιχες και δυστυχώς τη βρήκαμε μπροστά μας και στο Γ Θέμα. Συνεχίζω να περιμένω την απάντηση σου.

Καλό καλοκαίρι σε όλους.

Sergio

Παράθεση από: aperdos στις 17 Ιουν 2010, 12:43:54 ΠΜ
@sergio ... Συνεχίζω να περιμένω την απάντηση σου.

ουφ.. με πιέζεις οπότε δε θα μπορέσω να δώσω πλήρη απάντηση..

Ήθελα να βρω το χρόνο να τοποθετηθώ εμπεριστατωμένα στο σύνολο των απόψεων που έχουν διατυπωθεί (αν και το έχω ήδη κάνει άτυπα με τα προηγούμενα posts), όμως δεν το βλέπω να γίνεται οπότε θα αρκεστώ να «απαντήσω» μόνο στα συγκεκριμένες ερωτήματα που έθεσες στο τελευταίο σου (προς εμένα) μήνυμα.

Παράθεση από: aperdos στις 10 Ιουν 2010, 10:38:38 ΜΜ
@sergio
Αν δεχόμαστε ότι η ψευδογλώσσα ακολουθεί τους κανόνες της Γλώσσας σε ότι αφορά τους πίνακες και που υπάρχει αυτό μέσα στο διδακτικό πακέτο.
ΝΑΙ, οφείλουμε να το δεχτούμε στο πλαίσιο του μαθήματος:

Οι πίνακες ορίζονται αρχικά στη σελίδα 56 (παρ.3.3. Πίνακες): «Με τον όρο στατική δομή εννοείται ότι το μέγεθος της απαιτούμενης κύριας μνήμης καθορίζεται κατά τη στιγμή του προγραμματισμού ... και όχι κατά τη στιγμή της εκτέλεσης ... Στην πράξη, οι στατικές δομές υλοποιούνται με πίνακες που μας είναι γνωστοί από άλλα μαθήματα και υποστηρίζονται από κάθε γλώσσα προγραμματισμού». Αν και κακοδιατυπωμένος ο «ορισμός» που δίνεται, είναι σίγουρα σαφής. Στο σημείο που δίνεται, δεν έχει γίνει ακόμα καμία αναφορά σε ΓΛΩΣΣΑ.  Επομένως αφορά -κατά το βιβλίο- γενικά στο μοντέλο που πρέπει να έχουν οι μαθητές για τους πίνακες και δεν εξειδικεύεται στη ΓΛΩΣΣΑ.

Η χρήση των όρων «προγραμματισμού / εκτέλεσης» δεν πρέπει να εκληφθεί ως έμμεση (και αποκλειστική) αναφορά σε πρόγραμμα, αλλά ως κακοδιατυπωμένη αναφορά στις διακριτές φάσεις της «δημιουργίας» και «εκτέλεσης» του αλγόριθμου, σε όποια μορφή αναπαράστασης και αν είναι αυτός (διαγραμματική, κωδικοποιημένη σε ψευδογλώσσα, ή σε ΓΛΩΣΣΑ)

Ασφαλώς, ισχύει η γενική οδηγία που δίνεται λίγο νωρίτερα στο τέλος του κεφαλαίου 2 (σελ.72 – βιβλίο καθηγητή) σχετικά με τις δηλώσεις των τύπων των μεταβλητών : «στο ρεπερτόριο των εντολών της ψευδογλώσσας δεν υπάρχουν δηλώσεις τύπων δεδομένων των χρησιμοποιούμενων μεταβλητών. Κάτι τέτοιο δεν είναι απαραίτητο στο επίπεδο αλγοριθμικής ψευδογλώσσας. Για παράδειγμα ένας αλγόριθμος που βρίσκει τον ελάχιστο ν αριθμών, είναι ο ίδιος είτε οι αριθμοί είναι ακέραιοι, είτε πραγματικοί..»  Αυτή η οδηγία, μπορεί (και πρέπει) να θεωρηθεί ότι ισχύει και για τους πίνακες, επομένως δεν υπάρχει λόγος δήλωσης του τύπου του πίνακα.

Είναι όμως λάθος να γενικεύσουμε (& παρερμηνεύσουμε) τη συγκεκριμένη οδηγία, θεωρώντας ότι αφού δε χρειάζεται να δηλωθεί o τύπος, δεν πρέπει να είναι γνωστό το μέγεθος πριν αρχίσει η «εκτέλεση» του αλγόριθμου.  Κάτι τέτοιο θα αναιρούσε τον «ορισμό» της σελίδας 56.

Εξάλλου, αν το δούμε και στο πλαίσιο του τελευταίου ερωτήματος του θέματος Γ, δε μπορούμε να ισχυριστούμε (κατ' αντιστοιχία με την πρόταση του βιβλίου καθηγητή που αναφέρθηκε παραπάνω) ότι: «ένας αλγόριθμος που βρίσκει τη σχετική θέση ενός αριθμού ανάμεσα σε ν αριθμούς, είναι ο ίδιος είτε οι αριθμοί είναι σε πίνακα είτε όχι..», απόδειξη η διαφορετικότητα τόσο της σκέψης όσο και της λύσης του συγκεκριμένου ερωτήματος στη περίπτωση της χρήσης πίνακα και στην περίπτωση της μη χρήσης πίνακα.

Παρεπιμπτόντως, σε αυτό τον «ορισμό» (της σελίδας 56) αναφερόμουνα στην πρώτη μου τοποθέτηση που προκάλεσε και την αρχική σου αντίδραση:
Παράθεση από: Sergio στις 10 Ιουν 2010, 04:07:39 ΜΜ
Με αυτό τον αριθμό μονάδων "βαθμολογήθηκε" η εξέταση του διδακτικού στόχου που έμμεσα προκύπτει από το υλικό του 3ου κεφαλαίου του σχολικού βιβλίου, στόχου που θα μπορούσε να διατυπωθεί ως "να είναι σε θέση ο μαθητής να αντιλαμβάνεται / αποφασίζει εάν είναι δυνατόν να χρησιμοποιηθεί πίνακας".
και όχι στον σαφώς διατυπωμένο στόχο του κεφαλαίου 9 «να αποφασίζει αν είναι απαραίτητη η χρήση πίνακα» που θεώρησες ότι αναφέρομαι:
Παράθεση από: aperdos στις 10 Ιουν 2010, 07:52:18 ΜΜ
Ο διδακτικός στόχος που αναφέρεσε συνάδερφε "να αποφασίζουν αν είναι απαραίτητη η χρήση πίνακα" υπάρχει στο 9ο και όχι στο 3ο κεφάλαιο.

Συνεχίζοντας με τα επόμενα ερωτήματα που έθεσες:

Παράθεση από: aperdos στις 10 Ιουν 2010, 10:38:38 ΜΜ
@sergio
Με βάση το εδάφιο στη σελ 186 του σχολικού βιβλίου σε ότι αφορά το μέγεθος του πίνακα αν ένας μαθητής για το συγκεκριμένο μόνο θέμα σκεφτεί τα εξής:
1.όλες οι επιδόσεις διαφορετικές
2.μικρότερη μονάδα μέτρησης το εκατοστό
3.εξωπραγματική επίδοση τα 20 μέτρα
και το λύσει σε ΓΛΩΣΣΑ με χρήση πίνακα θεωρώντας μεγαλύτερο μέγεθος το 2000, τότε θα θεωρήσουμε την απάντηση του ως επιστημονικά τεκμηριωμένη;

Ο μαθητής που έκανε τις παραπάνω παραδοχές λειτούργησε αυθαίρετα και λάθος. Εκτός από την πρώτη παραδοχή (όλες οι επιδόσεις διαφορετικές) η οποία σαφώς αναφέρεται στη σημείωση της εκφώνησης, οι άλλες δύο (μικρότερη μονάδα μέτρησης το εκατοστό & εξωπραγματική επίδοση τα 20 μέτρα) δεν αναφέρονται πουθενά στην εκφώνηση.

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

Το πλαίσιο κάθε άσκησης δίνεται στην εκφώνηση και ο προσδιορισμός του χώρου του προβλήματος οφείλει να γίνεται με όσα στοιχεία δίνονται στην εκφώνηση και μόνο με αυτά. Αν οι παραδοχές που αναφέρεις, αντί για αυθαίρετη υπόθεση του μαθητή, δινόντουσαν στην εκφώνηση, θα νομιμοποιούταν να χρησιμοποιήσει πίνακα.

Για την κατανόηση του προβλήματος απαιτείται:
- σαφής διατύπωση από την πλευρά του δημιουργού
- σωστή ερμηνεία από τη μεριά εκείνου που καλείται να το αντιμετωπίσει

Η εκφώνηση οφείλει να είναι επαρκής και σαφής και πλήρης. Οφείλει να αναφέρει όλα εκείνα τα στοιχεία που χρειάζονται προκειμένου να προσδιοριστεί ολοκληρωμένα ο χώρος του προβλήματος.

Από τη μεριά του ο μαθητής, οφείλει να βασίσει τη σκέψη του στα στοιχεία που αναφέρει η εκφώνηση και όχι σε προσωπικές (αυθαίρετες) υποθέσεις ή προηγούμενες γνώσεις (λιγότερο ή περισσότερο σχετικές με το χώρο του προβλήματος). Διαφορετικά η επίδοσή του (ή της) θα ήταν (αδίκως) συνάρτηση γνώσεων εκτός του αντικειμένου του μαθήματος. Πολλά κορίτσια δε θα μπορούσαν να απαντήσουν σε θέματα σχετικά με ποδόσφαιρο, αγόρια σε θέματα σχετικά με καλλυντικά κ.ο.κ.

Θυμίζω το «σάλο» που είχε δημιουργηθεί το 2006 με το θέμα 4 (καταγραφή της ημερήσιας θερμοκρασίας για 20 πόλεις, για κάθε μία από τις ημέρες του Μαΐου). Κάποιοι τότε είχαν υποστηρίξει ότι θα έπρεπε να θεωρηθεί ελλιπής απάντηση που όριζε τον πίνακα ως Θερμ[20, 30] αντί για Θερμ[20, 31]. Το επιχείρημα καταρρίφθηκε με το αιτιολογικό ότι «δεν εξετάζεται η γνώση του μαθητή για το πλήθος των ημερών του Μαΐου. Αν ήθελε πίνακα με 31 στήλες, θα έπρεπε η εκφώνηση να το λέει, ή να δίνει τον τρόπο για να το βρει ο μαθητής».

Το δεύτερο (να δίνει τον τρόπο για να το βρει ο μαθητής) έγινε στο θέμα 4 των επαναληπτικών εξετάσεων του 2007 (άσκηση με το πτηνοτροφείο) όπου δινόταν (σε ελεύθερο κείμενο) ο αλγόριθμος υπολογισμού του αριθμού των ημερών για κάθε μήνα, οπότε ήταν δυνατή η χρήση πίνακα με το «μεγαλύτερο αριθμό στοιχείων» Παραγωγή[12, 31] και γέμισμα της κάθε γραμμής κατάλληλα.
Απ τη μια η θητεία μου σε σχολικές αίθουσες: να φλυαρώ - να ελπίζω πως κατι κατάλαβαν - να εξερευνώ - να μαθαίνω. Απ την άλλη, σχεδόν συνομήλικη, η Διδακτική της Πληροφορικής: ερευνά διαδικασίες μάθησης - φλερτάρει με την Ψυχολογία - με καλεί να αφήσω το βλέμμα του Πληροφορικού και να δω με τα μάτια του δασκάλου. Τέκνα των 2, οι απόψεις μου.. (προσαρμοσμένο από τον πρόλογο του βιβλίου "Το μακρόν Φυσική προ του βραχέως διδάσκω" του Ανδρέα Κασσέτα)

Vangelis

Συνάδελφε
μια και κανείς δεν μεταφράζει το "Pseudocode is a kind of structured english for describing algorithms. It allows the designer to focus on the logic of the algorithm without being distracted by details of language syntax.  At the same time, the pseudocode needs to be complete.  It describe the entire logic of the algorithm so that implementation becomes a rote mechanical task of translating line by line into source code. "
ας επιχειρήσω εγώ μια μετάφραση
Ψευδοκώδικας είναι  ένα είδος δομημένων αγγλικών (προτάσεων) για την περιγραφή αλγορίθμων.  Επιτρέπει στον σχεδιαστή να επικεντρωθεί στην λογική του αλγορίθμου χωρίς να διασπά την προσοχή του με λεπτομέρειες σύνταξης της γλώσσας.  Από την άλλη πλευρά ο ψευτοκώδικας πρέπει να είναι πλήρης.  Θα πρέπει δηλαδή να περιγραφεί την συνολική λογική του αλγορίθμου έτσι ώστε η υλοποίησή του να γίνεται με μια μηχανική διαδικασία μετάφρασής του γραμμή – γραμμή σε πηγαίο κώδικα.   

Για να μπορεί λοιπόν να μετατραπεί σε πηγαίο κώδικα δεν μπορεί να έχει άλλη λογική ο ψεοδοκώδικας και άλλη ο κώδικας.

Τελευταία απάντησή μου στο θέμα γιατί παρατράβηξε (να μην πω καμιά βαρύτερη κουβέντα)
έλα στο ουζάκι που θα κανονίσουμε

Σπύρος Δουκάκης

Συνάδελφοι έχει και το βιβλίο στο γλωσσάρι τον όρο ψευδοκώδικας (σ. 331).

Παράθεσηψευδοκώδικας pseudocode: Τρόπος αποτύπωσης αλγορίθμων με χρήση προκαθορισμένων λέξεων κλειδιών.

Επίσης έχει συζητηθεί και παλαιότερα ο σχετικός όρος

https://alkisg.mysch.gr/steki/index.php?topic=2337.msg18805

Αθανάσιος Πέρδος

@ sergio
Με κάλυψες

Του χρόνου πέρα από την εισαγωγή που κάνουμε στους μαθητές ότι πρόκειται για ένα μάθημα που συναντούν πρώτη φορά στη ζωή τους εκτός από αυτούς που ήταν τυχεροί και πήραν μια γεύση στην τρίτη γυμνασίου θα λέω και τα εξής:

Η ψευδογλώσσα είναι στην ουσία μια γλώσσα προγραμματισμού και αν και δεν το λέει πουθενά στο βιβλίο είναι ίδια με τη Γλώσσα που όμως θα τη δείτε αργότερα, απλά δεν δηλώνουμε μεταβλητές. Όταν πάμε στη Γλώσσα δηλώνετε και τις μεταβλητές και καθαρίσατε. Αν θέλετε να είστε καλυμμένοι για τις εξετάσεις αυτό και μόνο αυτό θα έχετε στο μυαλό σας. Μάλιστα από φέτος για να μην σας ζαλίζω εγώ θα σας διδάξω μόνο Γλώσσα. Έτσι δεν θα έχετε κανένα πρόβλημα σε ότι θέμα σας βάλει η ΚΕΕ. Εξάλλου το βιβλίο είναι κακοδιατυπωμένο όποτε έτσι  τα πράγματα θα είναι και πιο εύκολα για όλους μας.   

Παράθεση από: Sergio στις 17 Ιουν 2010, 06:49:57 ΜΜ

Για την κατανόηση του προβλήματος απαιτείται:
- σαφής διατύπωση από την πλευρά του δημιουργού
- σωστή ερμηνεία από τη μεριά εκείνου που καλείται να το αντιμετωπίσει

Η εκφώνηση οφείλει να είναι επαρκής και σαφής και πλήρης. Οφείλει να αναφέρει όλα εκείνα τα στοιχεία που χρειάζονται προκειμένου να προσδιοριστεί ολοκληρωμένα ο χώρος του προβλήματος.

Από τη μεριά του ο μαθητής, οφείλει να βασίσει τη σκέψη του στα στοιχεία που αναφέρει η εκφώνηση και όχι σε προσωπικές (αυθαίρετες) υποθέσεις ή προηγούμενες γνώσεις (λιγότερο ή περισσότερο σχετικές με το χώρο του προβλήματος). Διαφορετικά η επίδοσή του (ή της) θα ήταν (αδίκως) συνάρτηση γνώσεων εκτός του αντικειμένου του μαθήματος. Πολλά κορίτσια δε θα μπορούσαν να απαντήσουν σε θέματα σχετικά με ποδόσφαιρο, αγόρια σε θέματα σχετικά με καλλυντικά κ.ο.κ.



Επίσης θα λέω με βάση τα παραπάνω, ότι ξέρετε για τον κόσμο που ζείτε ξεχάστε το!!! Θα διαβάζετε καλά την εκφώνηση και με βάση ότι σας λέει θα δουλεύετε. Κάθε απάντηση επιστημονικά τεκμηριωμένη δεν είναι αποδεκτή άσχετα με το τι λέει στις οδηγίες. Αν για παράδειγμα σε θέμα εξετάσεων σας δοθεί η εξής εκφώνηση

Στο άθλημα των 110 μέτρων μετ' εμποδίων, στους δύο ημιτελικούς αγώνες συμμετέχουν δέκα έξι (16) αθλητές (8 σε κάθε ημιτελικό). Σύμφωνα με τον κανονισμό στον τελικό προκρίνεται ο πρώτος αθλητής κάθε ημιτελικού. Η οκτάδα του τελικού συμπληρώνεται με τους αθλητές που έχουν τους έξι (6) καλύτερους χρόνους απ' όλους τους υπόλοιπους συμμετέχοντες. Να θεωρήσετε ότι δεν υπάρχουν αθλητές με ίδιους χρόνους.

να ζητήσετε με διευκρίνηση τι θα πει καλύτερος χρόνος.

Την ίδια τακτική να ακολουθήσετε αν σας δοθεί η παρακάτω εκφώνηση

Σε κάποιο σχολικό αγώνα, για το άθλημα «Άλμα εις μήκος»
καταγράφεται για κάθε αθλητή η καλύτερη έγκυρη επίδοσή
του. Τιμής ένεκεν, πρώτος αγωνίζεται ο περσινός
πρωταθλητής. Η Επιτροπή του αγώνα διαχειρίζεται τα
στοιχεία των αθλητών που αγωνίστηκαν.
Να γράψετε αλγόριθμο ο οποίος:
Γ1. Να ζητάει το ρεκόρ αγώνων και να το δέχεται, εφόσον
είναι θετικό και μικρότερο των 10 μέτρων.
Μονάδες 2
Γ2. Να ζητάει τον συνολικό αριθμό των αγωνιζομένων και
για κάθε αθλητή το όνομα και την επίδοσή του σε μέτρα
με τη σειρά που αγωνίστηκε.
Μονάδες 4
Γ3. Να εμφανίζει το όνομα του αθλητή με τη χειρότερη
επίδοση.
Μονάδες 4
Γ4. Να εμφανίζει τα ονόματα των αθλητών που κατέρριψαν
το ρεκόρ αγώνων. Αν δεν υπάρχουν τέτοιοι αθλητές, να
εμφανίζει το πλήθος των αθλητών που πλησίασαν το
ρεκόρ αγώνων σε απόσταση όχι μεγαλύτερη των 50
εκατοστών.
Μονάδες 6
Γ5. Να βρίσκει και να εμφανίζει τη θέση που κατέλαβε στην
τελική κατάταξη ο περσινός πρωταθλητής.
Μονάδες 4
Σημείωση: Να θεωρήσετε ότι κάθε αθλητής έχει έγκυρη
επίδοση και ότι όλες οι επιδόσεις των αθλητών που
καταγράφονται είναι διαφορετικές μεταξύ τους.

Δηλαδή να ζητήσετε με διευκρίνηση  τι θα πει καλύτερη και τι χειρότερη επίδοση και τι ακριβώς θεωρείται ρεκόρ αγώνων. Επίσης τα μέτρα που μετριέται η επίδοση δεν είναι μέτρα αλλά μπορεί να είναι εκατοστά αφού το λέει παρακάτω στα ερωτήματα, μπορεί όμως να είναι και χιλιοστά ή εκατομυριοστά του μέτρου. Ζητείστε για καλό και κακό μια διευκρίνηση γιατί αν σκεφτείτε τίποτα έξυπνο την πατήσατε.

Να έχετε λοιπόν στο μυαλό σας ότι και στην ΚΕΕ άνθρωποι είναι και μπορεί σε κάτι να κάνουν λάθος ή κάτι να ξεχάσουν. Αν όμως δεν σας δώσουν απάντηση να κινηθείτε νομικά γιατί δεν ορίζονταν επαρκώς ο χώρος του προβλήματος κατί που το λέει και στο βιβλίο.

Και πριν σου ευχηθώ καλό καλοκαίρι γιατί το κουράσαμε πολύ νομίζω το θέμα, θα ήθελα να σκεφτείς αν "λέμε υποθετικά" ήσουν στη ΚΕΕ, θα έστελνες διευκρίνηση στα παραπάνω ερωτήματα.
Εγώ πάντως όχι.

Καλό καλοκαίρι



Νίκος Αδαμόπουλος

Παράθεση από: Sergio στις 17 Ιουν 2010, 06:49:57 ΜΜ
Ο μαθητής δεν υποχρεούται να γνωρίζει (ούτε δικαιούται να υποθέσει) οτιδήποτε εκτός από αυτά που ρητά αναφέρονται στην εκφώνηση.  Σε αντίθετη περίπτωση λύνει ένα άλλο πρόβλημα από αυτό που του έχει δοθεί.

Το πλαίσιο κάθε άσκησης δίνεται στην εκφώνηση και ο προσδιορισμός του χώρου του προβλήματος οφείλει να γίνεται με όσα στοιχεία δίνονται στην εκφώνηση και μόνο με αυτά. Αν οι παραδοχές που αναφέρεις, αντί για αυθαίρετη υπόθεση του μαθητή, δινόντουσαν στην εκφώνηση, θα νομιμοποιούταν να χρησιμοποιήσει πίνακα.

Για την κατανόηση του προβλήματος απαιτείται:
- σαφής διατύπωση από την πλευρά του δημιουργού
- σωστή ερμηνεία από τη μεριά εκείνου που καλείται να το αντιμετωπίσει

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

Δεν υπάρχει πουθενά καταγεγραμμένο ότι ο μαθητής "ούτε δικαιούται να υποθέσει" και ότι σίγουρα η εκφώνηση πάντα θα "αναφέρει όλα εκείνα τα στοιχεία που χρειάζονται προκειμένου να προσδιοριστεί ολοκληρωμένα ο χώρος του προβλήματος"...

Από την άλλη στις σελ. 11-12 του βιβλίου γράφει:

ΠαράθεσηΘα πρέπει να δοθεί μεγάλη προσοχή στην ανίχνευση των δεδομένων ενός προβλήματος. Επισημαίνεται πως δεν είναι πάντοτε εύκολο να διακρίνει κάποιος τα δεδομένα. Υπάρχουν πολλές περιπτώσεις προβλημάτων όπου τα δεδομένα θα πρέπει να "ανακαλυφθούν" μέσα στα λεγόμενα του προβλήματος. Η διαδικασία αυτή απαιτεί προσοχή, συγκέντρωση και σκέψη. Μεθοδολογία προσδιορισμού των δεδομένων ενός προβλήματος δεν υπάρχει, ούτε και μεθοδολογία εντοπισμού και αποσαφήνισης των ζητούμενων ενός προβλήματος.

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

Νίκος Αδαμόπουλος

Να ρωτήσω και κάτι άλλο (φαινομενικά άσχετο): Θεωρείτε ισοδύναμα τα παρακάτω δύο τμήματα;

α)
...
Διάβασε α
Διάβασε β
<εντολές>
Εμφάνισε κ
Εμφάνισε λ
...

β)
...
Διάβασε β
Διάβασε α
<εντολές>
Εμφάνισε λ
Εμφάνισε κ
...

Να σας πω την αμαρτία μου, εγώ πάντα λέω στους μαθητές:

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

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


Είμαι υπερβολικός με το παραπάνω; Θα ήθελα τη γνώμη σας...

mour

Θεωρώ ότι εξαρτάται από την άσκηση. Έτσι γενικά όπως έχει δοθεί το παράδειγμα δε βγαίνουν ασφαλή συμπεράσματα. Σε γραπτά είδα πχ να διαβάζουν τα ονόματα των αθλητών και μετά με ΑΛΛΟ loop να διαβάζουν τις επιδόσεις...

Vangelis

Προτέινω να βάλουμε τον sergio και τον aperdos σε ένα κλουβί (ρίνγκ) να κλειδώσουμε την πόρτα και να πάμε μετα απο μια εβδομάδα να το ανοίξουμε.  Όποιος έχει επιζήσει έχει (επιστημονικά) δίκαιο!!.

Παρακαλούμε για λίγο έλεος καλοκαιριάτικα όχι άλλα ποστ αυτού του είδους.

Αθανάσιος Πέρδος

Το να πουλάει κάποιος πνεύμα είναι εύκολο. Το να στηρίξει τα επιχειρήματα του και τις απόψεις του είναι το δύσκολο.

Κάποιοι εδώ μέσα που μεταφράζουν από τα αγγλικά κάτι που βρήκαν στο internet και προσπαθούν να μας πείσουν για την ορθότητα των απόψεων τους ενώ παραβλέπουν τη διεθνή βιβλιογραφία, κρίνουν ότι η επιστημονικότητα των άλλων αποδεικνύεται στο ρινγκ.

Ας είναι.

Vangelis

Κάποιοι προσπαθούν να το τελειώσουν εσύ συνεχίζεις.... συνέχισε   
τέλος 

gpapargi

Παράθεση από: sdoukakis στις 17 Ιουλ 2010, 12:07:18 ΜΜ
Έτσι, υποχρεώνονταν οι μαθητές να αναπτύξουν το τμήμα προγράμματος με χρήση δομών επανάληψης, ενώ θα μπορούσε να αντιμετωπιστεί το ερώτημα και με δομή ακολουθίας.

Αλήθεια γιατί κάτι τέτοιο δεν μπορούσε να γίνει και στις κανονικές των ημερησίων με το τρίτο θέμα; Θα είχαν λυθεί όλα τα προβλήματα που δημιουργήθηκαν από την επιλογή της επιτροπής... Έτσι, αν έλεγε με αποκλειστική χρήση δομής επανάληψης ή χωρίς τη χρήση πίνακα... δεν θα είχε υπάρξει όλη αυτή η αναστάτωση...

Αν κάποιος θέλει να δημιουργήσει πρόβλημα θα το κάνει όπως θέλει και μετά θα επικαλεστεί το ότι κάθε λύση επιστημονικά τεκμηριωμένη είναι αποδεκτή. Μετά θα μπει ανώνυμα στο troktiko και θα κάνει σαματά και στη συνέχεια θα μπει επίσης ανώνυμα στο στέκι και θα δείξει το link στο troktiko και θα πει «ορίστε, γίναμε θέμα και εκεί».

Και επειδή, όπως επιβεβαιώθηκε πρόσφατα, στην Ελλάδα το σωστό και το λάθος καθορίζονται με ψηφοφορίες «δια βοής» (όποιοι φωνάξουν περισσότερο έχουν αυτομάτως και δίκιο), θα θεωρηθεί λάθος της επιτροπής και θα την αλλάξουν την επόμενη χρονιά. Η νέα επιτροπή προφανώς φοβισμένη (για να μην πω τίποτε άλλο), θα προσπαθήσει να βάλει αυτό που θέλουν οι πολλοί έτσι ώστε να μην ακουστούν παράπονα. Και κάπως έτσι θα έχουμε για τα επόμενα χρόνια θέματα της πλάκας όπως πχ έγινε και στη φυσική. 

Σπύρος Δουκάκης

Χαίρομαι που για μια ακόμη φορά συμφωνούμε σε μη επιστημονικό ζήτημα. Ωστόσο θεωρώ ότι είναι σημαντικό να προφυλάξουμε τον κλάδο των εκπαιδευτικών πληροφορικής όχι μόνο από ανώνυμα μηνύματα, αλλά και από επώνυμα μηνύματα που δεν αντιστοιχούν σε πραγματικά ονοματεπώνυμα εκπαιδευτικών, όπως αυτά στο alfavita και στο Στέκι.
Τέλος, όσον αφορά το επιστημονικό άλμα της επιτροπής εξετάσεων, υπάρχουν και οι επιστημονικές ενώσεις του κλάδου όπου έχουν αποφανθεί για το συγκεκριμένο θέμα. Οι προσωπικές μας απόψεις είναι σεβαστές, αν και παραμένουν προσωπικές.

Παράθεση από: sdoukakis στις 29 Μαΐου 2010, 02:04:41 ΠΜ
Συνάδελφοι,

ας προφυλάξουμε τον κλάδο μας και το μάθημα.

Τα μνμ σε
δημοσιοκαφρικά
δημοσιογραφικά blogs δεν συνεισφέρουν σε κάτι...

Παράθεση από: gpapargi στις 19 Ιουλ 2010, 11:49:09 ΠΜ
Αν κάποιος θέλει να δημιουργήσει πρόβλημα θα το κάνει όπως θέλει και μετά θα επικαλεστεί το ότι κάθε λύση επιστημονικά τεκμηριωμένη είναι αποδεκτή. Μετά θα μπει ανώνυμα στο troktiko και θα κάνει σαματά και στη συνέχεια θα μπει επίσης ανώνυμα στο στέκι και θα δείξει το link στο troktiko και θα πει «ορίστε, γίναμε θέμα και εκεί».


gpapargi

Παράθεση από: sdoukakis στις 22 Ιουλ 2010, 03:52:51 ΜΜ
Τέλος, όσον αφορά το επιστημονικό άλμα της επιτροπής εξετάσεων, υπάρχουν και οι επιστημονικές ενώσεις του κλάδου όπου έχουν αποφανθεί για το συγκεκριμένο θέμα. Οι προσωπικές μας απόψεις είναι σεβαστές, αν και παραμένουν προσωπικές.

Εμένα πάντως με απογοήτευσε ο σχολιασμός που έγινε από την ΕΠΥ και από την ΠΕΚΑΠ.

Η ΕΠΥ δείχνει να μην καταλαβαίνει κάποια πράγματα... και δεν εννοώ το θέμα 3 (που δεν αντιλαμβάνεται ότι ούτε η τιμή φρουρός θα απέφευγε το πραγματικό πρόβλημα που οδήγησε στη συζήτηση). Εννοώ το σχόλιό της στο θέμα Α3 που κάνει λόγο για άστοχα ονόματα μεταβλητών. Αφού ζητάει από το μαθητή να καταλάβει τη λειτουργία τους, είναι δυνατόν να δώσει εύστοχα ονόματα; Κάτι τέτοιο θα μαρτυρούσε την απάντηση. Έλεος.
http://www.epy.gr/modules.php?name=News&file=article&sid=273


Αλλά και η ΠΕΚΑΠ μου φάνηκε εντελώς διπλωματική στο σχολιασμό της. Έδωσε κάτι σαν τη «Σολομώντεια λύση». Κάτι σαν να μη θέλει να απογοητεύσει κανέναν. Εμένα μου αρέσουν οι καθαρές θέσεις και όχι οι «πολιτικές».
Το χώρισε σε «επιστημονικό» και «παιδαγωγικό» μέρος, κατέληξε στο ότι αυτά τα 2 οδηγούν σε διαφορετικά συμπεράσματα (αν ισχύει κάτι τέτοιο τότε μάλλον δε βαδίζουμε σωστά) και τελικά όλοι έχουν από λίγο δίκιο και δε μαλώνει κανένας με κανέναν. Έλεος και με αυτούς. Σχολιασμός θεμάτων τους είπαμε να κάνουν. Όχι να κρατήσουνε μονιασμένο τον κλάδο σα συνδικαλιστές. Είναι ποτέ δυνατό να είναι παιδαγωγικά σωστό κάτι που είναι επιστημονικά λάθος;

http://www.pekap.gr/Article.php?CatId=1&ArticleId=163

P.Tsiotakis

Επιστημονικές ενώσεις με σχολιασμό από παιδαγωγικής πλευράς

Vangelis

Παναγιώτη λίγα λόγια αλλα καλά.

(ή ΕΠΥ βιάστηκε η ΠΕΚΑΠ μετά τη θύελα θορύβου έπρεπε να απαντήσει διπλωματικά)

Μια που μείναμε ένα τραπέζι άνθρωποι τι θα γίνει με εκείνο το ουζάκι?
Τι λέτε για την επόμενη Τρίτη βραδάκι μεγάλο Πεύκο ή Πάχη Μεγάρων.

Σπύρος Δουκάκης

Θα σας τα χαλάσω λίγο, αλλά η περίπτωση να έχει κάνει εσφαλμένη επιλογή θέματος η ΚΕΕ ή να βιάστηκε η ίδια η ΚΕΕ στην επιλογή του θέματος δεν "παίζει";

Vangelis

Παράθεση από: sdoukakis στις 23 Ιουλ 2010, 06:24:59 ΜΜ
Θα σας τα χαλάσω λίγο, αλλά η περίπτωση να έχει κάνει εσφαλμένη επιλογή θέματος η ΚΕΕ ή να βιάστηκε η ίδια η ΚΕΕ στην επιλογή του θέματος δεν "παίζει";

Παίζει και αυτό αλλα το ένα δεν αναιρεί το άλλο.
Άσε που η ΚΕΕ βιάζεται σε κάθε περίπτωση γιατί μέσα σε λίγες ώρες πρέπει να ετοιμάσει θέματα που να καλύπτουν ένα πλήθος περιορισμών ή ΕΠΥ δεν έχει τέτοιο πρόβλημα.

gpapargi

Παράθεση από: sdoukakis στις 23 Ιουλ 2010, 06:24:59 ΜΜ
Θα σας τα χαλάσω λίγο, αλλά η περίπτωση να έχει κάνει εσφαλμένη επιλογή θέματος η ΚΕΕ ή να βιάστηκε η ίδια η ΚΕΕ στην επιλογή του θέματος δεν "παίζει";

Πιο παλιά είχα γράψει ότι το αν το θέμα είναι σωστό η λάθος καθώς και ποιος φταίει έχει να κάνει με τον τρόπο που η ψευδογλώσσα θεωρεί ότι λειτουργούν οι πίνακες. Οι 3 πιθανές περιπτώσεις είναι οι εξής:

Παράθεση από: gpapargi στις 14 Ιουν 2010, 11:45:03 ΠΜ
1) Τους θεωρεί αφηρημένες δομές δεδομένων χωρίς άνω όριο.
2) Τους θεωρεί στατικές δομές όπως περιγράφει στη σελίδα 56 (δηλαδή το μέγεθος καθορίζεται κατά τη μεταγλώττιση)
3) Τους θεωρεί στατικές δομές και το μέγεθος καθορίζεται κατά την εκτέλεση αλλά μετά δεν αλλάζει (όπως πχ η C).

Το θέμα Γ των εξετάσεων είναι λάθος αν ισχύει το 1. Αλλά σε αυτή την περίπτωση και οι ασκήσεις με τιμή φρουρό (και χρήση Όσο) λύνονται με πίνακα (κάτι που γενικά όλοι αποφεύγουν να που ότι ισχύει γιατί παραπέμπει σε δυναμικούς πίνακες). Επίσης σε αυτή την περίπτωση θα πρέπει η συγγραφική ομάδα να εξηγήσει πως προκύπτει κάτι τέτοιο μέσα από το διδακτικό πακέτο και κυρίως πως δένει με αυτά που γράφει για τους πίνακες στη σελίδα 56 του σχολικού βιβλίου.

Νίκος Αδαμόπουλος

Γιώργο, και η περίπτωση 1 ... αλλά και η περίπτωση 3 καλύπτουν τη λύση με πίνακα!

Επίσης, αν κάποιος θεωρήσει ένα δικό του άνω όριο (που για πολλούς συναδέλφους που τοποθετήθηκαν σχετικά, δεν αποτελεί αυθαιρεσία κάτι τέτοιο αφού μιλάμε για συγκεκριμένο πρόβλημα), τότε ακόμα και η περίπτωση 2 μας καλύπτει, ακόμα και για υλοποίηση σε ΓΛΩΣΣΑ...

Μου φαίνεται θα καθίσω και θα το φτιάξω το κείμενο που έλεγα πιο πάνω (στο: https://alkisg.mysch.gr/steki/index.php?topic=3091.msg31157#msg31157 )

Vangelis

Μια που μιλάμε για κέιμενα ετοιμάζω και εγώ ένα για την έννοια του //Δεδομένα// και αν αυτό πρέπει να θεωρείται ισοδύναμο με την ενολή(ες) Διάβασε.
(Σε απάντηση σχετικού άρθρου του φίλου του Κοίλια)

gpapargi

Όχι Νικ, αυτό είναι που προσπαθώ να πω τόσο καιρό. Το σενάριο 3 δεν παίζει γιατί υπάρχει μια πολύ σημαντική διαφορά με τη C. Στη C όταν δηλώνεται το μέγεθος του πίνακα κατά την εκτέλεση συμβαίνει κάτι πολύ συγκεκριμένο στη μνήμη του υπολογιστή: δεσμεύεται χώρος για τον πίνακα ο οποίος στη συνέχεια δεν μπορεί να αλλάξει. Αλλά στην ψευδογλώσσα αυτό δε συμβαίνει. Το να γράψεις Δεδομένα //ν// δε σημαίνει τίποτα για το μέγεθος του πίνακα. Πχ στο τετράδιο μαθητή στο παράδειγμα με τους αραιούς έχει Δεδομένα //ν// αλλά το μέγεθος του πίνακα είναι 3ν. Μετά από Δεδομένα //ν// κάλλιστα μπορείς να πεις Διάβασε α[ν+1] ή
Διάβασε κ
Διάβασε α[ν+κ]
Μόνο μετά το τέλος του κώδικα μπορείς να ξέρεις πόσο μέγεθος είχε τελικά ο πίνακας. Δηλαδή αν δεχτείς το σενάριο 3 επειδή δεν έχεις άνω όριο ουσιαστικά δεν μπορείς να εμποδίσεις χρήση πίνακα ούτε σε ασκήσεις με τιμή φρουρό και Όσο και τελικά καταλήγεις στο 1 που δεν το θέλουμε (τώρα αν θέλουμε το 1 είναι άλλη συζήτηση). Η βασική διαφορά είναι στο ότι στη C υπάρχει συγκεκριμένος μηχανισμός δέσμευσης μνήμης ενώ στην ψευδογλώσσα κάτι τέτοιο δεν υπάρχει και το άνω όριο δε φαίνεται πουθενά.

alkisg

Στη C99: void diadikasia(int A[], int N)
ή ισοδύναμα στην κλασσική C: void diadikasia(int *A, int N)
Στην ψευδογλώσσα: Δεδομένα //Α, Ν//

...δε βλέπω διαφορά... και στα δύο είναι ευθύνη του προγραμματιστή του αλγορίθμου να αποφασίσει τι μέγεθος έχει τελικά ο πίνακας που του δώσανε σαν δεδομένο, Ν, 3*Ν ή οτιδήποτε άλλο.

Εγώ θα πρόσθετα και μια τέταρτη περίπτωση, 4) Τους θεωρεί στατικές δομές και το μέγεθός τους αποφασίζεται κατά την έναρξη της εκτέλεσης του αλγορίθμου ή του υποπρογράμματος (όχι κατά τη διάρκεια - κατά την έναρξη, π.χ. αν πρόκειται για υποπρόγραμμμα, κατά τη δημιουργία της στοίβας των τοπικών μεταβλητών).

Η διαφορά είναι με το (2) είναι η εξής:
Στο (2), το οποίο υλοποιεί η κλασσική Pascal (και υποθέτω και η ΓΛΩΣΣΑ), δεν μπορούμε να δηλώσουμε μια
  procedure Taksinomhse(N: integer; A: array[1..N] of integer)
κι έτσι μειώνεται κατά πολύ η δυνατότητα επαναχρησιμοποίησης των υποπρογραμμάτων.

Στο (4), το οποίο υλοποιεί π.χ. η Fortran (και νομίζω ότι προς τα εκεί κλίνει και η ψευδογλώσσα), μπορούμε να δηλώσουμε πίνακα με f(Ν) στοιχεία, όπου το Ν είναι παράμετρος, κι έτσι μπορούμε να γράφουμε γενικά υποπρογράμματα (χωρίς σταθερές τιμές) χωρίς να χάνεται κάτι από τις στατικές ιδιότητες της δομής.

pgrontas

Νομίζω ότι η συζήτηση για το μέγεθος του πίνακα - πλήθος στοιχείων είναι το λιγότερο σημαντικό και εξυπηρετεί περισσότερο τους τύπους παρά την ουσία. Θεωρώ πιο ισχυρό κριτήριο για την χρήση ή όχι πίνακα πρέπει να αποτελεί η επεξεργασία που γίνεται στις τιμές τις οποίες πρέπει να αποφασίσουμε αν θα βάλουμε ή όχι σε πίνακα.

Όπως ξαναέγραψα, αν μπορείς να φτάσεις στο ζητούμενο χρησιμοποιώντας μία,μία τις τιμές τότε δεν πρέπει να τις βάλεις σε πίνακα (όπως στα παραδείγματα με τον υπολογισμό του μέσου, αθροίσματος κτλ.). Αντίθετα αν πρέπει να δουλέψεις με όλα τα στοιχεία ταυτόχρονα ή πρέπει να κάνεις και δεύτερο πέρασμα τότε είναι που χρειάζεσαι πίνακα.

Η γνώμη μου είναι ότι ένας τέτοιος κανόνας βελτιώνει περισσότερο την κρίση των μαθητών από το να κάθονται να ξεψειρίζουν την εκφώνηση για ανώτατα όρια . Επιπλέον είναι γενικός δηλαδή ανεξάρτητος από υλοποίηση και γλώσσα προγραμματισμού, στατικότητα ή δυναμικότητα.

Νομίζω ότι δεν θα διαφωνήσει κανείς ότι αν ο μαθητής εφαρμόσει σωστά τον παραπάνω κανόνα, καταλαβαίνει τι κάνει και μπορεί να διακρίνει πότε πρέπει να χρησιμοποιεί πίνακα ή όχι. Προφανώς αυτό το κριτήριο και κανένα άλλο, δεν πρέπει να συνεπάγεται την απώλεια όλων των μονάδων σε περίπτωση που δεν χρειάζεται πίνακας και παρόλα αυτά χρησιμοποιηθεί. Το παραπάνω μπορεί να φαίνεται προφανές, αλλά νομίζω ότι αυτό ήταν που οδήγησε στην παρεξήγηση και όχι το 'επίμαχο' θέμα.

Γιατί λοιπόν να μην διδάσκουμε αυτόν τον κανόνα στα παιδιά, που άλλωστε είναι σαφώς διατυπωμένος στο βιβλίο  και καθόμαστε και παιδευόμαστε με το αν είναι γνωστό ή όχι το πλήθος των στοιχείων;

ΥΓ: Νομίζω πάντως ότι είμαστε εκτός τόπου (λάθος thread) και χρόνου (καιρός  για καμιά βουτιά)
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

evry

Νομίζω ότι το (4) που λέει ο Άλκης είναι αυτό ακριβώς που συμβαίνει στην ψευδογλώσσα του βιβλίου.
Αυτό θα έπρεπε να λέει και στην αντίστοιχη σελίδα του βιβλίου και να μην μιλάει για δυναμική εκχώρηση μνήμης και μεταγλώττιση σε κεφάλαιο της ψευδογλώσσας.
  Δηλαδή ότι
Παράθεση
το μέγεθός τους αποφασίζεται κατά την έναρξη της εκτέλεσης του αλγορίθμου ή του υποπρογράμματος (όχι κατά τη διάρκεια - κατά την έναρξη, π.χ. αν πρόκειται για υποπρόγραμμμα, κατά τη δημιουργία της στοίβας των τοπικών μεταβλητών).
Λογικά και ο Γιώργος αυτό θα εννοούσε αλλά παρασύρθηκε από το βιβλίο και το έγραψε έτσι
Το πρόβλημα στην ψευδογλώσσα είναι: Σε ποιο σημείο του αλγορίθμου καθορίζεται το μέγεθος του πίνακα? Προφανώς στην αρχή, πριν ξεκινήσει η εκτέλεση. Που φαίνεται όμως αυτό? Η απάντηση είναι πουθενά. Σιωπηρά δεχόμασταν ότι το μέγεθος του πίνακα είναι Ν ή 100 από μια ματιά που ρίχναμε στον κώδικα. Τέτοια όμως δήλωση δεν υπάρχει στην ψευδογλώσσα.
   Νομίζω πως θα έπρεπε οι πίνακες να δηλώνονται στα δεδομένα κάπως έτσι
Δεδομένα // Α[Ν], Ν //

Αυτό θα είχε λύσει πολλά προβλήματα
Το σημαντικό είναι πως το Διάβασε είναι μια εντολή ενώ τα Δεδομένα είναι μια δήλωση και αυτά τα 2 έχουν μεγάλη διαφορά μεταξύ τους. Ίσως σε κάποιες περιπτώσεις να ταυτίζονται αλλά γενικά δεν είναι το ίδιο.

Φυσικά υπάρχει και το άλλο θέμα που λέει ο Παναγιώτης ότι πρέπει ο μαθητής να ξέρει πότε θα χρησιμοποιήσει πίνακα και πότε όχι. Δεν είναι δυνατόν να λύνει κάθε πρόβλημα με το σκεπτικό "θεωρώ ένα άνω όριο και παίρνω πίνακα".
Υπάρχουν περιπτώσεις όπου η ροή δεδομένων είναι συνεχής (π.χ. άμεσοι (online) αλγόριθμοι) οπότε δεν μπορεί να γίνει αυτό, πέρα από τους διδακτικούς στόχους του βιβλίου στους οποίους είναι αντίθετο το παραπάνω σκεπτικό.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Νίκος Αδαμόπουλος

#213
Παράθεση από: gpapargi στις 26 Ιουλ 2010, 03:30:28 ΜΜ
Όχι Νικ, αυτό είναι που προσπαθώ να πω τόσο καιρό. Το σενάριο 3 δεν παίζει γιατί υπάρχει μια πολύ σημαντική διαφορά με τη C. Στη C όταν δηλώνεται το μέγεθος του πίνακα κατά την εκτέλεση συμβαίνει κάτι πολύ συγκεκριμένο στη μνήμη του υπολογιστή: δεσμεύεται χώρος για τον πίνακα ο οποίος στη συνέχεια δεν μπορεί να αλλάξει. Αλλά στην ψευδογλώσσα αυτό δε συμβαίνει....

Μα εσύ ανέφερες την 3η περίπτωσή σου ως 1 από τις 3 πιθανές (που τώρα έγιναν 4) για να αντιστοιχούν στη ψευδογλώσσα... Εγώ απλώς πρόσθεσα ότι αν ίσχυε η 3 τότε δεν θα είχε πρόβλημα η λύση με πίνακα! Π.χ. :

Αλγόριθμος αγώνες
Διάβασε Ν
! Εδώ υποτίθεται ότι θα υπήρχε η δήλωση πίνακα αν μιλάγαμε π.χ. για τη C,
! δηλαδή αν ίσχυε η περίπτωση 3 που αναφέρεις
! μόνο που επειδή μιλάμε για αλγόριθμο δεν φαίνεται αυτή η δήλωση...
! Γιατί αναφέρεις την Δεδομένα; ....
! Σε αυτή την περίπτωση δεν θα βάζαμε Δεδομένα, Διάβασε θα βάζαμε!
! Και μετά το διάβασμα, το Ν δεν πρόκειται να άλλαζε στο επίμαχο θέμα.
...
Για ι από 1 μέχρι Ν
  ...


Επίσης, για καμία από τις περιπτώσεις 1, 2 και 3, στο επίμαχο θέμα δεν θα βάζαμε Δεδομένα... αφού το Ν πρέπει να διαβαστεί. Το Δεδομένα είναι δηλωτική εντολή αλλά ... δεν είναι εντολή δήλωσης των μεταβλητών (και των πινάκων) που χρησιμοποιεί ο αλγόριθμος... 

Τέτοια δήλωση δεν υπάρχει στους αλγορίθμους... γιατί απλά είναι αλγόριθμοι, δεν είναι προγράμματα. Όταν φτάναμε στο στάδιο του προγραμματισμού (που όμως δεν φτάσαμε γιατί το ζητούμενο ήταν ο αλγόριθμος και κανείς δεν είπε ότι ο ζητούμενος αλγόριθμος ντε και καλά θα υλοποιηθεί στο τέλος ως  πρόγραμμα για να εκτελεστεί από Η/Υ - αλγορίθμους εκτελούν και οι άνθρωποι με το μυαλό ή με μολύβι και χαρτί ή με μηχανές turing που έχουν θεωρητικά ταινία άπειρου μήκους ή κλπ...) τότε πιθανώς να έπρεπε να δηλώσουμε το ακριβές μέγεθος του πίνακα. Ε σε εκείνο το στάδιο θα υπήρχε και το παραθυράκι της δήλωσης ενός άνω ορίου για τον πίνακα που να αρκεί για τους σχολικούς αγώνες (αυθαίρετο ίσως για κάποιους, όχι όμως για κάποιους άλλους). Το σημαντικότερο τελικά όντως είναι αυτό που αναφέρει παραπάνω ο Παναγιώτης.

Όσο για την περίπτωση 4 (!!!), κάτι τέτοιο ήθελα κι εγώ να αναφέρω στα:

https://alkisg.mysch.gr/steki/index.php?topic=2953.msg29814#msg29814

και πιο πίσω στα:

https://alkisg.mysch.gr/steki/index.php?topic=2953.msg29625#msg29625

https://alkisg.mysch.gr/steki/index.php?topic=2953.msg29311#msg29311

Τέλος, το ότι δεν μπορούμε να διακρίνουμε μέσα από τη γραφή της ψευδογλώσσας τι τελικά ισχύει από τις περιπτώσεις 1 έως 4, αφού δεν φαίνονται οι δηλώσεις των μεταβλητών και των δομών δεδομένων, δεν σημαίνει αυτόματα ότι δεχόμαστε την περίπτωση 1. Εγώ προσωπικά δεν την δέχομαι (αν και κάποιοι την δέχονται!), αλλά άλλο το ένα και άλλο το άλλο...

Νίκος Αδαμόπουλος

Σχετικά με το παράδειγμα που αναφέρθηκε στο

Παράθεση από: evry στις 11 Ιουλ 2010, 11:39:51 ΠΜ
Θα σου πω ένα αντίστοιχο παράδειγμα για να καταλάβεις τι εννοώ. Αρκετοί συνάδελφοι (όχι μόνο στο στέκι) θεώρησαν ότι ένα πολύ καλό επιχείρημα για τη χρήση πίνακα στο συγκεκριμένο θέμα ήταν το παράδειγμα του βιβλίου όπου υπολογίζεται η δύναμη με χρήση δυναμικού προγραμματισμού. (δεν θυμάμαι σελίδα). Το επιχείρημα ήταν ότι το πλήθος του στοιχείων του πίνακα ήταν άγνωστο. Αυτό το στήριξαν στο γεγονός ότι στο συγκεκριμένο παράδειγμα ο πίνακας γέμιζε με μια Όσο. Έτσι έκαναν το συνειρμό:
  ΌΣΟ...ΕΠΑΝΑΛΑΒΕ ===> ΑΓΝΩΣΤΟ ΠΛΗΘΟΣ ΣΤΟΙΧΕΙΩΝ
Ο συνειρμός τους είναι παρόμοιος με αυτόν που έκανε η μαθήτρια που αναφέρεις.
Κανείς δεν έκανε τον κόπο όμως να κοιτάξει τι έκανε ο αλγόριθμος, γιατί αν κοίταγαν θα έβλεπαν ότι το μέγεθος του πίνακα είναι εξαρχής καθορισμένο και ίσο με [log(b)]+1. To b δινόταν στα Δεδομένα άρα ήταν προκαθορισμένο και όχι άγνωστο.

και είχε αναλύσει ο Γιώργος στο:
https://alkisg.mysch.gr/steki/index.php?topic=2953.msg29686#msg29686

...εγώ δεν μπαίνω στη λογική του προαναφερόμενου συμπεράσματος, ότι: ΟΣΟ ==> Άγνωστο πλήθος ...
... όμως το συμπέρασμα ότι το μέγεθος του πίνακα ήταν γνωστό ήδη κατά το στάδιο του προγραμματισμού προκύπτει μόνο αν ερμηνεύσουμε τη (δηλωτική) εντολή Δεδομένα ως "δοσμένα από την άσκηση". Βέβαια θα μπορούσε να δοθεί ως ερμηνεία ο όρος "Δεδομένα" από το:  Δεδομένα --> Επεξεργασία --> Πληροφορίες. Έτσι η εντολή Δεδομένα θα μπορούσε να συμπεριλαμβάνει τα "δοσμένα από την άσκηση" αλλά και αυτά που εισάγει ο χρήστης με την εντολή Διάβασε....

Θυμίζω την άποψη του Κοίλια για τα Δεδομένα: https://alkisg.mysch.gr/steki/index.php?topic=2937.msg30202#msg30202

Πού λέει το σχολικό βιβλίο ότι κάτι τέτοιο δεν ισχύει;

Αντίθετα, αν υιοθετήσουμε για το παρακάτω παράδειγμα την άποψη ότι τα a και b θα πρέπει να είναι ήδη γνωστά κατά τη φάση του προγραμματισμού τότε αυτό σημαίνει ότι ο προγραμματιστής θα καταλήξει να έχει φτιάξει ένα πρόγραμμα που θα υπολογίζει πάντα μια συγκεκριμένη δύναμη π.χ. το 5 εις την 12, και αν χρειαστεί ο υπολογισμός άλλης δύναμης τότε θα πρέπει να τον φωνάζουν ώστε να το τροποποιεί, να το ξαναμεταγλωττίζει, κλπ. Σίγουρα οι συγγραφείς του βιβλίου είχαν στο μυαλό τους ένα τέτοιο άχρηστο πρόγραμμα;;;

Παράθεση από: bagelis στις 02 Ιουν 2010, 04:16:44 ΜΜ
Αλγόριθμος Δύναμη2
Δεδομένα // a, b //
power[1] ← a
i ← 1
pow ← 1
Όσο pow < b επανάλαβε
i ← i+1
pow ← 2* pow
power ← power[i-1] * power[i-1]
Τέλος_επανάληψης

evry

Παράθεση
Θυμίζω την άποψη του Κοίλια για τα Δεδομένα: https://alkisg.mysch.gr/steki/index.php?topic=2937.msg30202#msg30202
Οι εντολές Δεδομένα και Διάβασε είναι ισοδύναμες?!!!!!!
Δεν μου φαίνεται και πολύ σωστό αυτό. Μήπως εννοεί ότι είναι ισοδύναμες κάτω από συγκεκριμένες προϋποθέσεις? Γιατί αν είναι έτσι όπως το λέει τότε με το σκεπτικό αυτό στην άσκηση με τους αθλητές δεν χρειάζεται να τους διαβάσω. Απλά θα έγραφα
Δεδομένα //  Ν, Όνομα[Ν], Επίδοση[Ν] //

και θα ξεμπέρδευα. Προφανώς ο σκοπός της δήλωσης Δεδομένα είναι να επικεντρωθεί ο μαθητής στην ουσία του αλγορίθμου και όχι στην είσοδο ή στην έξοδο όταν αυτές είναι τετριμμένες. Τι γίνεται όμως όταν η είσοδος ή η έξοδος είναι μέρος του αλγορίθμου? Τι εννοώ.
   Μπορούν να γίνουν τα παρακάτω τμήματα αλγορίθμου με τη δηλώση Δεδομένα?

Για j από 1 μέχρι 100
    Διάβασε Ν
    Για ι από 1 μέχρι Ν
        Διάβασε Α[ι][j]
    Τέλος_Επανάληψης
Τέλος_Επανάληψης

ή
Διάβασε Ν
Για j από 1 μέχρι 10
    Διάβασε Ν
    Αν Ν > 0 Τότε   Μ<--Ν
Τέλος_Επανάληψης


Το τελευταίο τμήμα κώδικα είναι ισοδύναμο με

Δεδομένα Ν, Μ

?
Νομίζω λοιπόν ότι μπορούμε να βρούμε αρκετά παραδείγματα που δείχνουν ακριβώς αυτό. Ότι δηλαδή χρησιμοποιούμε τα Δεδομένα μόνο όταν η εισαγωγή δεδομένων δεν έχει ουσιαστικό αντίκτυπο στον αλγόριθμο που σχεδιάζουμε. Δηλαδή όταν μας λένε ότι κάτι είναι δοσμένο ή δίνεται. Όχι όταν προκύπτει από εντολή του αλγορίθμου.


Παράθεση από: Νίκος Αδαμόπουλος στις 26 Ιουλ 2010, 07:53:48 ΜΜ
Αντίθετα, αν υιοθετήσουμε για το παρακάτω παράδειγμα την άποψη ότι τα a και b θα πρέπει να είναι ήδη γνωστά κατά τη φάση του προγραμματισμού τότε αυτό σημαίνει ότι ο προγραμματιστής θα καταλήξει να έχει φτιάξει ένα πρόγραμμα που θα υπολογίζει πάντα μια συγκεκριμένη δύναμη π.χ. το 5 εις την 12, και αν χρειαστεί ο υπολογισμός άλλης δύναμης τότε θα πρέπει να τον φωνάζουν ώστε να το τροποποιεί, να το ξαναμεταγλωττίζει, κλπ. Σίγουρα οι συγγραφείς του βιβλίου είχαν στο μυαλό τους ένα τέτοιο άχρηστο πρόγραμμα;;;

Τα a,b είναι γνωστά όχι σταθερά. Μπορείς κάθε φορά να καλείς τον αλγόριθμο και τα α, β παίζουν τον ρόλο παραμέτρων.
Έχει διαφορά. Δηλαδή όταν καλείς τη συνάρτηση Τ_Ρ(4) καλείς κάθε φορά άλλον αλγόριθμο? Τα Δεδομένα παίζουν τον ρόλο των παραμέτρων στα υποπρογράμματα. Αν κάποιος σου έλεγε να φτιάξεις έναν αλγόριθμο που να υπολογίζει την τετραγωνική ρίζα δεν θα έγραφες το παρακάτω?

Αλγόριθμος Τ_Ρ
Δεδομένα   // χ //
......
Αποτέλεσματα //τρ //

και στη συνέχεια θα έδινες το αντίστοιχο πρόγραμμα όπου το χ είναι η παράμετρος εισόδου.

Είπα και πριν ότι αυτό με τον προγραμματισμό δεν έχει νόημα στην ψευδογλώσσα. Η σωστή ερμηνεία είναι "πριν την εκτέλεση" όπως ακριβώς το περιέγραψε ο Άλκης.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

evry

Πάντως από τη στιγμή που πρόκειται για πανελλαδικό μάθημα μάλλον θα έπρεπε κάποια πράγματα να αποσαφηνιστούν και ένα από αυτά είναι ο ρόλος των εντολών Δεδομένα //  //   και Αποτελέσματα // //.
Πότε δηλαδή μπορεί ένας μαθητής να τα χρησιμοποιεί και πότε όχι. Δηλαδή αν λέει η εκφώνηση να διαβάζει έναν πίνακα 2 διαστάσεων τότε ο μαθητής μπορεί να χρησιμοποιήσει  Δεδομένα // // ;
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

gpapargi

Παράθεση από: alkisg στις 26 Ιουλ 2010, 05:11:20 ΜΜ
Εγώ θα πρόσθετα και μια τέταρτη περίπτωση, 4) Τους θεωρεί στατικές δομές και το μέγεθός τους αποφασίζεται κατά την έναρξη της εκτέλεσης του αλγορίθμου ή του υποπρογράμματος (όχι κατά τη διάρκεια - κατά την έναρξη, π.χ. αν πρόκειται για υποπρόγραμμμα, κατά τη δημιουργία της στοίβας των τοπικών μεταβλητών).

Άλκη νομίζω ότι αυτό που λες 4 είναι αυτό που λέω εγώ 3. Ορίζεται μια φορά στην αρχή και μετά δεν αλλάζει. Είναι στατική δομή και το μέγεθος καθορίζεται κατά την εκτέλεση.

Το πρόβλημα με αυτή την προσέγγιση είναι (όπως έγραψα και πριν και λέει και ο Ευριπίδης) ότι στις γλώσσες αυτές συμβαίνει κάτι πολύ συγκεκριμένο στη μνήμη. Δεσμεύεται χώρος (και μάλιστα συνεχόμενος) και δεν μπορεί να αλλάξει στη συνέχεια το μέγεθος του πίνακα.

Το πρόβλημα στην ψευδογλώσσα είναι ότι δεν υπάρχει τέτοιος μηχανισμός. Το Δεδομένα //ν// δεν λέει τίποτα. Μπορεί το μέγεθος του πίνακα να είναι οσοδήποτε.

Παράθεση από: alkisg στις 26 Ιουλ 2010, 05:11:20 ΜΜ
Στη C99: void diadikasia(int A[], int N)
ή ισοδύναμα στην κλασσική C: void diadikasia(int *A, int N)
Στην ψευδογλώσσα: Δεδομένα //Α, Ν//

...δε βλέπω διαφορά... και στα δύο είναι ευθύνη του προγραμματιστή του αλγορίθμου να αποφασίσει τι μέγεθος έχει τελικά ο πίνακας που του δώσανε σαν δεδομένο, Ν, 3*Ν ή οτιδήποτε άλλο.

Αυτό είναι κάτι ενδιαφέρον ωστόσο πιστεύω ότι είναι διαφορετικά πράγματα. Στη C αυτό που δίνει η καλούσα συνάρτηση στην καλούμενη δεν είναι ο πίνακας (τα στοιχεία του δηλαδή) αλλά η διεύθυνση του πρώτου στοιχείου. Είναι δείκτης. Και αυτό σε συνδυασμό με το ότι οι θέσεις μνήμης είναι συνεχόμενες μας δίνει τη μεγάλη ελευθερία στον τμηματικό προγραμματισμός με τα μεγέθη του πίνακα. Θέλω να πω ότι εμφανισιακά μπορεί να μοιάζει με το Δεδομένα //α, ν// αλλά επί της ουσίας νομίζω ότι είναι διαφορετικά πράγματα. Στο ένα είναι ο πίνακας (δηλαδή τα στοιχεία του ένα προς ένα), ενώ στο άλλο είναι η θέση του πρώτου. Αν τα θεωρήσουμε ίδια μπλέκουμε με δείκτες και φοβάμαι πως μπαίνουμε πιο βαθιά στη λεπτομέρεια υλοποίησης.

Νίκος Αδαμόπουλος

Παράθεση από: evry στις 26 Ιουλ 2010, 08:34:55 ΜΜ
Οι εντολές Δεδομένα και Διάβασε είναι ισοδύναμες?!!!!!!
Δεν μου φαίνεται και πολύ σωστό αυτό. Μήπως εννοεί ότι είναι ισοδύναμες κάτω από συγκεκριμένες προϋποθέσεις?
...
Νομίζω λοιπόν ότι μπορούμε να βρούμε αρκετά παραδείγματα που δείχνουν ακριβώς αυτό. Ότι δηλαδή χρησιμοποιούμε τα Δεδομένα μόνο όταν η εισαγωγή δεδομένων δεν έχει ουσιαστικό αντίκτυπο στον αλγόριθμο που σχεδιάζουμε. Δηλαδή όταν μας λένε ότι κάτι είναι δοσμένο ή δίνεται. Όχι όταν προκύπτει από εντολή του αλγορίθμου.
To "ισοδύναμα" δεν σημαίνει ότι βάζουμε το ένα στη θέση του άλλου ασχέτως του τι ζητάει η άσκηση! Φαντάζομαι έχει να κάνει με το ότι επιτελούν το ίδιο σκοπό... Π.χ. το:

Για ι από 1 μέχρι 10
  <εντολές>
Τέλος_επανάληψης

μετατρέπεται ισοδύναμα στο:

ι<-1
Όσο ι<=10 επανάλαβε
  <εντολές>
  ι<-ι+1
Τέλος_επανάληψης

Αν όμως η άσκηση θέλει να γίνει κάτι με την Για δεν θα πας να βάλεις Όσο επειδή είναι ισοδύναμες.

Πράγματι ισχύει αυτό που λες στο τέλος... Το ίδιο όμως λέει και Κοίλιας... Στο https://alkisg.mysch.gr/steki/index.php?topic=2937.msg30202#msg30202 (στις 2 τελευταίες "πράσινες" παραγράφους λέει τα ίδια). Ειδικά η τελευταία λέει:

Σημ. Αν και η χρήση της μιας ή της άλλης μεθόδου αφήνεται γενικά στην ευχέρεια του συντάκτη του αλγορίθμου, ο σπουδαστής πρέπει να είναι προσεκτικός στην περίπτωση εξετάσεων προς αποφυγή βαθμολογικών απωλειών. Έτσι αν η εκφώνηση ενός θέματος λέει "Να γραφεί αλγόριθμος ο οποίος να διαβάζει ....", τότε πρέπει να χρησιμοποιηθεί η εντολή Διάβασε. Αντίθετα αν η εκφώνηση λέει "Δίδεται ένας πίνακας Α. Να γραφεί αλγόριθμος ο οποίος ...", τότε πρέπει να χρησιμοποιηθεί η εντολή Δεδομένα."

Δεν αμφισβητήθηκαν όλα αυτά... Δεν υπάρχει λόγος να γυρίζουμε αρκετά χρόνια πίσω ....

Αυτό που λέω είναι το εξής:

Όταν λέμε "δίνεται πίνακας Α μεγέθους Ν", και αφού έχει φτιαχτεί ο αλγόριθμος με χρήση της Δεδομένα, αν θελήσουμε να περάσουμε στο στάδιο του προγραμματισμού (που κακώς μας έχει τραβήξει την προσοχή πολύ τώρα τελευταία!) τι πρέπει να κάνουμε; Να διαβάσουμε τα Ν και Α ή να τα θεωρήσουμε σταθερά;

Ή να το πω με άλλα λόγια....

Παράθεση από: evry στις 26 Ιουλ 2010, 08:34:55 ΜΜ
Τα a,b είναι γνωστά όχι σταθερά. Μπορείς κάθε φορά να καλείς τον αλγόριθμο και τα α, β παίζουν τον ρόλο παραμέτρων.
Έχει διαφορά. Δηλαδή όταν καλείς τη συνάρτηση Τ_Ρ(4) καλείς κάθε φορά άλλον αλγόριθμο? Τα Δεδομένα παίζουν τον ρόλο των παραμέτρων στα υποπρογράμματα. Αν κάποιος σου έλεγε να φτιάξεις έναν αλγόριθμο που να υπολογίζει την τετραγωνική ρίζα δεν θα έγραφες το παρακάτω?

Αλγόριθμος Τ_Ρ
Δεδομένα   // χ //
......
Αποτέλεσματα //τρ //

και στη συνέχεια θα έδινες το αντίστοιχο πρόγραμμα όπου το χ είναι η παράμετρος εισόδου.

Είπα και πριν ότι αυτό με τον προγραμματισμό δεν έχει νόημα στην ψευδογλώσσα. Η σωστή ερμηνεία είναι "πριν την εκτέλεση" όπως ακριβώς το περιέγραψε ο Άλκης.

(ο Άλκης είπε "κατά την έναρξη της εκτέλεσης του αλγορίθμου ή του υποπρογράμματος " - αν δέχεσαι αυτή την εκδοχή αυτή τότε δέχεσαι πίνακες στο θέμα 3 με την προσέγγιση που έδειξα στο https://alkisg.mysch.gr/steki/index.php?topic=2953.msg29814#msg29814 οπότε έχεις ήδη περάσει στην απέναντι όχθη!!!)

Για να καταλάβω όμως τι εννοείς λέγοντας "Τα a,b είναι γνωστά όχι σταθερά",  θα ήθελα να δω πώς θα υλοποιούσες σε ΓΛΩΣΣΑ τον αλγόριθμο αυτό του υπολογισμού της δύναμης (βιβλίο σελ. 90), χωρίς να βάλεις σταθερές για τα α και b, αλλά όμως χρησιμοποιώντας και πίνακα που θα ξέρεις το απαιτούμενο μέγεθός του κατά τη φάση του προγραμματισμού, και μάλιστα όχι βάζοντας ένα "αυθαίρετο" άνω όριο στο μέγεθος αυτό ........;;;;  :D


Αλγόριθμος Δύναμη2
Δεδομένα // a, b //
power[1] ← a
i ← 1
pow ← 1
Όσο pow < b επανάλαβε
i ← i+1
pow ← 2* pow
power ← power[i-1] * power[i-1]
Τέλος_επανάληψης

evry

Παράθεση από: Νίκος Αδαμόπουλος στις 27 Ιουλ 2010, 01:15:27 ΜΜ
Πράγματι ισχύει αυτό που λες στο τέλος... Το ίδιο όμως λέει και Κοίλιας... Στο https://alkisg.mysch.gr/steki/index.php?topic=2937.msg30202#msg30202 (στις 2 τελευταίες "πράσινες" παραγράφους λέει τα ίδια). Δεν αμφισβητήθηκαν όλα αυτά... Δεν υπάρχει λόγος να γυρίζουμε αρκετά χρόνια πίσω ....
Κάτσε γιατί με μπέρδεψες. Πριν ανέφερες ότι τα δύο αυτά είναι ισοδύναμα και τώρα λες ότι δεν είναι? Μα και εγώ αυτό λέω, ότι τα Δεδομένα-Διάβασε δεν είναι ισοδύναμα. Δεν μπορείς να χρησιμοποιείς Δεδομένα αντί για Διάβασε, εκτός από ελάχιστες περιπτώσεις. Αυτό λοιπόν το ξεκαθαρίσαμε.

Παράθεση
Όταν λέμε "δίνεται πίνακας Α μεγέθους Ν", και αφού έχει φτιαχτεί ο αλγόριθμος με χρήση της Δεδομένα, αν θελήσουμε να περάσουμε στο στάδιο του προγραμματισμού (που κακώς μας έχει τραβήξει την προσοχή πολύ τώρα τελευταία!) τι πρέπει να κάνουμε; Να διαβάσουμε τα Ν και Α ή να τα θεωρήσουμε σταθερά;
Δεν θα κάνεις τίποτα γιατί πολύ απλά και τα 2 είναι λάθος. Ο αλγόριθμος που περιγράφεις δεν μπορεί να γίνει στην ΓΛΩΣΣΑ του σχολικού βιβλίου με τη μορφή αυτή. Ούτε μπορείς να "μετατρέψεις" το 'Δεδομένα' σε Διάβασε ούτε μπορείς να θέσεις μια αυθαίρετη τιμή στο Ν. Ουσιαστικά αναγκάζεσαι να δώσεις ένα στιγμιότυπο του αλγορίθμου

Παράθεση
(ο Άλκης είπε "κατά την έναρξη της εκτέλεσης του αλγορίθμου ή του υποπρογράμματος " - αν δέχεσαι αυτή την εκδοχή αυτή τότε δέχεσαι πίνακες στο θέμα 3 με την προσέγγιση που έδειξα στο https://alkisg.mysch.gr/steki/index.php?topic=2953.msg29814#msg29814 οπότε έχεις ήδη περάσει στην απέναντι όχθη!!!)
Όταν λέμε κατά την έναρξη της εκτέλεσης σημαίνει ότι το μέγεθος του πίνακα έχει καθοριστεί εκείνη τη στιγμή. Αυτό συμβαίνει στο θέμα 3? Προφανώς όχι, αφού προηγουμένως έχουν εκτελεστεί και άλλες εντολές και το μέγεθος του πίνακα δεν είναι ακόμη γνωστό.
Αυτό που λέω είναι ότι "το μέγεθος του πίνακα πρέπει να έχει καθοριστεί ακριβώς πριν την εκτέλεση της πρώτης εντολής του αλγορίθμου". Νομίζω τώρα να είναι κατανοητό.

Επίσης η προσέγγισή σου δεν είναι σωστή σύμφωνα με την ΓΛΩΣΣΑ του σχολικού βιβλίου. Δεν μπορείς να γράψεις το παρακάτω

Παράθεση
ΠΡΟΓΡΑΜΜΑ μπλαμπλα
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Ν
ΑΡΧΗ
   ΔΙΑΒΑΣΕ Ν
   ΚΑΛΕΣΕ αβγ(Ν)
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

ΔΙΑΔΙΚΑΣΙΑ αβγ(Ν)
ΜΕΤΑΒΛΗΤΕΣ
   ΑΚΕΡΑΙΕΣ: Α[Ν], Ν, i
ΑΡΧΗ
   ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ Ν
       ΔΙΑΒΑΣΕ Α[ i ]
       ....
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ

διότι έρχεται σε πλήρη αντίθεση με το σχολικό βιβλίο που λέει ότι το μέγεθος του πίνακα πρέπει να είναι γνωστό κατά τη μεταγλώττιση. Στο παράδειγμα που δίνεις το μέγεθος του πίνακα ορίζεται κατά την εκτέλεση άρα δεν μπορεί να γίνει σε ΓΛΩΣΣΑ.

Παράθεση
Για να καταλάβω όμως τι εννοείς λέγοντας "Τα a,b είναι γνωστά όχι σταθερά",  θα ήθελα να δω πώς θα υλοποιούσες σε ΓΛΩΣΣΑ τον αλγόριθμο αυτό του υπολογισμού της δύναμης (βιβλίο σελ. 90), χωρίς να βάλεις σταθερές για τα α και b, αλλά όμως χρησιμοποιώντας και πίνακα που θα ξέρεις το απαιτούμενο μέγεθός του κατά τη φάση του προγραμματισμού, και μάλιστα όχι βάζοντας ένα "αυθαίρετο" άνω όριο στο μέγεθος αυτό ........;;;;  :D
Μα δεν είπα ότι θα το υλοποιούσα σε ΓΛΩΣΣΑ γιατί πολύ απλά δεν μπορεί να υλοποιηθεί σε ΓΛΩΣΣΑ για τους λόγους που ανέφερα προηγουμένως.
Επίσης δεν χρειάζεται να πας πολύ μακριά και να μπλέξεις με το συγκεκριμένο παράδειγμα. Για να καταλάβεις τι εννοώ: Τον αλγόριθμο της αναζήτησης όπως περιγράφεται στο βιβλίο μπορείς να τον κάνεις σε ΓΛΩΣΣΑ?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Vangelis

Προσωπικά υποστηρίζω ότι σύμφωνα με το πνεύμα του βιβλίου το Δεδομένα είναι  ισοδύναμο μα εντολή(ες) ανάθεσης και όχι με εντολή Διάβασε.  Συνεπώς  Δεδομένα //Ν// σημαίνει ότι το Ν είναι γνωστό (στον αλγόριθμο και όχι στο χρήστη)  και συνεπώς σταθερό.   Παρόμοια δηλαδή με τον τρόπο που χρησιμοποιούσε η γλώσσα BASIC  τα DATA. 

alkisg

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

Γι' αυτό και έφερνα τα παράδειγματα με τα υποπρογράμματα πιο πάνω. Στη C, στο Delphi κτλ είναι αποδεκτό να περνιούνται πίνακες χωρίς να δηλώνεται το μέγεθός τους, το ίδιο νόημα πιστεύω ότι έχει και στην ψευδογλώσσα. Συμφωνώ μεν με τον evry ότι θα ήταν καλύτερο να δηλώνεται και το μέγεθός τους, αλλά δεν είναι και κάτι ασυνήθιστο το ότι δεν δηλώνεται, είναι ευθύνη του προγραμματιστή να μη βγει out of bounds...

  procedure MiaDiadikasia(var A: array of Variant; N: Integer)
ισοδυναμεί με
  Δεδομένα //Α, Ν//
  Αποτελέσματα //Α//

evry

Ακριβώς!! Τα Δεδομένα και τα Αποτελέσματα σε έναν αλγόριθμο είναι το αντίστοιχο των παραμέτρων εισόδου και εξόδου σε ένα πρόγραμμα αντίστοιχα. 

Απλά το πρόβλημα εδώ είναι ότι η ΓΛΩΣΣΑ του βιβλίου δεν επιτρέπει πίνακα-παράμετρο με  μέγεθος Ν. Πρέπει πάντα το μέγεθος να είναι καθορισμένο ως σταθερά, κάτι που δεν συμβαίνει σε άλλες γλώσσες.
   Τώρα αυτό με το πέρασμα του μεγέθους νομίζω ότι είναι το πιο λογικό. Δηλαδή πως θα ξέρει το υποπρόγραμμα (αν υποθέσουμε ότι είναι πλήρως ανεξάρτητο από το πρόγραμμα) μέχρι που μπορεί να διαβάσει? Θα πρέπει να έχει αυτή την πληροφορία hard-coded το οποίο δεν μου φαίνεται καλό (περιορίζει τις δυνατότες του υποπρογράμματος).
   Οι μόνες περιπτώσεις που έχω στο μυαλό μου με πέρασμα πίνακα χωρίς το μέγεθός του είναι στα strings όπου ξέρουμε ότι ο τελευταίος χαρακτήρας είναι το '/0'. Σε άλλη περίπτωση θα πρέπει να ξέρουμε το μέγεθος αν θέλουμε το υποπρόγραμμα να είναι πιστή μεταφορά του αλγορίθμου που περιέχει δήλωση
   Δεδομένα // Α[Ν] //     

Άλκη δεν ξέρω αν εννοείς κάτι άλλο με αυτό που λες για το μέγεθος ότι δεν είναι κάτι ασυνήθιστο ή εγώ δεν κατάλαβα καλά.
Υπάρχουν και περιπτώσεις που πράγματι δεν χρειάζεται το μέγεθος, π.χ στη C νομίζω ότι με την sizeof(array)/sizeof(type) μπορείς να βρεις το πλήθος των στοιχείων του πίνακα
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Νίκος Αδαμόπουλος

#223
Είναι γεγονός ότι αν ένας τρίτος παρατηρητής προσπαθούσε να βγάλει άκρη από τα διάφορα μηνύματα θα έλεγε ότι παίζουμε σπασμένο τηλέφωνο...! Και από την αρχή αλλά μέχρι και τώρα, διαβάζοντας όλα τα μηνύματα και προσπαθώντας να ερμηνεύσω για ποιο λόγο υπάρχει αυτή η δυσκολία κατανόησης από όλες τις πλευρές, τελικά καταλαβαίνω ότι αυτό οφείλεται στον διαφορετικό τρόπο που ο καθένας ερμηνεύει κάποια πράγματα...

Έτσι, π.χ. εγώ δεν αισθάνομαι ότι μεταβάλω καθόλου την άποψή μου για την εντολή Δεδομένα, όπως λέει ο Ευριπίδης. Καταλήγω όμως στο συμπέρασμα ότι ο καθένας μας δίνει διαφορετική ερμηνεία για αυτήν. Μάλλον όλες οι υπόλοιπες διαφωνίες μας πηγάζουν ακριβώς από αυτό! Και λίγο πιο πριν ο Βαγγέλης πρόσθεσε ακόμα μία διαφορετική εκδοχή για τη λειτουργία της, αυτήν της εκχώρησης τιμών! Μάλιστα, φέρνοντας τώρα στο μυαλό μου αυτό που είχε γράψει (με κάπως άγαρμπο τρόπο) ο Γιώργος παλιότερα, ότι αυτά είναι πράγματα που ο καθένας τα καταλαβαίνει μέσα σε 5 λεπτά και ας ασχοληθούμε με άλλα σημαντικότερα, φαίνεται τώρα λοιπόν πόσο άδικο είχε!

Προσπαθούμε να βρούμε τη σημασία της εντολής Δεδομένα, αναφέρουμε διάφορες εκδοχές τις οποίες όμως δεν τεκμηριώνουμε! Ο Βαγγέλης επικαλείται το πνεύμα του βιβλίου αλλά δεν εξηγεί πού φαίνεται αυτό. Εννοώ σε ποια σελίδα ή σε ποιο παράδειγμα. Για αυτό εγώ ανέφερα το κείμενο του Κοίλια που σαν ένας από τους συγγραφείς του βιβλίου λογικά θα είναι πιο κοντά στο πνεύμα του βιβλίου (βλ. http://dide.ilei.sch.gr/keplinet/education/docs/syn_syrou2003_pseydoglossa.pdf ). Στο κείμενο αυτό η εντολή Δεδομένα συσχετίζεται με τη Διάβασε και γίνεται λόγος και για χρήση της στο πέρασμα παραμέτρων κατά την κλήση αλγορίθμου από αλγόριθμο (αυτό όμως δεν παρουσιάζεται στο σχολικό βιβλίο οπότε ας το αφήσουμε για την ώρα). Μην βλέπουμε το κείμενο αποσπασματικά. Ας το μελετήσουμε πρώτα και μετά ας αποφανθούμε. Το να μιλάμε για ισοδυναμίες εντολών δεν προσθέτει αλλά και δεν αφαιρεί τίποτα στην κουβέντα. Ας εστιάσουμε στο κεντρικό μας ζήτημα. Θα έλεγα, ας προσθέσουμε και την εκχώρηση τιμών που προτείνει ο Βαγγέλης, όχι όμως να το περιορίσουμε μόνο σε κάτι τέτοιο. Ας μην πάμε εμείς να αλλάξουμε το πνεύμα του βιβλίου!

Στη συνέχεια θα προσπαθήσω να υποστηρίξω κάποιες ιδέες και να αναλύσω περισσότερο αυτά που έθιγα σε προηγούμενα μηνύματά μου.

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

Αλγόριθμος Δύναμη2
Δεδομένα // a, b //
power[1] ← a
i ← 1
pow ← 1
Όσο pow < b επανάλαβε
  i ← i+1
  pow ← 2* pow
  power[ i ] ← power[i-1] * power[i-1]
Τέλος_επανάληψης
....

Ο Γιώργος στη συνέχεια ανέλυσε και εξήγησε ότι το απαιτούμενο μέγεθος του πίνακα ήταν συνάρτηση του b (αυτό που ανέφερε κι ο Ευριπίδης παραπάνω), κι αφού το b δίνεται ως δεδομένο (εντολή Δεδομένα) τότε το μέγεθος του πίνακα μπορεί να καθοριστεί κατά το στάδιο της συγγραφής του κώδικα. Το ίδιο έκανε και για άλλους αλγορίθμους... όμως εδώ ακριβώς υπάρχει κατά τη γνώμη μου το λογικό λάθος που έκανε ο Γιώργος: Όπου έβλεπε Δεδομένα // α, β, γ // θεωρούσε ότι τα α, β και γ θα είναι γνωστά κατά τη φάση της συγγραφής του κώδικα! Αυτό όμως, όπως εξηγώ παρακάτω, θεωρώ ότι ήταν λανθασμένη υπόθεση (ας την ονομάσω Παρερμηνεία 1).

Ας θυμηθούμε όμως τον αλγόριθμο πολλαπλασιασμού αλά ρωσικά:

Αλγόριθμος πολλαπλασιασμός
Δεδομένα // Μ1, Μ2 //

Τα Μ1 και Μ2 πότε θα αποφασίσουμε τι τιμή θα έχουν; Πριν από την εκτέλεση του αλγορίθμου με σταθερές τιμές; Τότε τι αξία θα είχε ο αλγόριθμος αφού θα έβγαζε πάντα το ίδιο αποτέλεσμα; Τι εξυπηρετεί κάτι τέτοιο; Κερδίζουμε ή χάνουμε από μια τέτοια ερμηνεία; Το να μιλάμε για στιγμιότυπο αλγορίθμου εμένα μου δείχνει αποφυγή να δούμε την αλήθεια.

Το βιβλίο δεν χρησιμοποιεί την εντολή Δεδομένα ως εντολή δήλωσης των μεταβλητών και των δομών του αλγορίθμου, που αυτό όντως γίνεται στη φάση του προγραμματισμού. Ίσως να προκύπτει μια τέτοια παρερμηνεία από το γεγονός ότι η εντολή αυτή μπαίνει στην αρχή, κάτω από τη λέξη Αλγόριθμος. Απλά δηλώνει ότι σε εκείνο το σημείο υπάρχει είσοδος στον αλγόριθμο (στην αρχή της εκτέλεσης του αλγορίθμου, ή στην αρχή εκτέλεσης του υποπρογράμματος αν η υλοποίηση του αλγορίθμου θα καταλήξει σε υποπρόγραμμα, όπως αναφέρει ο Άλκης – όχι όμως στο στάδιο συγγραφής του κώδικα!). Με ποιον τρόπο επιτυγχάνεται αυτή η είσοδος; Όπως αναφέρει νομίζω ο Ευριπίδης, στην ψευδογλώσσα δεν μας ενδιαφέρει εκτός κι αν αυτό ακριβώς αποτελεί ζητούμενο της άσκησης. Πρόσθετη είσοδος βέβαια μπορεί να υπάρχει και στη συνέχεια της εκτέλεσης του αλγορίθμου, με εντολές εισόδου, εκχώρησης, κλήση υποπρογραμμάτων, κλπ, αλλά η εντολή Δεδομένα δείχνει την είσοδο που θα έχουμε στο ξεκίνημα.

Αν παρόλα αυτά επιζητάμε απάντηση στο πώς τελικά μπορεί ή πώς θέλουμε να επιτευχθεί αυτή η είσοδος που υπονοεί η Δεδομένα, τότε πολύ απλά θα πρέπει να το κωδικοποιήσουμε σε γλώσσα προγραμματισμού. Και ας υιοθετήσουμε όλες τις πιθανές εκδοχές που έχουν αναφερθεί: α) με Διάβασε, όπως αναφέρει ο Κοίλιας, β) μέσω παραμέτρων αν βρισκόμαστε σε υποπρόγραμμα, όπως αναφέρει ο Κοίλιας και ο Άλκης, γ) με σταθερές τιμές, μέσω εντολής εκχώρησης όπως αναφέρει ο Βαγγέλης, ή μέσω δήλωσης σταθερών. Τέλος, με συνδυασμούς των παραπάνω. Έχουμε άλλο τίποτα πιθανό να προτείνουμε;

Π.χ. :

Αλγόριθμος μπλαμπλα
Δεδομένα // α, β, γ//

Πιθανή μετατροπή σε ΓΛΩΣΣΑ:

ΔΙΑΔΙΚΑΣΙΑ μπλαμπλα(β)
...
ΑΡΧΗ
    Διάβασε α
    γ<- 10
...

Από όλα τα παραπάνω εγώ δέχομαι και τα 3, ανάλογα με την περίπτωση, πιο σπάνια βέβαια το γ) και σίγουρα όχι μόνο το γ). Γιατί να μην ισχύει κάτι τέτοιο; Υπάρχει κάποιο σημείο στο βιβλίο που να αναφέρει κάτι άλλο; Αν ναι, θα ήθελα να μου πείτε σε ποια σελίδα ώστε να το εξετάσουμε.

Οπότε, για το παράδειγμα της σελ. 90, δεν μπορούμε να θεωρήσουμε ότι η εντολή Δεδομένα // a, b // δείχνει ότι τα a και b θα είναι ήδη γνωστά από την αρχή, δηλαδή κατά τη συγγραφή του κώδικα. Αν ήταν έτσι τότε, όπως τόνισα σε προηγούμενο μήνυμα, ο αλγόριθμος θα υπολόγιζε μια συγκεκριμένη δύναμη μονάχα, π.χ. το 5 εις την 12. Το πιο λογικό θα ήταν είτε τα a και b να διαβάζονταν, είτε να έρχονταν μέσω παραμέτρων αν η υλοποίηση γινόταν ως υποπρόγραμμα. Όπως είπα, αν θέλουμε να δούμε πώς τελικά θα επιτευχθεί αυτή η είσοδος (ή πώς θέλουμε να επιτευχθεί) τότε πολύ απλά θα πρέπει να το κωδικοποιήσουμε σε γλώσσα προγραμματισμού. Κάτι τέτοιο προφανώς και δεν μπορεί να υλοποιηθεί στη ΓΛΩΣΣΑ του βιβλίου, αφού το μέγεθος του πίνακα θα καθοριζόταν μετά τον καθορισμό του b. Eκτός κι αν στo b έμπαινε σταθερή τιμή μέσω δήλωσης σταθερών, το οποίο όμως θα οδηγούσε σε άχρηστο αλγόριθμο. Όμως δεν υπάρχει πρόβλημα αφού μπορεί π.χ. να υλοποιηθεί μια χαρά σε C! Γιατί μας προβληματίζει κάτι τέτοιο;

Μια συνεπακόλουθη παρερμηνεία (έστω Παρερμηνεία 2) που έχει επικρατήσει είναι ότι αν η άσκηση λέει «δίνεται Ν το πλήθος των μαθητών μιας τάξης», και επειδή βάζουμε στον αλγόριθμο Δεδομένα // Ν //, θεωρείται ότι η τιμή του Ν θα είναι ντε και καλά γνωστή στη φάση της δημιουργίας του κώδικα. Από πού όμως προκύπτει κάτι τέτοιο; Πώς το τεκμηριώνουμε; Δηλαδή όταν στον αλγόριθμο πολλαπλασιασμού αλά ρωσικά λέμε «δίνονται δύο ακέραιοι Μ1 και Μ2», αυτό θα σημαίνει ότι πρέπει να ξέρουμε τις τιμές τους όταν θα γράφουμε τον κώδικα; Πάλι δεν θα καταλήγαμε σε άχρηστο αλγόριθμο;

Εφαρμόζοντας τα παραπάνω στο επίμαχο θέμα 3 μπορούμε να πούμε τα εξής:

α) Σύμφωνα με την Παρερμηνεία 2, αν το θέμα έλεγε «δίνεται ο αριθμός Ν των μαθητών» δεν σημαίνει κατ' ανάγκη ότι το Ν θα είναι γνωστό πριν την εκτέλεση (μπορεί να είναι, μπορεί και όχι όμως!). Σίγουρα πάντως θα βάζαμε Δεδομένα // Ν//.
β) Αφού το θέμα λέει «να διαβάζεται ο αριθμός Ν των μαθητών», οπότε μπαίνει η εντολή Διάβασε Ν, τότε σίγουρα το Ν δεν θα είναι γνωστό πριν την εκτέλεση. ΟΚ!
γ) Αν για το β) δεν μπορούμε να κάνουμε χρήση πίνακα τότε ούτε για το α) είναι σίγουρο ότι μπορούμε (παρόλα αυτά υπάρχει η λανθασμένη πεποίθηση ότι για το α) θα μπορούμε γιατί το Ν θα είναι γνωστό από την αρχή, λόγω της εντολής Δεδομένα - Παρερμηνεία 1).
δ) Από τη στιγμή που το παράδειγμα της σελ. 90 κάνει χρήση πίνακα παρόλο που το μέγεθός του (συνάρτηση του b) θα καθοριστεί όταν καθοριστεί και το b, δηλαδή στη φάση της εκτέλεσης όπως εξήγησα παραπάνω, τότε δεν θα έπρεπε να μας προβληματίζει η χρήση πίνακα είτε για το α) είτε για το β) (που αφορά στο επίμαχο θέμα). Όπως δεν υπάρχει πρόβλημα με τον αλγόριθμο της σελ. 90 που δεν υλοποιείται σε ΓΛΩΣΣΑ αλλά υλοποιείται σε C, έτσι δεν υπάρχει πρόβλημα και με τη χρήση πινάκων στο θέμα 3...

(συνεχίζεται λόγω μεγέθους)

Νίκος Αδαμόπουλος

#224
(συνέχεια από το προηγούμενο)

Παραμένει όμως το ερώτημα, τι θα γίνει με την αναφορά στην πολύπαθη σελίδα 56 του βιβλίου:

Με τον όρο στατική δομή δεδομένων εννοείται ότι το ακριβές μέγεθος της απαιτούμενης κύριας μνήμης καθορίζεται κατά τη στιγμή του προγραμματισμού τους, και κατά συνέπεια κατά τη στιγμή της μετάφρασής τους και όχι κατά τη στιγμή της εκτέλεσης τους προγράμματος.

Ξεχνάμε όμως ότι άλλο αλγόριθμος, άλλο πρόγραμμα. Άλλη είναι η φάση της δημιουργίας του κώδικα του αλγορίθμου και άλλη η φάση της δημιουργίας του κώδικα του προγράμματος. Στην σελ. 117 κεφάλαιο 6 «Εισαγωγή στον Προγραμματισμό», κεφάλαιο στο οποίο ο μαθητής πλέον ξεκινά και μπαίνει στην έννοια του προγραμματισμού, ενώ από το κεφάλαιο 7 στην ΓΛΩΣΣΑ, αναφέρει:

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


Το ότι ο αλγόριθμος της σελ. 90 δεν μπορεί να γραφτεί σε ΓΛΩΣΣΑ παρά μόνο αν στα a και b εκχωρηθούν σταθερές τιμές, εμένα δεν μου λέει τίποτα αυτό, αφού μπορεί να υλοποιηθεί σε άλλες γλώσσες προγραμματισμού. Αυτό αφορά το 3ο από τα παραπάνω στάδια. Άλλωστε, ήδη καταλήξαμε ότι δεν γίνεται να μετατραπούν όλοι οι αλγόριθμοι του βιβλίου στην ΓΛΩΣΣΑ του βιβλίου! Έτσι, ο συγκεκριμένος περιορισμός για το μέγεθος του πίνακα αφορά τη ΓΛΩΣΣΑ και όχι την ψευδογλώσσα. Δεν αφορά ούτε καν όλες τις γλώσσες προγραμματισμού. Όταν κάποιος γράφει σε ψευδογλώσσα δεν βρίσκεται ακόμα στο στάδιο του προγραμματισμού. Όταν (και αν) θελήσει να κωδικοποιήσει τον αλγόριθμο σε συγκεκριμένη γλώσσα προγραμματισμού τότε όντως θα δει τι του προσφέρει και τι όχι η εκάστοτε γλώσσα και τότε θα αποφασίσει τι θα κάνει.

Επομένως όταν ένα θέμα ζητάει να γραφτεί αλγόριθμος, δεν θα έπρεπε να μας απασχολεί το αν αυτός μπορεί να μετατραπεί σε ΓΛΩΣΣΑ, άρα ούτε και οι δεσμεύσεις και οι περιορισμοί της ΓΛΩΣΣΑΣ. Αυτός είναι και ο σκοπός της αλγοριθμικής: να μας απαλλάξει από τις λεπτομέρειες των γλωσσών και τις προγραμματιστικές τεχνικές υλοποίησης των αλγορίθμων και να προάγει την ανάπτυξη της αλγοριθμικής σκέψης των μαθητών. Όπως είχαμε αναφέρει και στην ημερίδα της Αθήνας: Ναι στην αλγοριθμική! Όχι στον προγραμματισμό!

Υ.Γ. 1

Διαπιστώνω πάντως ότι υπάρχει μία σύγχυση και διαφωνία στην ερμηνεία του καθενός μας πάνω σε σειρά ζητημάτων: α) τι σημαίνει «δίνεται πίνακας Α μεγέθους Ν» (θα είναι γνωστό από την αρχή και το Ν και ο πίνακας Α; Μόνο το Ν; ...), β) τι σημαίνει «θα είναι γνωστό από την αρχή» (όταν θα γράφεται ο κώδικας; όταν ξεκινήσει η εκτέλεση; ...), γ) τι νόημα έχει να μιλάμε για στατικότητα σε αλγορίθμους από τη στιγμή που δεν είναι σίγουρο ή/και υποχρεωτικό ότι ο αλγόριθμος θα εκτελεστεί από Η/Υ;

Υ.Γ. 2

Επίσης, θα έλεγα ότι η αναφορά στη σελίδα 56 του βιβλίου, αποτελεί μάλλον μια ιστορική αναφορά περί της αντίληψης της στατικότητας, που μπορεί να ίσχυε παλιά (βλ. pascal) αλλά που δεν μπορούμε να δεχτούμε σήμερα.

Ως ανάλογο, θα ανέφερα την πρόταση του βιβλίου ότι στην εντολή Για όταν το βήμα είναι 0 έχουμε άπειρες επαναλήψεις! Οι εμπλεκόμενοι σε βάθος με το μάθημα ήδη θεωρούν αστείο αυτόν τον ισχυρισμό (για την περίπτωση που η αρχική τιμή του μετρητή είναι μεγαλύτερη της τελικής τιμής), και αν κάποια ΚΕΕ στο μέλλον έκανε χρήση αυτού του σημείου για να βγάλει θέμα, τι θα λέγαμε τότε; Ότι το λέει το βιβλίο; Πάλι χαμός δεν θα γινόταν;

Υ.Γ. 3

Το τσουνάμι των μηνυμάτων από τους συναδέλφους δηλαδή δεν απασχολεί κανέναν; Είναι τυχαίο; Δεν νομίζω!

Υ.Γ. 4

Αφού το ζήτημα της στατικότητας των πινάκων στους αλγορίθμους θεωρήθηκε  πλέον ζήτημα κεφαλαιώδους σημασίας για το μάθημά μας, τότε γιατί όσοι υποστηρίζετε σθεναρά την συγκεκριμένη άποψη δεν δώσατε την ανάλογη προσοχή κατά τη διδασκαλία του μαθήματός σας, ώστε να το τονίσετε στους μαθητές σας, και να μην πάνε ακόμα και οι καλύτεροι από αυτούς να κάνουν χρήση πίνακα στο θέμα 3, όπως έχετε παραδεχτεί;

Επίσης, πού και πόσο είχε συζητηθεί αυτό το ζήτημα μέσα στο Στέκι, πριν τις πανελλήνιες, τη στιγμή που για άλλα πιο απλά και ξεκάθαρα ζητήματα έχουν γραφτεί μηνύματα επί μηνυμάτων; Μήπως τελικά δεν είναι τόσο σημαντικό και καθόμαστε (κι εγώ μαζί!) και διυλίζουμε τον κώνωπα;

Υ.Γ. 5

Η άποψη ότι αν δεχτούμε τα παραπάνω τότε όλα θα λύνονται με πίνακες, παρόλο που δεν την θεωρώ ως πιθανή κατάληξη, ωστόσο δεν καταλαβαίνω γιατί θα πρέπει να εμπλέκεται και να αναφέρεται μαζί τα παραπάνω. Ακόμα κι αν προέκυπτε, δεν θα έπρεπε να ξεκινήσουμε ανάποδα και να αλλάξουμε όλο το οικοδόμημα της αλγοριθμικής ώστε να το αντιμετωπίσουμε. Θα έπρεπε να βρούμε άλλες λύσεις. Π.χ. να το επισημαίνει η εκφώνηση της άσκησης, αν δεν βρεθεί κάτι άλλο πιο κομψό!

Υ.Γ. 6

Όλα τα παραπάνω δεν καλύπτουν το σύνολο των επιχειρημάτων μου περί χρήσης πίνακα στο θέμα 3, μένω όμως για την ώρα σε αυτά επειδή αποτελούν μία ενιαία ενότητα επιχειρημάτων.

alkisg

Παράθεση από: Βιβλίο καθηγητή, σελίδα 66
Από τις παραπάνω τρεις εναλλακτικές προτάσεις, η πλέον προφανής για το
μαθητή είναι η πρώτη. Άλλωστε είναι δυνατό μετά τον υπολογισμό του αποτελέ-
σματος y, να ακολουθεί η εντολή "Γράψε y". Επίσης αντί για τη γραμμή Δεδομένα,
να υπάρχει η εντολή "Διάβασε α, β, γ, δ". Ωστόσο χωρίς να απορρίπτουμε την
προσέγγιση αυτή, προτιμότερη είναι η τρίτη πρόταση για τους εξής λόγους:
I) Ο αλγόριθμος λύνει το πρόβλημα και δεν ασχολείται με τον τρόπο εισαγωγής
δεδομένων και παρουσίασης αποτελεσμάτων.
ΙΙ) Αν ο αλγόριθμος υλοποιηθεί ως υποπρόγραμμα ή συνάρτηση, τότε είναι προ-
τιμότερο να μην έχει εντολές εισόδου-εξόδου. Οι γραμμές Δεδομένα και Απο-
τελέσματα παραπέμπουν ακριβώς στο πέρασμα παραμέτρων στη διαδικα-
σία.


merlin

Νίκο όπως σου υποσχέθηκα, διάβασα με προσοχή αυτά που γράφεις και θα προσπαθήσω να σου δώσω μια όσο το δυνατό πληρέστερη απάντηση.

Η εντολή Δεδομένα, για μένα, δεν ισοδυναμεί με τη διάβασε, δεν ισοδυναμεί με το πέρασμα παραμέτρων σε υποπρόγραμμα, δεν ισοδυναμεί με εντολές εκχώρησης τιμής. Δεν είναι 1 προς 1 η σχέση.
Κάποιες φορές η εντολή Δεδομένα μπορεί να αντικατασταθεί με το διάβασε, κάποιες φορές με παραμέτρους σε υποπρόγραμμα κλπ.

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

Στις ασκήσεις που παρέθεσες θα σου αναφέρω τη χρήση της εντολής Δεδομένα για κάθε μια:
1) Δεδομένα //Μ1,Μ2// στον πολ/μό αλά Ρωσικά
       Τι θέλουμε να δείξουμε στο μαθητή? Τον τρόπο που θα λύσει το πρόβλημα, με δεδομένους 2 αριθμούς. Ναι, το Μ1 και το Μ2 μπορεί να είναι γνωστά από πριν, μπορεί και όχι. Εδώ μπορούμε να χρησιμοποιήσουμε εναλλακτικά και τη Διάβασε

2) Δεδομένα //a,b// στον αλγόριθμο της δύναμης
Εδώ πρέπει να γνωρίζουμε από πριν την τιμή του b για να "προετοιμάσουμε" τα κατάλληλα υλικά για τη λύση του προβλήματος. Μας έβαλε ο καθηγητής μας άσκηση για το σπίτι τον υπολογισμό του 4^56. Ξέρω ότι θα χρειαστώ το πολύ 56 γραμμές τετραδίου (πίνακας 56 θέσεων) για να αποθηκεύω προσωρινά κάποια δεδομένα (στην πραγματικότητα είναι πολύ λιγότερα αλλά με παίρνει να το παίζω large). Αλλάζει κάτι στην διαδικασία επίλυσης (αλγόριθμο) αν είναι 56 ή 76 ο εκθέτης? Τίποτα. Μπορώ να λύσω οποιοδήποτε ίδιο πρόβλημα, αρκεί να γνωρίζω τον εκθέτη ως δεδομένο.

Μπορώ να χρησιμοποιήσω εδώ τη διάβασε? Όχι!
Τί σημαίνει όμως αυτό? Ότι ο καθηγητής μου είπε (κακώς) ότι θα βάλει διαγώνισμα να υπολογίσω μια δύναμη με τον παραπάνω τρόπο, αλλά θα μάθω τον εκθέτη όταν δω τα θέματα!
Πόσα τετράδια (μέγεθος πίνακα) πρέπει να έχω μαζί μου για να είμαι καλυμμένος ότι θα μου φτάσουν για την επίλυση του προβλήματος?

3) Ομοίως για το πρόβλημα με τα CD. Θεωρώ ότι είναι γνωστά το πλήθος, τίτλοι κλπ και επικεντρώνω στην ουσία, που είναι η μέθοδος ταξινόμησης.

Γενική παρατήρηση:
Θεωρείτε τυχαίο το γεγονός ότι σε όλες τις παραπάνω προτεινόμενες λύσεις το βιβλίο δεν χρησιμοποιεί την εντολή διάβασε? Δε νομίζω.

Συνεχίζω σε επόμενο ποστ για τη χρήση πίνακα σε υποπρογράμματα...
Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20

merlin

...συνέχεια από το προηγούμενο.

Για το θέμα της σύνδεσης της εντολής Δεδομένα με τις παραμέτρους υποπρογραμμάτων:
Το υποπρόγραμμα δεν έχει και μεγάλες διαφορές από ένα πρόγραμμα. Είναι μια αυτόνομη οντότητα που επεξεργάζεται δεδομένα και επιστρέφει πληροφορίες.

Με ποιο μηχανισμό όμως γίνεται αυτό το πάρε - δώσε τιμών? Τι γνωρίζουν οι μαθητές? 1 κουτάκι (μεταβλητή) περιμένουμε να μας έρθει στο υποπρόγραμμα, 1 πρέπει να στείλουμε από το κυρίως πρόγραμμα. 100 περιμένουμε (με τη μορφή πίνακα), 100 πρέπει να στείλουμε.
Πότε το γνωρίζουμε αυτό? Κατά τη συγγραφή του.
Καταφεύγουμε λοιπόν σε εκφωνήσεις (όταν πραγματικά απαιτούνται πίνακες) του στυλ "θεωρήστε ότι έχουμε 100 εργαζόμενους ή έχουμε μέγιστο πλήθος 1000 κλπ". Παρόμοια προβλήματα αντιμετωπίζουμε για την δήλωση των πινάκων είτε το λύσουμε με πρόγραμμα είτε με υποπρόγραμμα.

Φυσικά εμείς σαν έμπειροι προγραμματιστές, θα θέλαμε τα υποπρογράμματά μας  (αλλά και τα προγράμματα) να είναι όσο το δυνατό πιο "γενικά" και να ταξινομούν για παράδειγμα ένα πίνακα "αόριστου" μεγέθους. Έχουμε όμως τις γνώσεις, τα εργαλεία (δυναμικές δομές, pointers, κλπ) για να υλοποιήσουμε πραγματικά "αυτόνομα" υποπρογράμματα. Οι μαθητές δεν μπορούν με τα μέσα που διαθέτουν. Είναι κακό?

Από τον παραπάνω συλλογισμό λοιπόν, εσείς καταλαβαίνετε ότι η εντολή Δεδομένα ισούται πάντα με τις παραμέτρους σε κάποιο υποπρόγραμμα?
Κάποιες φορές (π.χ. για τον πολλαπλασιασμό αλά ρωσικά) μπορούμε να αντιστοιχίσουμε το Δεδομένα // .... // με τις αντίστοιχες παραμέτρους.
Το ίδιο μπορούμε να κάνουμε για τους 100 εργαζόμενους. Όχι όμως για τον υπολογισμό της δύναμης.

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

Τέλος, θα ήθελα να παραθέσω μιας και είναι επίκαιρο, τον παρακάτω προβληματισμό:
Αν εμείς οι ίδιοι πιστεύουμε ότι κάνουμε προγραμματισμό και όχι επίλυση προβλημάτων της καθημερινότητας χρησιμοποιώντας αλγοριθμική σκέψη, πώς θα πείσουμε το υπουργείο για το αντίθετο?



Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20

Νίκος Αδαμόπουλος

#228
Ας το πιάσω από αλλού: Ουσιαστικά το βιβλίο με την ψευδογλώσσα μιλάει σε «αλγοριθμικό επίπεδο» και με τη ΓΛΩΣΣΑ σε «προγραμματιστικό επίπεδο». Αυτό μπερδεύει καταρχάς τους συναδέλφους που προσπαθούν να τα συγχωνεύσουν όλα σε ένα επίπεδο, το οποίο θα τους άρεσε να το ονομάζουν αλγοριθμική, αλλά που στην ουσία είναι προγραμματισμός! 

Έτσι λοιπόν η ψευδογλώσσα είναι πολύ πιο χαλαρή... και μάλλον εσκεμμένα έχει μικροδιαφορές στη σύνταξή της (μονά-διπλά εισαγωγικά, πεζά-κεφαλαία, κόμμα-τελεία για υποδιαστολή, κλπ) και κυρίως στη λειτουργία της από τη ΓΛΩΣΣΑ. Θα έλεγα ότι κάποια που λέμε θεωρητικά ότι γίνονται σε αλγοριθμικό επίπεδο, δεν προκύπτουν στην πράξη στο προγραμματιστικό επίπεδο! Τα παραδείγματα είναι πολλά και σκέφτομαι να ανοίξω ειδικό θέμα στο Στέκι. Ενδεικτικά, μερικά:

Α) Η ψευδογλώσσα δεν κάνει διάκριση ακέραιων και πραγματικών και για αυτό και δεν είχε μέχρι πρόσφατα div και mod. Υπήρχαν βέβαια τρόποι να βρούμε το πηλίκο και το υπόλοιπο ακέραιας διαίρεσης (π.χ =[Μ/2], =Μ-[Μ/2]*2). Βέβαια αυτό δεν μας άρεσε και ουσιαστικά προκαλέσαμε την πρόσφατη σχετική διόρθωση του βιβλίου, το οποίο όμως απομακρύνθηκε από το αρχικό πνεύμα του.

Β)  Στη ΓΛΩΣΣΑ αναπόφευκτα έχουμε περιορισμούς στα μεγέθη των αριθμών. Έτσι, στην ψευδογλώσσα το παρακάτω λέμε ότι κάνει άπειρες επαναλήψεις.
  i <- 10000
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    i <- i* 2
    ΓΡΑΨΕ i
  ΜΕΧΡΙΣ_ΟΤΟΥ i <= 100

Στην ΓΛΩΣΣΑ όμως όχι! (στον Διερμηνευτή της ΓΛΩΣΣΑΣ το δοκίμασα και κάνει μόλις 50!!!).

Γ)  Ομοίως, στην ψευδογλώσσα το παρακάτω λέμε ότι δεν εμφανίζει τίποτα.
  b <- 1/ 1000000000
  ΑΝ b = 0.000000002 ΤΟΤΕ
    ΓΡΑΨΕ '*'                                           
  ΤΕΛΟΣ_ΑΝ

Στην ΓΛΩΣΣΑ όμως εμφανίζει το «*» ! (με τις default ρυθμίσεις του Διερμηνευτή).

Δ) Ομοίως το παράδειγμα με τον περιβόητο αλγόριθμο υπολογισμό του a^b. Στην ψευδογλώσσα είναι ΟΚ, όμως στην ΓΛΩΣΣΑ όχι! Εκτός κι αν το πετσοκόψουμε και μιλάμε π.χ. για α^53.

Ε) Έτσι, το θέμα 3 σε ψευδογλώσσα δεν έχει (κατ' εμέ) πρόβλημα με Διάβασε Ν και πίνακες, ενώ στη ΓΛΩΣΣΑ δεν γίνεται (βέβαια σε άλλες γλώσσες γίνεται!)

-------------

Σε σχέση με την εντολή Δεδομένα δεν μίλησε κανείς για «ισοδυναμία» ούτε καν για «1-1». Οι 3 εναλλακτικές που αναφέρω είναι για την περίπτωση που κάποιος πήγαινε να κάνει μετατροπή του αλγορίθμου σε πρόγραμμα σε κάποια γλώσσα προγραμματισμού. Το γεγονός ότι δεν είναι εφικτές πάντα όλες αυτές οι μετατροπές σε ΓΛΩΣΣΑ, και εξετάζεις με διαφορετικό τρόπο μία μία περίπτωση, είναι επειδή ακριβώς λαμβάνεις υπόψη σου τους περιορισμούς της ΓΛΩΣΣΑΣ. Όμως αυτό ακριβώς είναι που δείχνει ότι δεν μετατρέπονται (αν δεν κατακρεουργηθούν) όλοι οι αλγόριθμοι του βιβλίου στη ΓΛΩΣΣΑ. Όμως αυτό δεν είναι σημαντικό ούτε και ουσιώδες, αφού (όπως ανέφερα παραπάνω) έτσι κι αλλιώς υπάρχουν σημαντικές διαφορές ανάμεσα στο «αλγοριθμικό επίπεδο» και στο «προγραμματιστικό επίπεδο», ή, αλλιώς, στη «λειτουργία» της ψευδογλώσσας από αυτήν της ΓΛΩΣΣΑΣ. Αρκεί που οι μετατροπές είναι εφικτές σε άλλες γλώσσες προγραμματισμού. Το τι νόημα έχει η εντολή αυτή προκύπτει από το βιβλίο καθηγητή και τη δημοσίευση του Κοίλια και όχι ανάλογα με το τι εκτιμάμε εμείς. Το να δίνουμε εμείς στην εντολή Δεδομένα διαφορετικό νόημα κάθε φορά, προκειμένου να καταστήσουμε συμβατή την ψευδογλώσσα με τη ΓΛΩΣΣΑ δείχνει ότι δεν διακρίνουμε το αίτιο από το αιτιατό. Το ότι δεν εφικτές όλες οι μετατροπές στη ΓΛΩΣΣΑ είναι αναπόφευκτο αποτέλεσμα, και όχι κάτι που πρέπει να καταπολεμήσουμε, αφού μας ενδιαφέρει η αλγοριθμική και όχι ο προγραμματισμός όπως λες.

Όλα αυτά δεν σημαίνουν ότι προτείνω πίνακες παντού (όπως τονίζω σε κάθε μήνυμά μου), αλλά άλλο είναι να λέμε ότι κάτι «είναι λάθος», άλλο είναι να λέμε ότι «δεν είναι η καλύτερη λύση».

Τα συγκεκριμένα παραδείγματά σου κατ' αμέ είναι αδύναμα αφού φαίνεται καθαρά ότι η επιχειρηματολογία τους είναι βεβιασμένη και επινοήθηκε εκ των υστέρων για να δικαιολογηθεί η άποψη της ΚΕΕ. Έτσι, επικαλείσαι την επίλυση προβλημάτων της καθημερινότητας χωρίς τη χρήση υπολογιστή, αλλά υιοθετείς περιορισμούς από το χώρο του προγραμματισμού υπολογιστών. Όμως οι αναλογίες σου θεωρώ θα προκαλούν προβληματισμό στα παιδιά! Έτσι, σύμφωνα με την επιχειρηματολογία σου δεν θα μπορούσαμε να ταξινομήσουμε τα CD αν δεν ξέρουμε από την αρχή πόσα είναι, το οποίο σε έναν μαθητή θα προξενούσε σύγχυση... Σύγχυση καταρχάς σε σχέση με το τι σημαίνει από την αρχή. Ποια είναι η αρχή; Όταν θα έχει διατυπωθεί το πρόβλημα; Ή μήπως αφού φροντίσουμε να έχουμε μάθει κάποιες επιπλέον πληροφορίες (βλ. το πλήθος των CD ως σταθερά); Σε επίλυση προβλημάτων χωρίς υπολογιστή αυτό δεν έχει σημασία! Η αναζήτηση των επιπλέον πληροφοριών μπορεί να είναι και μέρος της φάσης επίλυσης (βλ. το  «Διάβασε» το πλήθος των CD ως μεταβλητή, ή και η ανεύρεση των απαιτούμενων θηκών που ναι μπορεί και να μην υπάρχουν). Μάλιστα, ο μαθητής θα σου έλεγε πως: «Εγώ τα CD μου τα έχω ήδη σε θήκες (βλ. σε πίνακες) και παρόλα αυτά δεν ξέρω πόσα είναι! Ξεκινάω τη διαδικασία της επίλυσης, αρχικά βλέπω πόσα είναι, και στη συνέχεια εφαρμόζω ταξινόμηση»! Τι θα του πεις τότε; Ότι «δεν επιτρέπεται αυτό» γιατί η μέθοδός του δεν ταιριάζει καλά σε αυτό που θέλεις να του εξηγήσεις; Ή ότι θα πρέπει να τα μετρήσει πρώτα και μετά να «κηρύξουμε» την έναρξη της επίλυσης; Και ποια είναι η διαφορά; Στο τέλος θα χάσουμε το δάσος για να μη μας χαλάσει το δέντρο! Τα προβλήματα της καθημερινότητας συνήθως είναι ανοιχτά – δεν έχουμε από την αρχή όλα τα δεδομένα και καμιά φορά θα πρέπει να τα ανακαλύψουμε μόνοι μας. Βιβλίο σελ. 12: «Δεν είναι πάντοτε ιδιαίτερα κατανοητό τι ακριβώς ζητάει ένα πρόβλημα. Σε μια τέτοια περίπτωση θα πρέπει να θέτονται μια σειρά από ερωτήσεις με στόχο την διευκρίνηση πιθανών αποριών σχετικά με τα ζητούμενα, τον τρόπο παρουσίασής τους, το εύρος τους κ.λπ. Οι ερωτήσεις αυτές μπορούν να απευθύνονται είτε στο δημιουργό του προβλήματος, είτε στον ίδιο μας τον εαυτό αν εμείς καλούμαστε να αντιμετωπίσουμε το πρόβλημα.» Όμως στο σχολείο έχουμε μάθει να μιλάμε για συγκεκριμένου τύπου προβλήματα, με αυστηρούς περιορισμούς, που τα απομακρύνουν από τον πραγματικό κόσμο (π.χ. να μην έχουμε ισοβαθμίες, να δεχτούμε ότι μπορεί κάποιος να κάνει πήδους ακόμα και 50 μέτρων αν η άσκηση δεν μας λέει το αντίθετο, να φροντίσουμε ώστε η μέθοδός μας να δουλεύει σωστά για όλους τους πλανήτες και στον αιώνα τον άπαντα, να μη βάζουμε μόνοι μας «αυθαίρετα» όρια, κλπ.) Αυτό μπορεί να ισχύει για τα μαθηματικά, όπου αυτή η αφαίρεση είναι αναγκαία και που η έννοια της απόδειξης καταλαμβάνει το κεντρικό ρόλο, ή στη φυσική-χημεία που λύνουμε προβλήματα υπό ιδανικές συνθήκες (π.χ. χωρίς τριβές), αλλά δεν θα έπρεπε σε εμάς. Για τους ίδιους λόγους μας ενοχλεί όταν κάποιες ασκήσεις του τετραδίου μαθητή δεν διευκρινίζουν απόλυτα ποια είναι τα δεδομένα και τα ζητούμενα. Μας ενοχλεί όταν υπάρχουν δεδομένα που περισσεύουν – που δεν παίζουν ρόλο στη λύση – ή όταν λείπουν πράγματα που χρειάζονται. Και θεωρούμε ότι είναι πολύ σημαντικό το αν θα ξέρουμε από την αρχή το πλήθος των CD ή αν θα κάνουμε Διάβασμα στην πορεία. Έτσι καταλήγουμε σε ανούσιους τυφλοσούρτες του στυλ «αν έχουμε Διάβασε Ν τότε δεν μπορούμε να...». Κι όμως η σχετική βιβλιογραφία για το επίπεδο της αλγοριθμικής δεν συμφωνεί καθόλου με κάτι τέτοιο (βλ. σχετική παρουσίαση στο WIE στην Τρίπολη φέτος)....

Από τη στιγμή που επικαλείσαι επίλυση προβλημάτων και όχι προγραμματισμό (όπως κι εγώ! – βλ. τελευταίο παραπάνω μήνυμά  μου όπου παραθέτω και αναφορές από το σχολικό βιβλίο), τότε τέτοιοι αυστηροί περιορισμοί δεν θα έπρεπε να υφίστανται όταν είμαστε στο στάδιο της επινόησης του αλγορίθμου, αλλά όταν - και αν - πάμε στο στάδιο του προγραμματισμού. Με τη δικιά μου οπτική, λοιπόν, εσύ είσαι αυτός που δίνει έμφαση στον προγραμματισμό! Για αυτό και θεωρώ ατυχή την τελευταία αναφορά σου για το υπουργείο.

Παρασκευά δεν σου κρύβω ότι προχώρησα να απαντήσω με μεγάλη απροθυμία για διάφορους λόγους: α) σε εκτιμάω και σε σέβομαι επειδή γνωρίζω το επίπεδο που κρατάς ως εκπαιδευτικός, οπότε δεν ήθελα να χαλάμε τις καρδιές μας, β) θεωρώ όμως ότι μου δίνεις αποσπασματική και όχι ολοκληρωμένη απάντηση σε αυτά που είχα γράψει και για αυτό είχα σκεφτεί αρχικά να μην συνεχίσω, γ) έχει φανεί από την αρχή ότι ο καθένας που συμμετείχε σε αυτή τη συζήτηση έχει τις πεποιθήσεις του τις οποίες και δεν αλλάζει, για αυτό και η συζήτηση δεν καταλήγει πουθενά (θα λέγαμε ότι σε «αλγοριθμικό επίπεδο» η συζήτηση είναι ατέρμονη – σε «προγραμματιστικό επίπεδο» δεν μπορεί να είναι ατέρμονη μεν, αλλά δεν θα δώσει αποτέλεσμα δε!), δ) ίσως όλη η συζήτηση να αποδειχθεί άχρηστη στο μέλλον λόγω των σχεδίων του υπουργείου! Έτσι δεν νομίζω ότι θα επανέρθω, τουλάχιστον αν πρώτα δεν προκύψει θετικό αποτέλεσμα σε αυτό το τελευταίο.

merlin

Νίκο συμφωνώ στο 98% αυτών που λές. Ξεκινώντας από το τέλος, θέλω να δηλώσω ότι ούτε εγώ πιστεύω ότι θα βγει εύκολα άκρη (αν βγει), ούτε έχω διάθεση άλλης αντιπαράθεσης, ούτε πια έχει και πολύ νόημα με όλα αυτά που συμβαίνουν τον τελευταίο καιρό.

Επίσης, δεν ασχολούμαι πια με το 3ο θέμα (κι ας βρίσκομαι σε αυτό το τόπικ) αλλά προσπαθώ να καταλάβω μέσα από την κουβέντα τις γενικότερες απόψεις πολύ αξιόλογων συναδέλφων των οποίων η άποψή τους μετράει πολύ για μένα και την εκτιμώ (είσαι και εσύ μέσα σε αυτούς, γι' αυτό και προσπάθησα να σου απαντήσω αρχικά).
Στην τελική μπορεί και να κάνω λάθος, να έχω λάθος αντίληψη σε μερικά πράγματα.

Η επιμονή μου στη "σύνδεση" των προβλημάτων με αναφορές στην πραγματική ζωή πηγάζει από το γεγονός ότι δεν θέλω να νομίζουν οι μαθητές ότι αυτά που κάνουν είναι άχρηστα για τους περισσότερους (εκτός από αυτούς που θα γίνουν προγραμματιστές ή εκείνους που θα τύχει να έχουν 1 ή 2 μαθήματα σχετικά στο πανεπιστήμιο).

Θα με βοηθούσε αν μου έλεγες που έχω λάθος στην παρακάτω φιλοσοφία μου:
1) Ένας κλασσικός πίνακας μπορεί να παρομοιαστεί με ένα σύνολο από κουτάκια (συνεχόμενα), κάτω από ένα όνομα . Άπειρες αναφορές μπορούμε να έχουμε (εργαλειοθήκες, CDθήκες, κλπ). Η στατικότητά τους, έτσι όπως ορίζεται (ανεπαρκώς ίσως) στο βιβλίο, σημαίνει ότι πριν αρχίσουμε να λύνουμε το πρόβλημά μας πρέπει να έχουμε φροντίσει να "αγοράσουμε" τα κατάλληλα μεγέθη.
2) Κάποιες γλώσσες (όπως η C) έχουν στατικούς πίνακες μεν, αλλά μπορούμε να "αγοράσουμε" όσα κουτάκια θέλουμε on demand, τη στιγμή της λύσης (έχουμε το μαγαζί με τις CDθήκες στον κάτω όροφο)
3) Υπάρχουν οι δυναμικές δομές στις οποίες θα μπορούσα να πω και εκεί παραδείγματα, είτε είναι απλά είτε διπλά συνδεδεμένες λίστες, δέντρα, κλπ

Όμως από τα 3 παραπάνω μόνο το 1ο μας ενδιαφέρει, έτσι δεν είναι? Τα υπόλοιπα, ούτε καν τα γνωρίζουν τα παιδιά. Ακόμα όμως και αν ρωτήσουν (φυσικά μου έχει τύχει) "αν δω ότι δεν μου φτάνουν τα κουτάκια, πάω και παίρνω και άλλα". Θέλουμε ή όχι να καταλάβουν οι μαθητές ότι το πρόβλημα δεν κατάφεραν να το λύσουν γιατί δεν είχαν κάνει σωστή εκτίμηση? Τι πάει να πει "θα πάω να πάρω κι άλλα"? Κι αν τα αγόρασες από τη Ζιμπάμπουε, θα ξαναπάς?

Είναι λοιπόν πολύ διαφορετικό να ξέρεις από πριν πόσα κουτάκια θα χρειαστείς (πας στη Ζιμπαμπουε, και όταν τα αγοράσεις και είσαι έτοιμος, ΤΟΤΕ ξεκινάς και λύνεις το πρόβλημα).
Στο πρόβλημα με τα CD, ο μαθητής τα είχε ήδη τα CD στις θήκες του, δεν υπάρχει πρόβλημα. Αν όμως πήγαινε στον κολλητό του που ήταν "χύμα" και τα CD τα είχε πεταμένα από δω κι από κει, θα μπορούσε να το λύσει το πρόβλημα?

Δεν θέλω να πλατιάσω άλλο, πιστεύω πάντως ότι με τέτοιες αναφορές οι μαθητές δεν συγχίζονται, το αντίθετο έχω διαπιστώσει.
Άλλωστε ακόμα και για πολύ πιο σύνθετα πράγματα (όπως τα αντικείμενα, κλάσεις κλπ) αναφερόμαστε στην καθημερινότητα.

Σε ένα φόρουμ δεν μπορείς να πεις πολλά, ελπίζω να τα πούμε κάποια στιγμή από κοντά (εκείνο το ουζάκι ακόμη το κανονίζουμε!)  :)


Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20

Νίκος Αδαμόπουλος

Όπως έχω ξαναπεί παραπάνω ( https://alkisg.mysch.gr/steki/index.php?topic=2937.msg31335#msg31335 ) η στατικότητα όπως ορίζεται από το βιβλίο αναφέρεται στο προγραμματιστικό επίπεδο (βλ. "...κατά τη στιγμή του προγραμματισμού τους, και κατά συνέπεια κατά τη στιγμή της μετάφρασής τους...") και όχι κατ' ανάγκη στο αλγοριθμικό επίπεδο. (ασχέτως αν στην πραγματικότητα δεν ισχύει πλέον ούτε και αυτό σε προγραμματιστικό επίπεδο για όλες τις γλώσσες - θα λέγαμε ότι πρόκειται για έναν παλιό σκονισμένο ορισμό που υπάρχει ακόμα για ιστορικούς λόγους).

Επειδή λοιπόν εμείς μιλάμε σε αλγοριθμικό επίπεδο, οι όποιες αναφορές περί στατικότητας ή δέσμευσης χώρου (μνήμης, κουτιών, κλπ ) δεν έχουν ιδιαίτερη αξία... Έτσι, για μένα, από τις περιπτώσεις που αναφέρεις, η 1 και 2 δεν έχει διαφορά, εκτός κι αν ο σκοπός του παραδείγματός σου είναι ακριβώς αυτός: να δείξεις την στατικότητα όπως την ορίζει το βιβλίο, αλλά σε αλγοριθμικό επίπεδο. Αλλιώς ποια είναι η διαφορά του να αγοράσεις τα κουτάκια πριν ή κατά την επίλυση. Έτσι κι αλλιώς όποτε και να γινόταν η αγορά, πάντα θα έχεις όρια στο πόσα κουτάκια θα αγοράσεις (δεν θα σε φτάνουν τα λεφτά, δεν θα έχεις πού να βάλεις τα κουτάκια, κλπ). Το να τα αγοράσεις από πριν δεν σημαίνει ότι θα μπορείς να ξεπεράσεις αυτά τα όρια. Όπως έλεγα και στο προηγούμενο μήνυμα, γιατί να ενταχθεί η αγορά των κουτιών στη "φάση προετοιμασίας για την επίλυση" και όχι στην "φάση της ίδιας της επίλυσης"; Στο αλγοριθμικό επίπεδο εγώ δεν θέλω να τα ξεχωρίζω αυτά τα δύο. Άλλωστε τα κουτάκια υπάρχουν στο μαγαζί του κάτω ορόφου - εκτός κι αν φοβόμαστε μήπως έχουν ήδη πουληθεί αλλού όταν θα τα χρειαστούμε!

Και για να κλείνω, μη νομίζεις ότι δεν είναι κι εγώ υπέρ των παραδειγμάτων από την καθημερινή ζωή και των αναλογιών γενικότερα. Δες π.χ. ένα παλιότερο κείμενό μου που μιλούσε για διδασκαλία εννοιών από τα δίκτυα: http://www.etpe.gr/files/proceedings/uploads1/paper_s74.pdf

merlin

Δηλαδή, το συμπέρασμα είναι ότι το 3ο κεφάλαιο δε θα έπρεπε να υπάρχει ΚΑΘΟΛΟΥ? Τί είναι τελικά ο "αλγοριθμικός" πίνακας? Ποιά η διαφορά του από τον "προγραμματιστικό"? Εχει νόημα να υπάρχουν οι δομές δεδομένων γενικότερα στους αλγορίθμους? Από αυτά που βλέπω όμως στη βιβλιογραφία, υπάρχουν "αλγοριθμικές" κλάσεις, λίστες, δέντρα  (και φυσικά πίνακες) κλπ.
Μήπως τελικά όταν "εκτελούμε" έναν αλγόριθμο (είτε εμείς οι ίδιοι στο χαρτί, είτε σε PC, είτε με οποιοδήποτε μέσο), μιλάμε για "πρόγραμμα", οπότε είμαστε δέσμιοι του πεπερασμένου των υλικών που χρησιμοποιούμε? Ακόμα και με την malloc στην C για δέσμευση καινούριου κόμβου σε μια συνδεδεμένη λίστα, δεν έχουμε ως πάνω όριο την ελεύθερη RAM του Η/Υ?

Παράθεση από: Νίκος Αδαμόπουλος στις 02 Νοε 2010, 11:30:09 ΜΜ
.... Έτσι, για μένα, από τις περιπτώσεις που αναφέρεις, η 1 και 2 δεν έχει διαφορά, εκτός κι αν ο σκοπός του παραδείγματός σου είναι ακριβώς αυτός: να δείξεις την στατικότητα όπως την ορίζει το βιβλίο, αλλά σε αλγοριθμικό επίπεδο. Αλλιώς ποια είναι η διαφορά του να αγοράσεις τα κουτάκια πριν ή κατά την επίλυση. Έτσι κι αλλιώς όποτε και να γινόταν η αγορά, πάντα θα έχεις όρια στο πόσα κουτάκια θα αγοράσεις (δεν θα σε φτάνουν τα λεφτά, δεν θα έχεις πού να βάλεις τα κουτάκια, κλπ). Το να τα αγοράσεις από πριν δεν σημαίνει ότι θα μπορείς να ξεπεράσεις αυτά τα όρια....

Δεν φαίνεται η διαφορά ότι στην 1η περίπτωση το μαγαζί είναι στη Ζιμπάμπουε (καρα-στατικός πίνακας όπως τον γνωρίζαμε εμείς πριν πολλά χρόνια), άρα αν δε με φτάσουν τα κουτάκια κατά την εκτέλεση της λύσης λέω "κλάφτα Χαράλαμπε", ενώ στη 2η περίπτωση μπορώ άμεσα να αγοράσω όσα κουτάκια μάθω εκείνη τη στιγμή ότι θα χρειαστώ (int array[n] όπου το n το έχω διαβάσει πιο πριν)?

Δε μου λέει τίποτα το γεγονός ότι έχουν εξελιχθεί οι γλώσσες προγραμματισμού και χειρίζονται τις δομές δεδομένων με καλύτερο τρόπο. (Για παράδειγμα στο Microworlds μπορείς να χρησιμοποιείς πίνακα και να προσθέτεις κι άλλα στοιχεία μέσα, κάτι σαν στατικοί - δυναμικοί ταυτόχρονα.)

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

Παρασκευάς Πανάγου
Μηχανικός Η/Υ Συστημάτων
Καθηγητής Πληροφορικής ΠΕ20