Μια λογική μεταβλητή αποτελεί λογική συνθήκη;

Ξεκίνησε από wmaster, 18 Μαΐου 2019, 10:34:38 ΠΜ

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

ApoAntonis

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

Καταλαβαίνω κάτι λάθος ως προς τις οδηγίες;

evry

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

Και κάτι άλλο. Ένα παράδειγμα που δείχνει ότι δεν μπορούμε να παίρνουμε το βιβλίο σαν ευαγγέλιο και να μην το αμφισβητούμε.
Στο βιβλίο της Β λέει ότι η quicksort έχει πολυπλοκότητα Ο(nlogn). Αυτό είναι λάθος αφού η quicksort έχει Ο(n2) και Ο(nlogn) στη μέση περίπτωση. Εμείς τι θα κάνουμε?
Θα το λέμε λάθος στα παιδιά επειδή το έχει έτσι το βιβλίο?

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

Αν Αληθής και Ψευδής Τότε

Για να μην αναφέρω το απίστευτα κουφό ότι με βάση αυτά δεν μπορούμε να γράψουμε:

Αν Αληθής  Τότε     αλλά      Αν Αληθής = Αληθής Τότε

Φοβάμαι ότι προσπαθούμε να ερμηνεύσουμε τα βιβλία ως δικηγόροι και όχι ως επιστήμονες πληροφορικής!
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

bugman

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

wmaster

Από την συζήτηση φαίνεται ακριβώς το πρόβλημα της διαφορετικής ερμηνείας που μπορεί να τύχει μια λογική έκφραση, όπως και στο βιβλίο υπάρχουν 2 διαφορετικές προσεγγίσεις.
Για την προετοιμασία των μαθητών για τις εξετάσεις προσωπικά επιλέγω τον "ασφαλή" τρόπο. Διδάσκω όμως και τις 2 περιπτώσεις ως σωστές. Όπως και στην αρχική μου τοποθέτηση δεν θεωρώ λάθος το Αν χ Τότε ,
προτείνω όμως να γράφουν Αν Χ=ΑΛΗΘΗΣ τότε



petrosp13

Θέμα που να περιέχει την έκφραση "Μέχρις_ότου Β" έχει ζητηθεί
Το γνωρίζει ο κάθε βαθμολογητής που θα πιάσει γραπτό στο χέρι του ή το μάθημα μας βαθμολογείται όπως η Έκφραση-Έκθεση;
...
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής