ΕΡΩΤΗΣΗ ΣΤΗ ΔΟΜΗ ΕΠΙΛΟΓΗΣ

Ξεκίνησε από Jimbo, 01 Νοε 2012, 12:10:11 ΜΜ

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

Jimbo

Η
    ΑΝ Σ1 ΚΑΙ Σ2 ΤΟΤΕ
        ΕΝΤΟΛΕΣ.....
          ..........

γράφεται με απλές συνθήκες ως
   ΑΝ Σ1 ΤΟΤΕ
      ΑΝ Σ2 ΤΟΤΕ
         ΕΝΤΟΛΕΣ....
            .......

η παρακάτω δομή επιλογής πως μετατρέπεται σε απλές συνθήκες
ΑΝ Σ1 Η Σ2 ΤΟΤΕ
        ΕΝΤΟΛΕΣ.....


          ..........
Δημήτρης Μπούζιος
ΓΕΛ Άστρους

gpapargi

Αν και δεν πολυκαταλαβαίνω το λόγο για να τεντώσουμε τόσο το σκοινί  :) ένα τρόπος που μου ήρθε είναι ο εξής:

λ<-ψευδής
Αν Σ1 τότε
  λ<-Αληθής
Τέλος_αν
Αν Σ2 τότε
  λ<-Αληθής
Τέλος_αν
Αν λ = αληθής τότε
  εντολές
Τέλος_αν
Γιώργος Παπαργύρης

ntzios kostas

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

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

evry

Δεν είμαι σίγουρος αλλά μήπως εννοεί το παρακάτω;

Αν Σ1 ή Σ2 τότε
  Εντολές
Τέλος_αν

ότι είναι ισοδύναμο με

Αν Σ1 Τότε
  Εντολές
Αλλιώς_Αν Σ2 Τότε
  Εντολές
Τέλος_Αν

Νομίζω το πιο πάνω ισοδυναμεί καλύτερα γιατί δείχνει και το short-circuit evaluation
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Jimbo

Πιστεύω και εγώ οτι  πιο κοντά είναι η απάντηση του evry.
AN Σ1 ΤΟΤΕ
ΕΝΤ
ΤΕΛΟΣ_ΑΝ
ΑΝ Σ2 ΤΟΤΕ
ΕΝΤ
ΤΕΛΟΣ_ΑΝ


Ευχαριστώ πολύ  :)
Δημήτρης Μπούζιος
ΓΕΛ Άστρους

petrosp13

Βέβαια, έτσι μπορεί να εκτελεστούν 2 φορές οι εντολές, αν ισχύουν και οι δυο συνθήκες
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

Λευτέρης Δουκέρης

Καλησπέρα.
Καταρχάς πολύ καλή ερώτηση .

ΑΝ Σ1 Η Σ2 ΤΟΤΕ
ΕΝΤΟΛΕΣ.....

Οι πίνακας αληθείας για την παραπάνω δομή είναι:
Σ1   Σ2   Σ1 ή Σ2 (στο αληθής εκτελούνται οι εντολές)
Α   Α   Εκτελούνται οι εντολές
Ψ   Α   Εκτελούνται οι εντολές
Α   Ψ   Εκτελούνται οι εντολές
Ψ   Ψ   ΔΕΝ Εκτελούνται οι εντολές


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

ΑΝ Σ1 ΤΟΤΕ
ΕΝΤΟΛΕΣ
ΑΛΛΙΩΣ
ΑΝ Σ2 ΤΟΤΕ
ΕΝΤΟΛΕΣ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΑΝ


Συμφωνώ ότι η παρακάτω λύση

AN Σ1 ΤΟΤΕ
ΕΝΤ
ΤΕΛΟΣ_ΑΝ
ΑΝ Σ2 ΤΟΤΕ
ΕΝΤ
ΤΕΛΟΣ_ΑΝ
Μπορεί να οδηγήσει στον να εκτελεστούν δύο φορές οι εντολές στην περίπτωση που

Σ1   Σ2   εξοδος
Α   Α   Εκτελούνται οι εντολές δύο φορές
Άρα δεν είναι σωστή σε αυτή την περίπτωση η παραπάνω λύση.
ΛΕΥΤΕΡΗΣ  ΚΕΡΑΤΕΑ
http://glavrio.blogspot.com"Ο ιδανικός δάσκαλος είναι εκείνος που γίνεται γέφυρα για να περάσει αντίπερα ο μαθητής του και όταν , πια του διευκολύνει το πέρασμα , αφήνεται χαρούμενα να γκρεμιστεί , ενθαρρύνοντας το μαθητή του να φτιάξει τις δικές του γέφυρ

