απορία σε κλειστά και ανοιχτά διαστήματα τιμών σε πολλαπλή επιλογή

Ξεκίνησε από ΣΧΟΙΝΑΣ ΚΩΣΤΑΣ, 11 Οκτ 2013, 03:43:20 ΜΜ

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

ΣΧΟΙΝΑΣ ΚΩΣΤΑΣ

Να αναπτυχθεί αλγόριθμος που θα διαβάζει τους πόντους (π) και θα εμφανίζει το ποσό που του αναλογεί σε δώρο Σύμφωνα με τον ακόλουθο πίνακα

      ΠΟΝΤΟΙ                                  ΔΩΡΟ / ΠΟΝΤΟ
   
       1000<= π < 3000                          1.20 euro
       
        3000<= π <=6000                      2   euro

        6000 < π                                      3   euro

θεωρήστε κλιμακωτό τον υπολογισμό

ποιά είναι η σωστή λύση με αποκλειστική χρήση της πολλαπλής επιλογής και χωρίς την χρήση περιττων συνθηκών σύμφωνα με το σχολικό βιβλίο
Καθηγητής πληροφορικής ΠΕ20

nikolasmer

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

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

Γενικά, είμαι αντίθετος με τέτοιες γενικές συνταγές που πολλές φορές ανάλογα με την περίπτωση οδηγούν σε παρερμηνείες...
Καλύτερα να δώσεις τη λύση που προτείνεις για τη συγκεκριμένη άσκηση...

ΣΧΟΙΝΑΣ ΚΩΣΤΑΣ

#3
Είναι σωστή η παρακάτω λύση αν ο υπολογισμός δεν είναι με κλιμακωτή χρεωση
Αν π < 1000. τότε
         D:= 0
Aλλιως αν. π < 3000 τότε
         D:=1,2 * π
Αλλιώς αν. π<=6000 τότε
       D:=2 * 'π
Αλλιώς
          D:= 3 * π
Τέλος αν
Καθηγητής πληροφορικής ΠΕ20

gkatsion

Αν δεν είναι κλιμακωτή και αλλάξεις και κάποια συμβολάκια, ναι σωστή είναι!
ΈΞΟΔΟΣ_ΑΠΟ_ΛΥΚΕΙΟ <-- ΑΕΙ + PHD + ΑΣΕΠ

nikolasmer

Παράθεση από: gkatsion στις 12 Οκτ 2013, 03:10:07 ΜΜ
Αν δεν είναι κλιμακωτή και αλλάξεις και κάποια συμβολάκια, ναι σωστή είναι!

Επίσης με την προϋπόθεση οι πόντοι(π) να είναι μη αρνητικός. ;)
Μερεντίτης Νικόλαος
Πληροφορικός

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

Παράθεση από: nikolasmer στις 12 Οκτ 2013, 06:12:32 ΜΜ
Επίσης με την προϋπόθεση οι πόντοι(π) να είναι μη αρνητικός. ;)

Μας δίνεις τη λύση που περιέγραφες στο προηγούμενο μήνυμά σου;

nikolasmer

Παράθεση από: Νίκος Αδαμόπουλος στις 13 Οκτ 2013, 10:38:59 ΜΜ
Μας δίνεις τη λύση που περιέγραφες στο προηγούμενο μήνυμά σου;
Ε... όχι απαραίτητα. Θα ήθελα η άσκηση να λέει κάτι του στύλ "..υποθέτουμε πως οι πόντοι είναι μή αρνητικός.." οπότε δεν θα χρειαζόταν φραγή του πρώτου διαστήματος που είχα αναφέρει σε προηγούμενο μήνυμά μου. Ακόμα καλύτερα θα προτιμούσα στην εκφώνηση να αναφέρεται  "..να γίνει έλεγχος εισαγωγής της μεταβλητής πόντοι ώστε να εισάγονται μόνο θετικές τιμές..." κάτι τέτοιο θα ήταν καλύτερο αλλά όχι θεμιτό για την απορία του κυρίου ΣΧΟΙΝΑ ΚΩΣΤΑ.
Βασικά το τελευταίο μου μήνυμα ήταν μια συμπλήρωση στην απάντηση που έδωσε ο συνάδελφος κύριος Γιώργος Κατσιώνης.
Μερεντίτης Νικόλαος
Πληροφορικός

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

Παράθεση από: nikolasmer στις 13 Οκτ 2013, 11:31:35 ΜΜ
Ε... όχι απαραίτητα. Θα ήθελα η άσκηση να λέει κάτι του στύλ "..υποθέτουμε πως οι πόντοι είναι μή αρνητικός.." οπότε δεν θα χρειαζόταν φραγή του πρώτου διαστήματος που είχα αναφέρει σε προηγούμενο μήνυμά μου. Ακόμα καλύτερα θα προτιμούσα στην εκφώνηση να αναφέρεται  "..να γίνει έλεγχος εισαγωγής της μεταβλητής πόντοι ώστε να εισάγονται μόνο θετικές τιμές..." κάτι τέτοιο θα ήταν καλύτερο αλλά όχι θεμιτό για την απορία του κυρίου ΣΧΟΙΝΑ ΚΩΣΤΑ.
Βασικά το τελευταίο μου μήνυμα ήταν μια συμπλήρωση στην απάντηση που έδωσε ο συνάδελφος κύριος Γιώργος Κατσιώνης.

Ο λόγος που επανέρχομαι είναι επειδή θεωρώ ότι στο αρχικό σου μήνυμα, η λύση που περιγράφεις ίσως έχει "λάθος παρερμηνείας"!

nikolasmer

Παράθεση από: Νίκος Αδαμόπουλος στις 14 Οκτ 2013, 12:03:31 ΠΜ
Ο λόγος που επανέρχομαι είναι επειδή θεωρώ ότι στο αρχικό σου μήνυμα, η λύση που περιγράφεις ίσως έχει "λάθος παρερμηνείας"!
Ναι. Η σκέψη μου είναι η εξής:

!Αρχή_επανάληψης
Διάβασε π
!Μέχρις_ότου π >= 0

Αν π >=1000 και π <= 3000 τότε     ! και πάνω και κάτω φράγμα
δώρο <-- 1.2
Αλλιώς_αν π <= 6000 ! μόνο πάνω φράγμα στο εύρος διαστήματος
δώρο <-- 2.0
Αλλιώς ! χωρίς συνθήκη
δώρο <-- 3.0
Τέλος_αν

Μπορεί να γίνει και κλιμακωτός υπολογισμός. Εννοείται.
Βέβαια αν οι πόντοι που αναφέρονται είναι κάτω απο 1000 (και υποθέτουμε οτι είναι και πάνω από το 0 αν δεν θέλουμε να έχουμε έλεγχο) τότε σύμφωνα με την άσκηση του κυρίου ΣΧΟΙΝΑ ΚΩΣΤΑ δεν θα έχουμε δώρο. Αυτά εννοούσα με τα μηνύματά μου.
Ελπίζω να μην είπα καμία χαζαμάρα και να μπέρδεψα περισσότερο την κατάσταση. 
Υ.Γ. Αν επίσης ακολουθήσει κάποιος αυτό το σκεπτικό και βάλει και Εμφάνισε, τότε θα πρέπει να προστεθεί και η εντολή "δώρο <--0 " αρχικά για να μην έχω κανένα πρόβλημα καθοριστικότητας.( ??? )
Μερεντίτης Νικόλαος
Πληροφορικός

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

Παράθεση από: nikolasmer στις 14 Οκτ 2013, 01:44:51 ΠΜ
Βέβαια αν οι πόντοι που αναφέρονται είναι κάτω απο 1000 (και υποθέτουμε οτι είναι και πάνω από το 0 αν δεν θέλουμε να έχουμε έλεγχο) τότε σύμφωνα με την άσκηση του κυρίου ΣΧΟΙΝΑ ΚΩΣΤΑ δεν θα έχουμε δώρο. Αυτά εννοούσα με τα μηνύματά μου.

Όμως στη λύση που δίνεις, τι θα συμβεί αν το π είναι π.χ. 500 ;

nikolasmer

Παράθεση από: Νίκος Αδαμόπουλος στις 15 Οκτ 2013, 10:59:41 ΜΜ
Όμως στη λύση που δίνεις, τι θα συμβεί αν το π είναι π.χ. 500 ;

Το δώρο θα είναι μηδέν. Έτσι νομίζω, αν κρίνω από τα συμφραζόμενα της άσκησης.
Παράθεση από: nikolasmer στις 14 Οκτ 2013, 01:44:51 ΠΜ
Ελπίζω να μην είπα καμία χαζαμάρα και να μπέρδεψα περισσότερο την κατάσταση. 
Υ.Γ. Αν επίσης ακολουθήσει κάποιος αυτό το σκεπτικό και βάλει και Εμφάνισε, τότε θα πρέπει να προστεθεί και η εντολή "δώρο <--0 " αρχικά για να μην έχω κανένα πρόβλημα καθοριστικότητας.( ??? )
Μερεντίτης Νικόλαος
Πληροφορικός

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

Παράθεση από: nikolasmer στις 16 Οκτ 2013, 12:20:12 ΠΜ
Το δώρο θα είναι μηδέν. Έτσι νομίζω, αν κρίνω από τα συμφραζόμενα της άσκησης.

Δεν διαφωνώ με το τι ζητάει η άσκηση, αλλά με το αν η λύση σου πράγματι κάνει αυτό που λες...
Π.χ. με π=500 το δώρο σού βγαίνει ίσο με 2! Ακόμα κι αν, όπως λες, δώσεις αρχική τιμή δώρο <--0, πάλι η τελική τιμή θα είναι 2!! Νομίζω ότι αν εκτελέσεις τις εντολές της λύσης σου, θα το δεις κι εσύ!  ::)

nikolasmer

Παράθεση από: Νίκος Αδαμόπουλος στις 16 Οκτ 2013, 01:58:59 ΠΜ
Δεν διαφωνώ με το τι ζητάει η άσκηση, αλλά με το αν η λύση σου πράγματι κάνει αυτό που λες...
Π.χ. με π=500 το δώρο σού βγαίνει ίσο με 2! Ακόμα κι αν, όπως λες, δώσεις αρχική τιμή δώρο <--0, πάλι η τελική τιμή θα είναι 2!! Νομίζω ότι αν εκτελέσεις τις εντολές της λύσης σου, θα το δεις κι εσύ!  ::)

Πραγματικά ούτε κάν μου πέρασε ποτέ από το μυαλό αυτό το πράγμα. Ποτέ! :o
Δεν το είχα προσέξει ποτέ ούτε και θα το πρόσεχα.
+10000 για την επιμονή σας κύριε Αδαμόπουλε και ευχαριστώ πολύ.
Δικό μου λάθος. Θέλω να σβήσω όλα τα παραπάνω μηνύματά μου για να ξεπλύνω την ντροπή.  :-[
Το σωστό  όπως προείπαν και οι συνάδελφοι:
!Αρχή_επανάληψης
  Διάβασε π
!Μέχρις_ότου π ≥ 0

Αν π ≤ 1000 τότε
  δώρο ← 0.0
αλλιώς_αν π ≤ 3000 τότε
  δώρο ← 1.2
αλλιώς_αν π ≤ 6000 τότε
  δώρο ← 2.0
αλλιώς
  δώρο ← 3.0
Τέλος_αν
Εμφάνισε δώρο

Μερεντίτης Νικόλαος
Πληροφορικός

ΣΧΟΙΝΑΣ ΚΩΣΤΑΣ

Ευχαριστώ πολύ για τις προσπαθειεςκαι. προτεινόμενες λυσεις
Καθηγητής πληροφορικής ΠΕ20