Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Δομή επιλογής => Γ΄ Λυκείου => Εντολή ΕΠΙΛΕΞΕ => Μήνυμα ξεκίνησε από: kiro στις 20 Νοε 2005, 07:30:29 μμ

Τίτλος: Πολλαπλη επιλογη Επιλεξε
Αποστολή από: kiro στις 20 Νοε 2005, 07:30:29 μμ
Γεια σας!!

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

[0-4.5]      Απορρίπτεται
(4.5-6.5]      Σχεδόν Καλώς
(6.5-8.5]      Καλώς
(8.5-10]      Πολύ Καλά

Αλγόριθμος Βαθμολογία
 Διάβασε Βαθμός
 Αν Βαθμός>= 0 και Βαθμος <= 4,5 τότε
     Εμφάνισε  &#8220;Απορρίπτεται&#8221;
 αλλιώς_αν Βαθμός >4.5 και Βαθμος <= 6,5 τότε
     Εμφάνισε &#8220;Σχεδόν Καλώς&#8221;
 αλλιώς_αν Βαθμός >6.5 και Βαθμος <= 8,5 τότε
     Εμφάνισε &#8220;Καλώς&#8221;
 αλλιώς_αν Βαθμός >8.5 και Βαθμος <= 10 τότε
     Εμφάνισε &#8220;Πολύ Καλά&#8221;
 αλλιώς
     Εμφάνισε &#8220;Μη αποδεκτός βαθμος&#8221;
 Τέλος_αν
Τέλος Βαθμολογία

Με την περίπτωση του επίλεξε πως θα ορίσουμε τα διαστήματα ανοικτά και κλειστά

Αλγόριθμος Βαθμολογία
     Διάβασε Βαθμός
           Επίλεξε Βαθμός
        Περίπτωση <= 4,5
     Εμφάνισε  &#8220;Απορρίπτεται&#8221;
     Περίπτωση <= 6,5
                             Εμφάνισε &#8220;Σχεδόν Καλώς&#8221;
       Περίπτωση <= 8,5
                             Εμφάνισε &#8220;Καλώς&#8221;
     Περίπτωση <= 10
                             Εμφάνισε &#8220;Πολύ Καλά&#8221;
     Περίπτωση      αλλιώς
                            Εμφάνισε &#8220;Μη αποδεκτός βαθμος&#8221;
           Τέλος_επιλογων
     Τέλος Βαθμολογία

Αν το γράψω έτσι είναι σωστό; Δηλώνονται τα ανοιχτά και κλειστά διαστήματα; Και κάτι ακόμα στην περίπτωση που δεν άρχιζε το διάστημα από 0 αλλά από 2 πχ ήταν

Αν Βαθμός>= 2 και Βαθμός <= 4,5 τότε
     Εμφάνισε  &#8220;Απορρίπτεται&#8221;
Πως θα γινόταν για να δηλωσουμε οτι αρχιζει απ το 2;

Ευχαριστώ πολύ!

Τίτλος: Re: Πολλαπλη επιλογη Επιλεξε
Αποστολή από: Sergio στις 22 Νοε 2005, 12:01:22 πμ
Το παράδειγμα που αναφέρεις παραπάνω πρώτο, περιλαμβάνει μία σειρά περιττών ελέγχων που το καθιστά ... παράδειγμα προς αποφυγή (βλ.και βιβλίο μαθητή σελ.172 και «σωστά» στη σελ.171)

Η δεύτερή σου προσέγγιση με τη δομή επίλεξε είναι σωστή.  Η πρώτη περίπτωση «φιλτράρει» τις τιμές μέχρι (και) το 4.5 επομένως η δεύτερη περίπτωση είναι ουσιαστικά το ( 4,5..6,5 ] και όμοια και για τα υπόλοιπα διαστήματα.  Επομένως, ναι είναι σωστό, δηλώνονται σωστά τα διαστήματα

