Αποστολέας Θέμα: Άσκηση Κατανόησης Λογικών Εκφράσεων και Δομής Επιλογής  (Αναγνώστηκε 110490 φορές)

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3145
  • to Iterate is human to Recurse divine
Άσκηση 1
Δίνεται το παρακάτω τμήμα αλγορίθμου:

    Αν Α>0 και Β>0 Τότε
         Βρέθηκε <- Αληθής
    Αλλιώς_Αν Γ>0 και Δ>0 Τότε
         Βρέθηκε <- Αληθής
    Αλλιώς
         Βρέθηκε <- Ψευδής
    Τέλος_Αν

Να συμπληρώσετε την παρακάτω εντολή εκχώρησης έτσι ώστε να έχει το ίδιο ακριβώς αποτέλεσμα με την παραπάνω εντολή

  Βρέθηκε <- .......................

Άσκηση 2

Μπορείτε να κάνετε το ίδιο με το παρακάτω?

   Αν Α>0 και Β>0 Τότε
         Βρέθηκε <- Αληθής
    Αλλιώς_Αν Γ>0 και Δ>0 Τότε
         Βρέθηκε <- Ψευδής
    Αλλιώς_Αν Κ>0 και Λ>0 Τότε
         Βρέθηκε <- Αληθής
    Αλλιώς
         Βρέθηκε <- Ψευδής
    Τέλος_Αν

Βρέθηκε <- .....................

Θα μπορούσαμε να πούμε ότι οι παραπάνω ισοδυναμίες ισχύουν και στο επίπεδο των υπολογισμών? Δηλαδή γίνονται σε όλες τις περιπτώσεις οι ίδιοι υπολογισμοί (συγκρίσεις)?
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Πανάγος94

  • Βετεράνος
  • ****
  • Μηνύματα: 65
  • what doesn't kill you only makes you pissed off..
δεν νομίζω να είναι σωστό αλλά δεν θα μπορούσε να είναι κάπως έτσι: (???)

1) Βρέθηκε <- (Α > 0 και Β > 0) ή (Γ > 0 και Δ > 0)
2) Βρέθηκε <- (Α > 0 και Β >0) ή (Κ > 0 και Λ > 0)
« Τελευταία τροποποίηση: 13 Απρ 2012, 10:45:59 μμ από Πανάγος94 »

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3145
  • to Iterate is human to Recurse divine
πολύ σωστό το σκεπτικό σου.
Τι θα έλεγες για το παρακάτω;

Αν Α>0 και Β>0 Τότε
    Βρέθηκε <- Ψευδής
Αλλιώς_Αν Κ>0 και Λ>0 Τότε
    Βρέθηκε <- Ψευδής
Αλλιώς
    Βρέθηκε <- Αληθής
Τέλος_Αν
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Πανάγος94

  • Βετεράνος
  • ****
  • Μηνύματα: 65
  • what doesn't kill you only makes you pissed off..
Βρέθηκε <- οχι ((Α > 0 και Β > 0) ή (Κ > 0 και Λ > 0))

dski

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 183

2) Βρέθηκε <- (Α > 0 και Β >0) ή (Κ > 0 και Λ > 0)


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

Πανάγος94

  • Βετεράνος
  • ****
  • Μηνύματα: 65
  • what doesn't kill you only makes you pissed off..
όντως.....

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3145
  • to Iterate is human to Recurse divine
Πράγματι ο Δημήτρης έχει δίκιο, για αυτό έβαλα το σχόλιο στο τέλος του ερωτήματος για το πόσοι υπολογισμοί γίνονται σε κάθε περίπτωση, σαν υπόδειξη για να δει κάποιος ότι δεν είναι το ίδιο.
Το σκεπτικό σου πάντως σε γενικές γραμμές είναι σωστό, εκτός από αυτή την περίπτωση. Το συγκεκριμένο ζήτημα είναι αρκετά λεπτό, αλλά έχει ενδιαφέρον.
Ίσως να μπορούσε να τεθεί στους μαθητές με κάποια ερωτήματα στην αρχή όπου θα εξέταζαν συγκεκριμένες περιπτώσεις.
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Κωστας τζιαννης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 184
Το (2) δεν είναι σωστό γιατί όταν (Κ>0 και Λ>0) η συνθήκη δίνει αληθής ακόμη και όταν (Γ>0 και Δ>0) ενώ σύμφωνα με τη σειρά εξέτασης των διαδοχικών εντολών Αν θα έπρεπε να δίνει "ψευδής".

 βρ <- (Α > 0 ΚΑΙ Β > 0) Η(ΟΧΙ(Α > 0 ΚΑΙ Β > 0) ΚΑΙ ΟΧΙ(Γ > 0 ΚΑΙ Δ > 0) ΚΑΙ (Κ > 0 ΚΑΙ Λ > 0))

happiness

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 187
βρ <- (Α > 0 ΚΑΙ Β > 0) Η(ΟΧΙ(Α > 0 ΚΑΙ Β > 0) ΚΑΙ ΟΧΙ(Γ > 0 ΚΑΙ Δ > 0) ΚΑΙ (Κ > 0 ΚΑΙ Λ > 0))
Ούτε αυτό είναι σωστό. Μετά από πίνακα τιμών, η έκφραση που βρήκα είναι:
Βρέθηκε<- (Α > 0 ΚΑΙ Β > 0) Ή (ΟΧΙ(Γ > 0 ΚΑΙ Δ > 0) ΚΑΙ (Κ > 0 ΚΑΙ Λ > 0))

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 376
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Λάθος είναι και η αυτή
Κάθε Αν/Αλλιώς_Αν/Αλλιώς είναι διαζευτικό Η. Οπότε ή το πρώτο ή το όχι του δεύτερου, ή το τρίτο θα δώσει το Αληθής, Τα δύο τελευταία τα βάζουμε σε παρένθεση.

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 376
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Επίσης αν στην 2η άσκηση στο Αλλιώς ήταν Αληθής τότε μόνο το δεύτερο θα βάζαμε, γιατί ότι και να φέρουν το πρώτο και το τρίτο, θα βγει Αληθής ( αν εξαιρέσουμε το δεύτερο). Αυτή είναι μια ιδέα για να τσεκάρει κανείς ποιος μαθητής θα το σκεφτεί να παραλείψει το πρώτο και το τρίτο.

happiness

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 187
Λάθος είναι και η αυτή
Κάθε Αν/Αλλιώς_Αν/Αλλιώς είναι διαζευτικό Η. Οπότε ή το πρώτο ή το όχι του δεύτερου, ή το τρίτο θα δώσει το Αληθής, Τα δύο τελευταία τα βάζουμε σε παρένθεση.
Εννοείς έτσι; => Βρέθηκε<- (Α > 0 ΚΑΙ Β > 0) Ή (ΟΧΙ(Γ > 0 ΚΑΙ Δ > 0) Ή (Κ > 0 ΚΑΙ Λ > 0))
Γιατί αυτό βγάζει λάθος αποτέλεσμα όταν (Γ > 0 ΚΑΙ Δ > 0)=ΨΕΥΔΗΣ => ΟΧΙ(Γ > 0 ΚΑΙ Δ > 0)=ΑΛΗΘΗΣ => (ΟΧΙ(Γ > 0 ΚΑΙ Δ > 0) Ή (Κ > 0 ΚΑΙ Λ > 0)) = ΑΛΗΘΗΣ ακόμα και όταν το (Κ > 0 ΚΑΙ Λ > 0) =  ΨΕΥΔΗΣ

Είμαι αρκετά σίγουρη για την λύση που πρότεινα, γιατί την έλεγξα με πίνακα τιμών και δεν κατάφερα να βρω κάποιον άλλο συνδυασμό που να ικανοποιεί σωστά την έξοδο του αλγόριθμου. Η δυσκολία εδώ απορρέει από το γεγονός ότι για να έχουμε τελική έξοδο ΑΛΗΘΗΣ λόγω ικανοποίησης της 3ης συνθήκης, πρέπει να έχουμε "περάσει" από μία ΨΕΥΔΗ 2η συνθήκη. Οπότε ο συνδυασμός των συνθηκών 2 και 3 επιτρέπεται να είναι ΑΛΗΘΗΣ μόνο εάν ΚΑΙ δεν ισχύει η 2η ΚΑΙ ισχύει η 3η.

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 376
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Ναι έχεις δίκιο έκανα έλεγχο και όντως δουλεύει με το () η (οχι () και () )


για να δουλέψει με Η μόνο πρέπει να γίνει έτσι:
() Η ΟΧΙ ( ( ) Η ΟΧΙ ())

 
« Τελευταία τροποποίηση: 26 Νοέ 2018, 03:31:06 μμ από bugman »

Κωστας τζιαννης

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 184
βρ <- (Α > 0 ΚΑΙ Β > 0) Η(ΟΧΙ(Α > 0 ΚΑΙ Β > 0) ΚΑΙ ΟΧΙ(Γ > 0 ΚΑΙ Δ > 0) ΚΑΙ (Κ > 0 ΚΑΙ Λ > 0))
Ούτε αυτό είναι σωστό. Μετά από πίνακα τιμών, η έκφραση που βρήκα είναι:
Βρέθηκε<- (Α > 0 ΚΑΙ Β > 0) Ή (ΟΧΙ(Γ > 0 ΚΑΙ Δ > 0) ΚΑΙ (Κ > 0 ΚΑΙ Λ > 0))

κι ομως σωστα ειναι και τα 2!!ειμαι απολυτα σιγουρος εκανα και ελεγχο μεσω προγραμματος.προτεραιοτητα λογικων τελεστων 1)οχι,2)και,3)Η και μιλαμε παντα για την ασκηση 2 του evry¨.μαλιστα ακομα πιο απλη εκφραση ειναι η εξης:(παρακατω ακολουθει η αποδειξη)

βρεθηκε<- Α > 0 ΚΑΙ Β > 0 Η (Γ <= 0 Η Δ <= 0) ΚΑΙ Κ > 0 ΚΑΙ Λ > 0 (ΣΧΕΣΗ3)

H ΑΠΟΔΕΙΞΗ ΓΙΑ ΟΠΟΙΟΝ ΕΝΔΙΑΦΕΡΕΤΑΙ:

εστω Α>0 ΚΑΙ Β>0=Ε
Γ>0 ΚΑΙ Δ>0=Ζ
Κ>0 ΚΑΙ Λ>0=Θ
ΟΠΟΤΕ Η ΕΚΦΡΑΣΗ (Α > 0 ΚΑΙ Β > 0) Η(ΟΧΙ(Α > 0 ΚΑΙ Β > 0) ΚΑΙ ΟΧΙ(Γ > 0 ΚΑΙ Δ > 0) ΚΑΙ (Κ > 0 ΚΑΙ Λ > 0)) ΓΙΝΕΤΑΙ:
Ε Ή(ΟΧΙ(Ε)ΚΑΙ ΟΧΙ(Ζ) ΚΑΙ (Θ))
ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΑΛΓΕΒΡΑ ΒΟΟL(ΚΑΙ->*,Ή->+,ΌΧΙ->') ΕΧΩ
Ε+(Ε'*Ζ'*Θ)=Ε+Ε'Ζ'Θ=(Ε+Ε')(Ε+'ΖΘ)=1*(Ε+Ζ'Θ)=Ε+Ζ'Θ (1)

Η ΔΙΚΗ ΣΟΥ ΕΚΦΡΑΣΗ ΕΙΝΑΙ
(Α > 0 ΚΑΙ Β > 0) Ή (ΟΧΙ(Γ > 0 ΚΑΙ Δ > 0) ΚΑΙ (Κ > 0 ΚΑΙ Λ > 0)) ΠΟΥ ΓΙΝΕΤΑΙ
Ε 'Η(ΟΧΙ(Ζ)ΚΑΙ(Θ))=Ε 'Η(Ζ' ΚΑΙ Θ)=Ε+(Ζ'*Θ)=Ε+Ζ'*Θ (2) ΠΟΥ ΕΙΝΑΙ ΑΚΡΙΒΩΣ ΙΔΙΑ  ΜΕ ΤΗΝ (1)

Ζ=Γ>0 ΚΑΙ Δ>0 ΑΡΑ Ζ'=Γ<=0 Η Δ<=0 ΟΠΟΤΕ ΑΝΤΙΚΑΘΙΣΤΩΝΤΑΣ ΤΑ Ε,Ζ',Θ ΣΤΗΝ (1) ΕΧΩ ΤΗΝ (3)
« Τελευταία τροποποίηση: 08 Δεκ 2018, 04:29:03 πμ από Κωστας τζιαννης »

happiness

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 187
Κωστας τζιαννης έχεις δίκιο. Είχα παρανοήσει και διάβασα Ε Ή(ΟΧΙ(Ε)ΚΑΙ ΟΧΙ(Ζ)) ΚΑΙ (Θ) αντί για Ε Ή(ΟΧΙ(Ε)ΚΑΙ ΟΧΙ(Ζ) ΚΑΙ (Θ)) κι απ ότι θυμάμαι αυτό ήταν λάθος.