vaggelism

ΘΑ ΜΠΟΡΟΥΣΕΣ ΝΑ ΤΟ ΚΑΝΕΙΣ : ΑΝ Σ1 ΤΟΤΕ
                                                        ΕΝΤΟΛΕΣ
                                                    ΤΕΛΟΣ_ΑΝ
                                                   ΑΝ Σ2 ΚΑΙ ΟΧΙ Σ1 ΤΟΤΕ
                                                       ΕΝΤΟΛΕΣ
                                                    ΤΕΛΟΣ_ΑΝ


ΜΠΟΡΕΙΤΕ ΝΑ ΤΟ ΤΡΕΞΕΤΕ ΣΤΗ ΓΛΩΣΣΑ ΜΕ ΑΥΤΟ ΤΟ ΠΑΡΑΔΕΙΓΜΑ:
Αλγόριθμος ΠΧ
Διάβασε Β
Αν Β > 0 τότε
  Β<-- 2*Β
Τέλος_αν
Αν Β < 0 και όχι Β > 0 τότε
  Β <--2*Β
Τέλος_αν
Εμφάνισε Β
Τέλος ΠΧ

evry

#8
Το αποτέλεσμα είναι το ίδιο όσον αφορά την έξοδο αλλά τα βήματα και οι υπολογισμοί που γίνονται δεν είναι τα ίδια.
Δηλαδή αν θέλαμε να δείξουμε στους μαθητές πως υλοποιείται ο λογικός τελεστής Ή ή το ΚΑΙ εσωτερικά η επιλογή της αλλιώς_αν ή με εμφωλευμένα Αν είναι νομίζω η καλύτερη λύση
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

Gnirut

Μια προσέγγιση:

  
ΑΝ ΟΧΙ Σ1 ΤΟΤΕ
    ΑΝ ΟΧΙ Σ2 ΤΟΤΕ
      ! Μην κάνεις τίποτα
    ΑΛΛΙΩΣ
      ! ΕΝΤΟΛΕΣ
    ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ
    ! ΕΝΤΟΛΕΣ
ΤΕΛΟΣ_ΑΝ

Endlessly

Καλησπέρα,
Θα ήθελα να ρωτήσω εάν η πολλαπλή Δομή επιλογής μπορεί να φ=γραφεί και με διαφορετικό τρόπο.
Συγκεκριμένα:

Αν συνθήκη-1 τότε
    εντολή1
αλλιώς_αν συνθήκη-2 τότε
   εντολή2
αλλιώς
   εντολή
Τέλος_αν

να γραφεί ως εξής:

Αν συνθήκη-1 τότε εντολή1
αλλιώς_αν συνθήκη-2 τότε εντολή2
εντολή
τέλος_αν

Και αν ναι γιατι?
Ευχαριστώ!!!

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

Δες παράδειγμα 5 σελ. 19 από το τετράδιο μαθητή.

Παράθεση από: marvic στις 23 Οκτ 2014, 12:55:58 ΜΜ
Καλησπέρα,
Θα ήθελα να ρωτήσω εάν η πολλαπλή Δομή επιλογής μπορεί να φ=γραφεί και με διαφορετικό τρόπο.
Συγκεκριμένα:

Αν συνθήκη-1 τότε
    εντολή1
αλλιώς_αν συνθήκη-2 τότε
   εντολή2
αλλιώς
   εντολή
Τέλος_αν

να γραφεί ως εξής:

Αν συνθήκη-1 τότε εντολή1
αλλιώς_αν συνθήκη-2 τότε εντολή2
εντολή
τέλος_αν

Και αν ναι γιατι?
Ευχαριστώ!!!

Endlessly

Ευχαριστώ πολύ,  ;)

αλλά στην περίπτωση αλλιώς? Πώς θα συνταχθεί?
Αν......
αλλιώς_αν....
αλλιώς_αν...
αλλιώς_αν..
αλλιώς
   εντολή
τέλος_αν

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

Αν σ1 τότε εντολή1
αλλιώς_αν σ2 τότε εντολή2
αλλιώς_αν σ3 τότε εντολή3
αλλιώς εντολή4
τέλος_αν