Όσο για το τρίτο, όπως θα δεις αν διαβάσεις τις σχετικές (και πρόσφατες) συζητήσεις σχετικά με την εντολή επίλεξε (http://cgi.tripod.com/tosteki/cgi-bin/YaBB.pl?board=LukeioAEPP;action=display;num=1131044256 και http://cgi.tripod.com/tosteki/cgi-bin/YaBB.pl?board=LukeioAEPP;action=display;num=1131303807) οι απόψεις ... διίστανται.

Εν συντομία, ενώ το βιβλίο δηλώνει ότι «...οι λίστες τιμών που συνοδεύουν κάθε περίπτωση μπορούν να περιλαμβάνουν μία ή περισσότερες τιμές ή περιοχή τιμών από - έως...» (σελ.37 και 173), δηλαδή κάτι σαν αυτό που σε προβληματίζει (>= 2 και <= 4,5) δεν έχει πουθενά παράδειγμα που να επιδεικνύει την αναπαράσταση του «από-έως», ενώ έχει παραδείγματα για λίστα τιμών (σελ.173) και απλή συνθήκη (σελ.37)

Ως εκ τούτου, δεν υπάρχει σαφώς ορισμένος τρόπος «κωδικοποίησης» διαστήματος τιμών με την επίλεξε, σε αντίθεση με τη δομή αν...αλλιώς_αν όπου τα «πράγματα» είναι σαφέστερα ορισμένα (δύο ανισότητες / ανισοϊσότητες συνδεδεμένες με το λογικό τελεστή και).

Εν τούτοις, αφού το βιβλίο αναφέρει ότι με τη συγκεκριμένη εντολή μπορούν να παρασταθούν και διαστήματα «από-έως», θέλω να πιστεύω ότι αν κάποιος παρουσιάσει αλγοριθμικά σωστή λύση και χρησιμοποιήσει μία οποιαδήποτε σαφή έκφραση για προσδιορισμό του διαστήματος τιμών στην εντολή επίλεξε, θα κινείται εντός των «ορίων» ορθότητας που απαιτεί η φύση του μαθήματος και ο ορισμός της εντολής οπότε δε θα στερηθεί μονάδες.  Ένας τρόπος που έχει προταθεί είναι αυτός που ανάφερα παραπάνω, δηλαδή:
  Επίλεξε βαθμός
    περίπτωση >= 2 και <= 4,5
που είναι σαφέστερος από το γενικότερο:
  Επίλεξε βαθμός
    περίπτωση από 2 έως 4,5
το οποίο αφήνει περιθώρια ασάφειας σχετικά με το κατά πόσο το διάστημα έιναι ανοικτό ή κλειστό.

Εν τούτοις, ο «ασφαλέστερος» τρόπος να δοθεί η ίδια λογική είναι σαφώς με χρήση της εντολής αν...αλλιώς_αν.
Τίτλος: Απ: Πολλαπλη επιλογη Επιλεξε
Αποστολή από: Christos στις 26 Μαρ 2006, 07:44:03 μμ
Συνάδελφοι, μία ερώτηση σχετικά με το Επίλεξε :
Στην Pascal η εντολή  case ορίζεται μόνο για βαθμωτούς τύπους, ακέραιους ή χαρακτήρες. Στην ΓΛΩΣΣΑ ή στην Ψευδογλώσσα ορίζεται για πραγματικούς ;
Επίσης, επιτρέπεται η αναπαράσταση σύνθετης λογικής συνθήκης ; (π.χ. ΠΕΡΙΠΤΩΣΗ Α>10 ΚΑΙ Α<20)
Τίτλος: Απ: Πολλαπλη επιλογη Επιλεξε
Αποστολή από: andreas_p στις 27 Μαρ 2006, 12:40:11 μμ
ΝΑΙ.  Αλλά όχι Α>10 ΚΑΙ Α<20 !

Επίλεξε  Α
   Περίπτωση  >10  ΚΑΙ < 20
       εντολές
  Περίπτωση
   ....
Τίτλος: Απ: Πολλαπλη επιλογη Επιλεξε
Αποστολή από: Christos στις 27 Μαρ 2006, 10:43:50 μμ
Έχεις δίκιο. Εννοούσα αυτό. (  >10 ΚΑΙ  <20 )

Υπάρχει αιτιολόγηση ή παράδειγμα στο σχολικό και για τα δύο (πραγματικούς και σύνθετες λογικές συνθήκες) ;