Αποστολέας Θέμα: Αν...λογική μεταβλητή?  (Αναγνώστηκε 4729 φορές)

john81

  • Νέος
  • *
  • Μηνύματα: 2
Αν...λογική μεταβλητή?
« στις: 08 Δεκ 2009, 10:00:23 πμ »
Καλημέρα, είναι η πρώτη φορά που γράφω στο στέκι. Η σύνταξη της Αν είναι "Αν συνθήκη τότε". Γράφοντας τον παρακάτω αλγόριθμο -παρόλο που δεν όρισα συνθήκη -εμφάνισε έξοδο(σε γλώσσες όπως την C κάτι τέτοιο επιτρέπεται). Εδώ όμως γιατί;

ΠΡΟΓΡΑΜΜΑ Απορία
ΜΕΤΑΒΛΗΤΕΣ
  ΛΟΓΙΚΕΣ: χ

ΑΡΧΗ
  χ <- ΨΕΥΔΗΣ

  ΑΝ χ ΤΟΤΕ
    ΓΡΑΨΕ 'Η χ είναι αληθής'
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ 'Η χ είναι ψευδής'
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

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

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: Αν...λογική μεταβλητή?
« Απάντηση #1 στις: 08 Δεκ 2009, 10:05:21 πμ »
Συνθήκη είναι μια έκφραση η οποία έχει λογικό τύπο.
Για τον σχηματισμό μιας έκφρασης δεν είναι απαραίτητη η χρήση κάποιου τελεστή.

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



Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3218
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: Αν...λογική μεταβλητή?
« Απάντηση #2 στις: 08 Δεκ 2009, 02:52:50 μμ »
δε θα την έγραφα ποτέ έτσι στα παιδιά, προσωπικά...

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 891
Απ: Αν...λογική μεταβλητή?
« Απάντηση #3 στις: 08 Δεκ 2009, 03:22:56 μμ »
Γιατί Παναγιώτη; Με ενδιαφέρει από παιδαγωγικής σκοπιάς.
Φιλικά,
Γιώργος Θαλασσινός

pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1322
  • There are always possibilities...
Απ: Αν...λογική μεταβλητή?
« Απάντηση #4 στις: 08 Δεκ 2009, 03:24:47 μμ »
Και όμως αν βάλεις ένα ωραίο όνομα στην μεταβλητή, ο αλγόριθμος διαβάζεται πολύ ωραία.
Για παράδειγμα δεν διαβάζεται καλύτερα το
Αν βρέθηκε τότε...
από το
Αν βρέθηκε=Αληθής τότε...
A man provided with paper, pencil, and rubber, and subject to strict discipline is in effect a universal machine - Alan Turing

gthal

  • Ομάδα διαγωνισμάτων 2017
  • *
  • Μηνύματα: 891
Απ: Αν...λογική μεταβλητή?
« Απάντηση #5 στις: 08 Δεκ 2009, 03:39:31 μμ »
Κι εμένα μ' αρέσει, και με λίγη εξήγηση το καταλαβαίνουν οι μαθητές και τους αρέσει.
Επίσης είναι ένα από τα επιχειρήματά μου γιατί να προτιμούν τις λογικές μεταβλητές αντί
αριθμητικών ή αλφαριθμητικών ('ΝΑΙ' / 'ΟΧΙ') flags που προτείνουν διαισθητικά κάποιοι μαθητές
Φιλικά,
Γιώργος Θαλασσινός

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

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2784
  • Πύργος Ηλείας
    • ΚΕΠΛΗΝΕΤ Ηλείας
