Μετατροπή από μία εντολή επανάληψης σε άλλη

Ξεκίνησε από Σπύρος Δουκάκης, 04 Απρ 2011, 03:03:14 ΜΜ

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

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

Στο 5ο Πανελλήνιο Συνέδριο Καθηγητών Πληροφορικής, στα Ιωάννινα (1-3 Απριλίου 2011) προσπαθήσαμε να παρουσιάσουμε μία ολοκληρωμένη προσέγγιση για την μετατροπή ενός αλγόριθμου ή ενός τμήματος αλγόριθμου από μία εντολή επανάληψης σε μία άλλη, εφόσον αυτή είναι εφικτή.

Πέρδος, Α., Δουκάκης, Σ., & Γιαννοπούλου, N. (2011). Αλγοριθμική προσέγγιση της μετατροπής από μία εντολή επανάληψης σε άλλη, Πρακτικά 5ου Πανελληνίου Συνεδρίου Καθηγητών Πληροφορικής Δευτεροβάθμιας Εκπαίδευσης με θέμα: «Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση - Ο ρόλος του καθηγητή Πληροφορικής στο νέο σχολείο», 1-3 Απριλίου 2011, Ιωάννινα, σελ. 164-173.

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

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

Μπορείτε να διαβάσετε ή να μεταφορτώσετε την εργασία που παρουσιάστηκε στο συνέδριο από τον σύνδεσμο http://wp.me/pykbG-2b ή το συνημμένο.

dream

#1
Καλησπέρα ,

Προκειμένου να παρουσιαστεί καλύτερα και πληρέστερα (τολμώ να πω) το δύσκολό για τους μαθητές θέμα της μετατροπής τμήματος αλγόριθμού από Όσο σε Για επισυνάπτω και την προτεινόμενη μεθοδολογία που παρουσίασα στο 5ο Συνέδριο Διδακτική της Πληροφορικής, Αθήνα, Απρίλιος 2010 .

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

Με εκτίμηση,
Δρίμτζιας Βασίλης

Καθηγητής Πληροφορικής 1ο ΓΕΛ Ηγουμενίτσας

nikipap

διαβασα τις 2 εργασιεσ.
μπορει καποιοσ να μου εξηγησει γιατι για παραδειγμα προσθετουμε +0.01 αν καποιο απο τα τρια τ1, τ2, τ3 εχει δεκαδικα ψηφια.
δηλαδη θελω το λογο για να μπορεσω να το εξηγησω στους μαθητες

ευχαριστω

dream

Αγαπητέ nikipap,

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

μεταβλητή←τιμή1
Όσο μεταβλητή  < τιμή2 επανάλαβε           !αντίστοιχα ισχύουν και αν συνθήκη της Όσο είναι : μεταβλητή  > τιμή2
        Εντολές   
        μεταβλητή←μεταβλητή + τιμή3
Τέλος_επανάληψης

Θα πρέπει επίσης να ισχύουν τα εξής :
(i)τιμή1 < τιμή2  , προκειμένου οι εντολές να εκτελούνται τουλάχιστον μία φορά.
(ii)τιμή3 > 0 , προκείμενου να μη δημιουργηθεί ατέρμονη επανάληψη.

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


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

ή εναλλακτικά