Απ: Αν...λογική μεταβλητή?
« Απάντηση #6 στις: 08 Δεκ 2009, 04:33:20 μμ »
Και εγώ έχω τοποθετηθεί υπέρ μιας τέτοιας χρήσης των λογικών μεταβλητών (http://alkisg.mysch.gr/steki/index.php?topic=2373.msg19393#msg19393)... Όμως απλά το αναφέρω μια-δυο φορές στους μαθητές και δεν επιμένω πολύ αφού και το σχολικό βιβλίο δεν ακολουθεί αυτήν τακτική (βλ. αλγόριθμο σειριακής αναζήτησης) ούτε και εμβαθύνει στη χρήση των λογικών μεταβλητών (κακώς κατά τη γνώμη μου!). Οπότε τελικά ίσως και να προκαλεί σύγχυση! Αλήθεια, είναι σίγουρο ότι όλοι οι βαθμολογητές θα το λάβουν ως σωστό;  :o

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3164
  • to Iterate is human to Recurse divine
Απ: Αν...λογική μεταβλητή?
« Απάντηση #7 στις: 08 Δεκ 2009, 04:51:29 μμ »

 Κατά τη γνώμη μου όχι μόνο πρέπει να το παίρνουμ σωστό αλλά θα έτσι θα έπρεπε να ήταν από την αρχή!!!
Δυστυχώς δεν έχουμε κάποια ένδειξη από το διδακτικό πακέτο που να μας λέει ότι μπορούμε να το χρησιμοποιούμε (αν και δεν είμαι και από τους καλύτερους γνώστες του ΔΠ, Ο Τσιωτάκης θα μπορεί να απαντήσει εδώ), οπότε προσωπικά δεν θα πρότεινα στους μαθητές μου κάτι τέτοιο, γιατί ποτέ δεν ξέρεις σε τι βαθμολογητή/τρια θα πέσεις
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: Αν...λογική μεταβλητή?
« Απάντηση #8 στις: 08 Δεκ 2009, 05:25:34 μμ »
Καταλαβαίνω την ανησυχία αλλά πιστεύω ότι αυτός δεν είναι ο σωστός τρόπος σκέψης.
Πρέπει να θεωρούμε δεδομένο ότι ο οποιοσδήποτε διορθωτής μπορεί να βαθμολογήσει σωστά ένα οποιοδήποτε γραπτό. Αν δεν ισχύει αυτό τότε οι λογικές μεταβλητές δεν είναι το μοναδικό για το οποίο πρέπει να ανησυχούμε... Τι γίνεται αν δεν καταλαβαίνει τον αλγόριθμο, αν δεν έχει προγραμματίσει ποτέ του, αν δεν είναι γνώστης των ιδιαιτεροτήτων του μαθήματος, αν στην ψευδογλώσσα απαγορεύονται τα κεφαλαία κτλ κτλ κτλ
Συμμερίζομαι την ανησυχία αλλά αυτή η λογική είναι αδιέξοδη. Εξάλλου αν κάποιος διορθωτής έχει μια αμφιβολία μπορεί να την λύσει ρωτώντας.

Ακόμη:
Ο κώδικας
Κώδικας: Text
  1. Αν α > 3 τότε
είναι ο ίδιος με
Κώδικας: Text
  1. Αν α > 3 = Αληθής
αλλά κανείς δεν το γράφει έτσι και δεν υπάρχει πρόβλημα.

Γιατί να υπάρχει πρόβλημα με αυτό ;
Κώδικας: Text
  1. μεγαλύτερος_του_3 <- α > 3
  2. Αν μεγαλύτερος_του_3 τότε
« Τελευταία τροποποίηση: 08 Δεκ 2009, 09:53:34 μμ από sstergou »
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

Καρκαμάνης Γεώργιος

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1094
Απ: Αν...λογική μεταβλητή?
« Απάντηση #9 στις: 09 Δεκ 2009, 09:47:10 πμ »
Είμαι κάτα της χρήσης μιας μόνο μεταβλητής στην συνθήκη και δεντο διδάσκω ποτέ στα παιδιά.

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

Ναι στην χρήση  λογικών μεταβλητών αλλά πάντα με την χρήση συνθηκών
Αν χ=αληθής τότε
είναι πιο απλο και κατανοητή

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

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: Αν...λογική μεταβλητή?
« Απάντηση #10 στις: 09 Δεκ 2009, 12:11:48 μμ »
Μία λογική μεταβλητή είναι συνθήκη.
Αν δεν μπορούμε να την γράψουμε αυτούσια σε μία εντολή αν τότε στην ουσία καταργούμε και τον λόγο ύπαρξής της αφού το ίδιο πράγμα μπορούμε να το κάνουμε χρησιμοποιώντας αριθμητικές ή αλφαριθμητικές μεταβλητές.
π.χ.
Κώδικας: Text
  1. Όσο i<=N και θέση=0
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2452
  • I 'm not young enough to know everything
Απ: Αν...λογική μεταβλητή?
« Απάντηση #11 στις: 09 Δεκ 2009, 12:36:12 μμ »
Ίσως μπορούμε να το πούμε ως εξής:
Η συνθήκη αποτιμάται και παίρνει μια τιμή αληθής ή ψευδής. Αν βάλεις στη θέση της κατευθείαν το αληθής ή ψευδής απλά γλιτώνεις ένα βήμα. Είναι σαν να βάζεις κατευθείαν το αποτέλεσμα. Από αυτό το σημείο θα περάσει και η συνθήκη μετά την αποτίμησή της. 

Καρκαμάνης Γεώργιος

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1094
Απ: Αν...λογική μεταβλητή?
« Απάντηση #12 στις: 09 Δεκ 2009, 12:51:34 μμ »
Ίσως μπορούμε να το πούμε ως εξής:
Η συνθήκη αποτιμάται και παίρνει μια τιμή αληθής ή ψευδής. Αν βάλεις στη θέση της κατευθείαν το αληθής ή ψευδής απλά γλιτώνεις ένα βήμα. Είναι σαν να βάζεις κατευθείαν το αποτέλεσμα. Από αυτό το σημείο θα περάσει και η συνθήκη μετά την αποτίμησή της.
Συμφωνώ , απλώς εκτιμώ πως σε πολλά παιδιά θα φαίνεται δυσνόητο

sstergou

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 983
  • Program or be Programmed
    • pseudoglossa.gr
Απ: Αν...λογική μεταβλητή?
« Απάντηση #13 στις: 09 Δεκ 2009, 02:24:36 μμ »
Σίγουρα.Σε πολλά παιδιά φαίνεται δυσνόητο, κάποια όμως το καταλαβαίνουν.
Άλλο όμως το δυσνόητο και άλλο το λάθος ή το "μπορεί να το πάρουν λάθος".

Μόνο κάποιος διορθωτής ο οποίος δεν έχει κατανοήσει σωστά τις λογικές μεταβλητές μπορεί να το πάρει λάθος. Και σε αυτή την περίπτωση φαντάζομαι δεν θα είναι το μοναδικό που θα έχει "παρεξηγήσει". Δεν νομίζω όμως ότι πρέπει να τρομοκρατούμε τα παιδιά υποβιβάζοντας το γνωστικό υπόβαθρο των διορθωτών. Αυτό μόνο εις βάρος του μαθήματος και των μαθητών μπορεί να ενεργήσει. Είναι σαν να φοβάσαι να λύσεις μια άσκηση μαθηματικών με δικό σου τρόπο επειδή φοβάσαι ότι ο διορθωτής μπορεί να μην την καταλάβει...
Στάθης Στέργου - sstergouATgmailDOTcom - http://www.pseudoglossa.gr

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3218
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: Αν...λογική μεταβλητή?
« Απάντηση #14 στις: 09 Δεκ 2009, 03:44:57 μμ »
Συμφωνώ με το Γιώργο, δε συζητάμε για σωστό και λάθος εδώ, αλλά για το κρίνουμε σωστότερο για το μαθητή


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

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

Ναι στην χρήση  λογικών μεταβλητών αλλά πάντα με την χρήση συνθηκών
Αν χ=αληθής τότε
είναι πιο απλο και κατανοητή

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