2ος Τρόπος:
•   Αν τιμή1,τιμή2,τιμή3 είναι ακέραιοι αριθμοί, τότε απλά μειώνουμε (κατ' ελάχιστο) την τιμή2 κατά 1 .
•   Αν  τιμή1 ή/και τιμή2 ή/και τιμή3 είναι πραγματικός αριθμός , τότε απλά μειώνουμε την τιμή2 κατά (κατ' ελάχιστο)  0,1 αν υπάρχει πραγματικός αριθμός με μόνο ένα μόνο δεκαδικό ψηφίο. Είτε μειώνουμε την τιμή2 κατά (κατ' ελάχιστο)  0,01 αν υπάρχει πραγματικός αριθμός με δύο δεκαδικά ψηφία κ.ο.κ.

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

Παράδειγμα 1ο : Η τιμή1 και η τιμή2 και η τιμή3 είναι Ακέραιοι αριθμοί
Υ←τιμή1
Όσο Υ <  τιμή2 επανάλαβε
         Εμφάνισε Υ
         Υ← Υ + τιμή3
Τέλος_επανάληψης

Και έχουμε :
(α) τιμή1= 2 , τιμή2=9 και τιμή3=1

Ισοδύναμη μετατροπή σε Για :

Για Υ από 2 μέχρι 8
Εμφάνισε Υ
Τέλος_επανάληψης

(β) τιμή1= 2 τιμή2=21 και τιμή3=4

Ισοδύναμη μετατροπή σε Για :

Για Υ από 2 μέχρι 18 με_βήμα 4
Εμφάνισε Υ
Τέλος_επανάληψης

Σημείωση : Μπορούμε να βάλουμε ως τιμή2 οποιαδήποτε τιμή που ανήκει στο διάστημα [18..21]

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


Παράδειγμα 2ο : Κάποια από τις τιμές : τιμή1 , τιμή2 ,τιμή3   ή/και όλες είναι Πραγματικοί αριθμοί.

Τότε βλέπουμε ποια τιμή έχει τα περισσότερα σημαντικά ψηφία μετά την υποδιαστολή πχ. είναι η τιμή2=3,893 και πόσα είναι αυτά και το μόνο που χρειάζεται για να εξασφαλίσουμε τον ίδιο αριθμό επαναλήψεων στο τμήμα της Για με το αντίστοιχο της Όσο είναι να μειώσουμε την τιμή2 κατά (κατ' ελάχιστο) 0,001 στο παράδειγμα μας. 

Πιο αναλυτικά :

Υ←τιμή1
Όσο Υ <  τιμή2 επανάλαβε
         Εμφάνισε Υ
         Υ← Υ + τιμή3
Τέλος_επανάληψης

Και
(α) τιμή1= 2 , τιμή2=9 και τιμή3=0,1

Ισοδύναμη μετατροπή σε Για :
Για Υ από 2 μέχρι 8,9
Εμφάνισε Υ
Τέλος_επανάληψης

(β) τιμή1= 2 τιμή2=9,95 και τιμή3=0,5

Ισοδύναμη μετατροπή σε Για :
Για Υ από 2 μέχρι 9,94 με_βήμα 0,5
Εμφάνισε Υ
Τέλος_επανάληψης
Σημείωση : Μπορούμε να βάλουμε ως τιμή2 οποιαδήποτε τιμή που ανήκει στο διάστημα [9,5  .. 9,99]


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

Για παράδειγμα :
Υ←7,65
Όσο Υ <  584,47 επανάλαβε
         Εμφάνισε Υ
         Υ← Υ + 0,12
Τέλος_επανάληψης

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

Για Υ από 7,65μέχρι 584,46 με_βήμα 0,12
         Εμφάνισε Υ
Τέλος_επανάληψης


Δρίμτζιας Βασίλης
Καθηγητής Πληροφορικής , 1ο ΓΕΛ Ηγουμενίτσας
users.sch.gr/vdrimtzias

nikipap

Αρα δεν υπαρχει καποια αποδειξη στον δευτερο τροπο. Είναι τυποποιηση και οχι σκέψη...
Εντάξει, αλλά δεν μου αρέσει να μαθαίνουν κανόνες. Ο 1ος τρόπος πως προκύπτει; Δηλαδή πως μετρας;

By the way ειμαι γυναικα

Νίκη

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

Παράθεση από: nikipap στις 07 Απρ 2011, 02:18:44 ΜΜ
διαβασα τις 2 εργασιεσ.
μπορει καποιοσ να μου εξηγησει γιατι για παραδειγμα προσθετουμε +0.01 αν καποιο απο τα τρια τ1, τ2, τ3 εχει δεκαδικα ψηφια.
δηλαδη θελω το λογο για να μπορεσω να το εξηγησω στους μαθητες

ευχαριστω


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

Διάβασε Α, Μ
μτ <-- Α
Όσο μτ < Μ επανάλαβε
    Εμφάνισε μτ
    μτ <-- μτ + 2
Τέλος_επανάληψης

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

@dream
Περιμένω να δω την καλύτερη και πληρέστερη μεθοδολογία που λύνει το παραπάνω θέμα.

nikipap

Άρα, απόδειξη υπαρχει. Αυτο που προτεινει ο dream, ειναι μια υποπερίπτωση της περίπτωσης και αξιοποιείται μόνο αν ξερουμε τις τιμες των τ1 τ2 τ3.
Μαζεύοντας όλα οσα ειπωθηκαν, με την αποδειξη απο την εργασια του Περδου, μπορούμε να βρούμε την τελευταία τιμή για την οποία παίζει η Όσο και αυτη βαζουμε στην Για. Με την προσεγγιση του Δριμτζια οποια τιμη ειναι μεσα στο ευρος μπορει να μπει...
Στην εργασια στο συνεδριο της Πεκαπ, αναφερουν οτι η εργασια του Δριμτζα είναι λάθος. Βλέπω αυτη που εχει αναρτησει ο Δριμτζας εδω και δεν εχει το λαθος που αναφερει η εργασία... Έχει αλλαξει κάτι;

mikeg

Συγγνώμη αλλά τι νόημα έχουν όλα αυτά. Ποιο το νόημα στο να προσπαθείς να βγάλεις μεθοδολογίες για μετατροπή από μια δομή σε μια άλλη?
Στις άλλες γλώσσες που υπάρχει η break και όλοι χρησιμοποιούν μια δομή
for i=1 to N
  if (...) then
     break;

άρα τερματίζουν τον βρόχο όποτε θέλουν, δεν είναι όλα αυτά ανούσια?

Νίκος Αδαμόπουλος

Παράθεση από: nikipap στις 09 Απρ 2011, 09:45:52 ΠΜ
Άρα, απόδειξη υπαρχει. Αυτο που προτεινει ο dream, ειναι μια υποπερίπτωση της περίπτωσης και αξιοποιείται μόνο αν ξερουμε τις τιμες των τ1 τ2 τ3.
Μαζεύοντας όλα οσα ειπωθηκαν, με την αποδειξη απο την εργασια του Περδου, μπορούμε να βρούμε την τελευταία τιμή για την οποία παίζει η Όσο και αυτη βαζουμε στην Για. Με την προσεγγιση του Δριμτζια οποια τιμη ειναι μεσα στο ευρος μπορει να μπει...
Στην εργασια στο συνεδριο της Πεκαπ, αναφερουν οτι η εργασια του Δριμτζα είναι λάθος. Βλέπω αυτη που εχει αναρτησει ο Δριμτζας εδω και δεν εχει το λαθος που αναφερει η εργασία... Έχει αλλαξει κάτι;

http://dide.ilei.sch.gr/keplinet/education/docs/syn_dp2010_drimtzias.pdf

... κι αν σε ενδιαφέρει γενικότερα: http://dide.ilei.sch.gr/keplinet/education/articles-alg.php

dream

#9
Επειδή διαβάζω διάφορα και προκείμενου να ξεδιαλύνω τις επιχειρούμενες εντυπώσεις θα περιγράψω εν συντομία τη μεθοδολογία μου :

Αν η Όσο έχει την ακόλουθη Γενική Μορφή :

μεταβλητή←τιμή1
Όσο μεταβλητή  ≤  {ή ≥ } τιμή2 επανάλαβε
        Εντολές   
        μεταβλητή←μεταβλητή + τιμή3
Τέλος_επανάληψης

Και επίσης πρέπει να ισχύουν τα εξής :
(i)τιμή1   ≤ {ή ≥ }   τιμή2  , προκειμένου οι εντολές να εκτελούνται τουλάχιστον μία φορά.
(ii)τιμή3  > 0 {ή < }   , προκείμενου να μη δημιουργηθεί ατέρμονη επανάληψη.

Η ισοδύναμη μετατροπή σε Για είναι  :
Για μεταβλητή από τιμή1 μέχρι τιμή2 με_βήμα  τιμή3
       Εντολές
Τέλος_επανάληψης

Είναι η απλή περίπτωση μετατροπής.

Υπάρχει περίπτωση όμως να έχουμε 3 διαφοροποιήσεις στη μορφή της  Όσο, που τις ονομάζω 3 Διαφοροποιήσεις της Γενική Μορφής και είναι  :

1η Διαφοροποίηση συμβαίνει όταν λείπει το ίσον στη συνθήκη της Όσο.  Δηλαδή έχουμε : μεταβλητή  <  {ή > } τιμή2 .
Τρόπος αντιμετώπισης :
θα πρέπει να βρούμε ποια είναι η τιμή για την οποία επαναλαμβάνονται για τελευταία φορά οι εντολές της Όσο και να τη θέσουμε ως τιμή2 στην εντολή Για. Αυτό μπορεί να υπολογίζεται εύκολα (Βλέπε παράδειγμα 1 στο τέλος του μηνύματος) ή μπορεί να υπολογίζεται πιο δύσκολα (Βλέπε παράδειγμα 2 στο τέλος του μηνύματος). Και μπορούμε να βρούμε την τιμή αυτή χρησιμοποιώντας έναν τρόπο από τους ακόλουθους:
(α) Παρατηρώντας τις αριθμητικές τιμές του τμήματος της Όσο και βρίσκοντας για ποια τιμή επαναλαμβάνονται για τελευταία φορά οι εντολές της Όσο
(β) Αν τιμή1,τιμή2,τιμή3 είναι ακέραιοι αριθμοί, τότε απλά μειώνουμε (κατ' ελάχιστο) την τιμή2 κατά 1 .
Αν  τιμή1 ή/και τιμή2 ή/και τιμή3 είναι πραγματικός αριθμός , τότε απλά μειώνουμε την τιμή2 κατά (κατ' ελάχιστο)  0,1 αν υπάρχει πραγματικός αριθμός με μόνο ένα μόνο δεκαδικό ψηφίο. Είτε μειώνουμε την τιμή2 κατά (κατ' ελάχιστο)  0,01 αν υπάρχει πραγματικός αριθμός με δύο δεκαδικά ψηφία κ.ο.κ.
(γ) Μπορούμε να χρησιμοποιήσουμε τον τύπο υπολογισμού τελικής τιμής του κ. Πέδρου.


2η Διαφοροποίηση, συμβαίνει όταν στο τμήμα εντολών της Όσο, η εντολή με την οποία αυξάνεται η τιμή του μετρητή επανάληψης κατά την τιμή του βήματος δεν είναι η τελευταία εντολή πριν το Τέλος_επαναλήψης (η συνθήκη της Όσο είναι : μεταβλητή  ≤  {ή ≥ } τιμή2 )
Και παράλληλα διακρίνουμε τις εξής περιπτώσεις :

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

(β)ο μετρητής επανάληψης συμμετέχει σε κάποια από τις επόμενες εντολές. Δεν επηρεάζει όμως και κάποια από τις προηγούμενες εντολές.
Τρόπος αντιμετώπισης :
Προσθέτουμε στην τιμή1 και στην τιμή2 ,  την τιμή3 (δηλαδή την τιμή του βήματος). Δηλαδή η ισοδύναμη μετατροπή είναι:
Για μεταβλητή από (τιμή1 + τιμή3) μέχρι (τιμή2 + τιμή3) με_βήμα τιμή3
       Εντολές
Τέλος_επανάληψης

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

Για νέα_μεταβλητή από τιμή1 μέχρι τιμή2 με_βήμα τιμή3
        Εντολές   
        μεταβλητή←μεταβλητή + τιμή3 
        Εντολές
Τέλος_επανάληψης

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

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

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


Με εκτίμηση,
Δρίμτζιας Βασίλης



Υ.Γ.

1.  Συναδελφικές ερωτήσεις – απορίες

Προς κ. Πέδρο,

Στο παρακάτω παράδειγμα , στο 1ο παράδειγμα τι θα λέγατε στους μαθητές σας: Να χρησιμοποιήσουν τον τύπο : κ = Α_Μ((τ2-τ1)/β) , στη συνέχεια να βρουνε την τελική τιμή από τον τύπο : τπ2=τ1+κ*β και αν η τελική τιμή τπ2=τ2 τότε κάντε τπ2=τ1+κ*β-β.
Και αν σας ρωτούσαν "Μα γιατί Κύριε  να κάνουμε όλα αυτά . Η τελική τιμή βρίσκεται εύκολα , είναι η τιμή 788"
Τι θα τους λέγατε ?

Ότι είναι για «μπακάλικο» ..., όπως γράψατε παραπάνω.

Και αν έχουν να αντιμετωπίσουν άσκηση όπως το 2ο παράδειγμα, τότε πάλι θα χρησιμοποιήσουν τον τύπο για να βρουν την τιμή του κ, μετά την τιμή τπ2 και αν είναι τπ2=τ2 τότε τπ2=τ1+κ*β-β.
Έχετε σκεφθεί τι πράξεις θα πρέπει να κάνουν ?
Έχετε σκεφθεί , σας έχει περάσει καθόλου από το μυαλό σας , ότι οι μαθητές σας μπορεί να μην  καταλαβαίνουν γιατί κάνουν τις πράξεις αυτές , ότι μπορεί το μόνο που θα καταλαβαίνουν είναι ότι τις κάνουν γιατί έτσι το θέλετε εσείς.

Και για ποιο λόγο να μην βρουν κατευθείαν την τελική τιμή μειώνοντας απλά κατά 0,01 την τιμή2.

Αφού όπως παραπάνω λέτε
«Απλά παρατηρείς τις αριθμητικές τιμές και αφού γνωρίζεις την τελική την οποία δεν πρέπει να φτάσει, την αλλάζεις κατά  0,1 ή 0,01 ανάλογα με τα πόσα σημαντικά ψηφία έχει κάποιο δεκαδικό μέρος. Δεν είναι μεθοδολογία αλλά παρατήρηση γνωστών αριθμητικών τιμών. Είναι ένας "μπακάλικος" και εύκολος τρόπος για να θέσεις μια τελική τιμή στην Εντολή Για. »

Λέτε είναι εύκολος τρόπος για να θέσεις μια τελική τιμή στην Εντολή Για.
Τι σας ενοχλεί μετά, άραγε ?

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


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

Μπορείτε σας παρακαλώ να μας πείτε ποια είναι η λύση που βαθμολογήσατε ή θα βαθμολογούσατε ως σωστή τότε , αν ήσασταν βαθμολογητής στις Πανελλήνιες.

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


Σας ευχαριστώ εκ των προτέρων.



Παραδείγματα που αναφέρονται στο παραπάνω κείμενο

Παράδειγμα 1ο :
Χ←2
Υ← 6
Όσο Υ < 789 επανάλαβε
         Χ← Χ +2
         Υ← Υ + 2
Τέλος_επανάληψης

Παράδειγμα 2ο :
Υ←7,6
Όσο Υ <  584,47 επανάλαβε
         Εμφάνισε Υ
         Υ← Υ + 0,12
Τέλος_επανάληψης


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

Παράθεση από: mikeg στις 09 Απρ 2011, 10:00:10 ΠΜ
Συγγνώμη αλλά τι νόημα έχουν όλα αυτά. Ποιο το νόημα στο να προσπαθείς να βγάλεις μεθοδολογίες για μετατροπή από μια δομή σε μια άλλη?
Στις άλλες γλώσσες που υπάρχει η break και όλοι χρησιμοποιούν μια δομή
for i=1 to N
  if (...) then
     break;

άρα τερματίζουν τον βρόχο όποτε θέλουν, δεν είναι όλα αυτά ανούσια?

Δηλαδή εσύ διδάσκεις στους μαθητές σου που δίνουν πανελλαδικά το μάθημα το εξής:
Για μτ από Α μέχρι Μ με_βήμα 2
  Αν μτ = Μ τότε
      Έξοδος ! ή όπως αλλιώς θέλεις πες το
  αλλιώς 
      Εμφάνισε μτ
  Τέλος_αν
Τέλος_επανάληψης

Ξέρεις στον προγραμματισμό υπάρχει και το συντακτικό κάθε γλώσσας που πρέπει να ακολουθηθεί.
Αλλιώς χειρίζεται η basic που γράφεις, την εντολή for, αλλιώς η C++.
Αν πας όμως να τις διδάξεις παρόλο που δεν είναι δημιουργήματα φυσικών και μαθηματικών όπως αναφέρεις σε άλλο μήνυμα σου για την ΑΕΠΠ, θα πρέπει να τονίσεις τη διαφορά.
Άρα στο συγκεκριμένο μάθημα ασχολούμαστε με το συντακτικό όπως το περιγράφει το διδακτικό πακέτο. Ως καθηγητές πρέπει να προετοιμάσουμε τους μαθητές να γράψουν όσο καλύτερα γίνεται. Κατά την άποψη μου λοιπόν αν και έχω πτυχίο τμήματος φυσικής, έχει νόημα η συγκεκριμένη συζήτηση.


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

Κύριε Δρίμτζια λέγομαι Πέρδος και όχι Πέδρος.
Αν και "μπακάλης" μιας και με χαρακτηρίζετε έτσι, χαίρομαι που η μεθοδολογία μας (είμαστε τρεις που τη γράψαμε) τυγχάνει αναφοράς σε μία καλύτερη και πληρέστερη παρουσίαση.
Παράθεση από: dream στις 09 Απρ 2011, 06:01:47 ΜΜ
[(γ) Μπορούμε να χρησιμοποιήσουμε τον τύπο υπολογισμού τελικής τιμής του κ. Πέδρου.

Τώρα όσον αφορά εμένα, το συγκεκριμένο θέμα, επειδή δεν κλήθηκα να βαθμολογήσω στις επαναληπτικές, θα το βαθμολόγούσα θεωρώντας ότι οι αριθμοί είναι ακέραιοι. Άλλωστε και η ΚΕΕ έτσι τους θεώρησε με τη λύση της παρόλο που ήταν λάθος ακόμη και για ακέραιους αριθμούς. Διαφορετικά ούτε εγώ μπορούσα να δώσω λύση τότε. Λύση για την γενική περίπτωση δόθηκε φέτος με την συγκεκριμένη απόδειξη. Για αυτό εξηγούσα αρκετά χρόνια στους μαθητές μου ότι ήταν αστοχία το θέμα της ΚΕΕ και ότι δεν έχω βρει αλλά ούτε έχω δεί λύση για πραγματικούς. Αρκετά χρόνια μετά, βέβαια δημοσιεύτηκε μια προτεινόμενη λύση στο στέκι με διαφορετική λογική από αυτή που προτείνουμε αλλά μάλλον θα τη χαρακτήριζα ad hoc και όχι γενική μεθοδολογία. Αν ψάξετε θα την βρείτε. Όσον αφορά τις γνωστές αριθμητικές τιμές ,τόσα χρόνια με τον ίδιο τρόπο δουλεύαμε και δουλεύουμε κύριε Δρίμτζια.  Και ναι πολύ πριν δημοσιεύσετε την εργασία σας τους έλεγα, αλλά και συνεχίζω να τους λέω ότι είναι ένας "μπακάλικος" τρόπος για να δώσουμε λύση, από τη στιγμή που δεν είμαι σε θέση να το εξηγήσω με απόδειξη αλλά μόνο με αριθμητικό παράδειγμα.
Αν γράφατε στο πρώτο μήνυμα σας με τον τρόπο που κλείνετε το συγκεκριμένο πριν από τον Υ.Γ. και όχι αλαζονικά σχετικά με πληρέστερη και καλύτερη εργασία που θα παρουσιάσετε, όταν στην ΕΤΠΕ αλλά και στο site σας μέχρι τις 2 Απριλίου η ανάρτηση για την οποία περηφανεύεστε περιείχε σαφέστατα λάθη, δεν θα ανταλλάσαμε τέτοιου είδους μηνύματα αλλά θα διεξάγονταν ένας γόνιμος διάλογος σχετικά με το πως θα μπορέσουμε να βοηθήσουμε τους μαθητές.

Υ.Γ.
Προς Κ. Δρίμτζια
Θεωρώ τιμή μου που δούλευα από τα 10 μέχρι τα 20 σε μπακάλικο τα καλοκαίρια για να βγάλω το χαρτζηλικι μου.       

 

nikipap

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

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

Παράθεση από: nikipap στις 11 Απρ 2011, 09:03:45 ΠΜ
Συνάδελφοι έλεος για το ποια είναι καλύτερη εργασία!
Αυτό που με θυμώνει ακόμα περισσότερο είναι ότι η εργασία του Δρίμτζια που δημοσιεύτηκε στο συνεδριο έχει λάθος.
Παρόλα αυτά όπως μας είπε άλλα πραγματα διδάσκει στους μαθητές του και άλλα δημοσίευσε στο συνέδριο...Απαράδεκτο...


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

MARIA THEOHARI

Στην αλγοριθμική προσέγγιση της μετατροπής από μία εντολή επανάληψης σε άλλη , για τη μετατροπή από
ΟΣΟ σε ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ υπάρχει η μεθοδολογία:
Αν συνθήκη τότε
  Αρχή_επανάληψης
         Εντολές
  Μέχρις_ότου όχι(συνθήκη)
Τέλος_αν

Θα μπορούσε ισοδύναμα να χρησιμοποιηθεί το:
Αρχή_επανάληψης
    Αν συνθήκη τότε
           Εντολές
    Τέλος_αν
Μέχρις_ότου όχι(συνθήκη)
ή είναι λάθος το ότι μπαίνει μια φορά στην αρχή_επανάληψης ακόμα και αν δεν εκτελεί κάτι;