Αποστολέας Θέμα: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη  (Αναγνώστηκε 1927 φορές)

gapost

  • Νέος
  • *
  • Μηνύματα: 4
Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« στις: 29 Σεπ 2019, 07:38:53 μμ »
Σύμφωνα με το νέο βιβλίο (συμπληρωματικό υλικό), η εντολή ΕΠΙΛΕΞΕ μπορεί στην έκφραση να έχει και συγκριτική πράξη.
Επειδή το αποτέλεσμα αυτής είναι μόνο το ΑΛΗΘΗΣ ή το ΨΕΥΔΗΣ, πως θα μπορούσε να διατυπωθεί ένα παράδειγμα;
π.χ. υποθέτω ότι ο παρακάτω έλεγχος είναι σωστός:
ΕΠΙΛΕΞΕ ΧMOD2=0
ΠΕΡΙΠΤΩΣΗ ΑΛΗΘΗΣ
    ΓΡΑΨΕ 'Το', Χ,'  άρτιος αριθμός'
ΠΕΡΙΠΤΩΣΗ ΨΕΥΔΗΣ
    ΓΡΑΨΕ 'Το', Χ,'  περιττός αριθμός'
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
Ποια είναι όμως η χρησιμότητα της εντολής με μόνο δύο περιπτώσεις;

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3219
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #1 στις: 30 Σεπ 2019, 06:00:00 μμ »
Δεν έχει χρησιμότητα και ίσως δεν έχει και νόημα. Ορίστηκε όμως και δεν αποτελεί ασαφές σημείο.
Στην ουσία με τη χρήση των συγκριτικών τελεστών καλύπτονται και τα διαστήματα από-έως.

gapost

  • Νέος
  • *
  • Μηνύματα: 4
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #2 στις: 30 Σεπ 2019, 10:00:36 μμ »
Στην περίπτωση από...έως να υποθέσω ότι βάζουμε -, π.χ.
ΠΕΡΙΠΤΩΣΗ 10-100
και όχι τελείες, με τιμές ακέραιες ή πραγματικές.

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3219
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #3 στις: 30 Σεπ 2019, 10:30:43 μμ »
10-100 κάνει -90

άρα το
ΕΠΙΛΕΞΕ β
ΠΕΡΙΠΤΩΣΗ 10-100
...

είναι ισοδύναμο με το
Αν β = -90 ΤΟΤΕ
...

ΔΕΝ ΕΧΕΙ ΥΛΟΠΟΙΗΘΕΙ ΣΤΟ ΕΠΙΛΕΞΕ ΤΟ από-έως με εντολές, κάτι που συζητάμε εδώ
https://alkisg.mysch.gr/steki/index.php?topic=7939.msg87602#msg87602

gapost

  • Νέος
  • *
  • Μηνύματα: 4
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #4 στις: 30 Σεπ 2019, 10:37:39 μμ »
Σε ευχαριστώ,  είδα και το άλλο νήμα.

manpap

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 126
  • Είμαι χαζομπαμπάς...
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #5 στις: 18 Οκτ 2019, 12:11:59 πμ »
Καλησπέρα,
Να συμπληρώσω εδώ άλλη μία απορία. Το παρακάτω είναι σωστό?
ΕΠΙΛΕΞΕ Χ
ΠΕΡΙΠΤΩΣΗ >0 ΚΑΙ <10
    ΓΡΑΨΕ 'Το', Χ,'  μονοψήφιος αριθμός'
ΠΕΡΙΠΤΩΣΗ <=0 , >= 100   ! ή <=0 ή >=100
    ΓΡΑΨΕ ' λάθος αριθμός'
ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
    ΓΡΑΨΕ ' Διφήφιος'
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ

ή αν θέλουμε να πούμε ένα ΚΑΙ θα πρέπει να κάνουμε εμφωλευμένα ΕΠΙΛΕΞΕ?
Συντηρώ το μυαλό μου ακοίμητο, λαγαρό, ανήλεο. Το αμολώ να παλεύει ακατάλυτα. Άλλο αργαστήρι να κάνω το σκοτάδι φως δεν έχω.
Ν. Καζαντζάκης

Γιαννούλης Γιώργος

  • Βετεράνος
  • ****
  • Μηνύματα: 59
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #6 στις: 18 Οκτ 2019, 07:03:23 μμ »
Ήρθε επίσημη απάντηση ότι για αυτό πλέον γίνεται με χρήση δύο τελειών.
Σελ 52 Ενδεικτικές απαντήσεις υπουργείου.

ΕΠΙΛΕΞΕ κβ
ΠΕΡΙΠΤΩΣΗ 0..2000
αξία<-κβ*1.52

ilias_s

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 268
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #7 στις: 18 Οκτ 2019, 08:12:15 μμ »
Ήρθε επίσημη απάντηση ότι για αυτό πλέον γίνεται με χρήση δύο τελειών.
Σελ 52 Ενδεικτικές απαντήσεις υπουργείου.

ΕΠΙΛΕΞΕ κβ
ΠΕΡΙΠΤΩΣΗ 0..2000
αξία<-κβ*1.52

Που είδες διευκρινιστική;

Μπορείς να παραθέσεις τη διευκρίνηση;


Ευχαριστώ! Δεν το είχα δει!

EDIT : Μόλις βγήκε ...

http://iep.edu.gr/images/IEP/Modules/Sj_K2_Extra_Slider/Fakeloi_Ylikou/Endeiktikes_lyseis_askiseon_plirof_G_GEL.pdf

Ακολουθεί τη λύση του Διερμηνευτή όπως την έχει κάνει ο Άλκης (πόσο μπροστά αυτό το παιδί... ίσα με 15 χρόνια!!!)

Για τους τύπους θα ήθελα και μία εγκύκλιο του ΙΕΠ που να λέει πως οι ενδεικτικές απαντήσεις είναι και το "by the book"

ΚΑΛΛΙΟ ΑΡΓΑ ΠΑΡΑ ΠΟΤΕ;;;
« Τελευταία τροποποίηση: 18 Οκτ 2019, 08:38:34 μμ από ilias_s »

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #8 στις: 18 Οκτ 2019, 10:09:45 μμ »
Τι είδους έκφραση είναι το 0...2000? Λογική, αριθμητική ?  Τι είναι οι τρεις τελείες? ...
Πρόκειται για τελεστή? τι είδους τελεστή?

Αυτά είναι αστεία πράγματα.
Που τα έχουν δει αυτά? Σε ποια γλώσσα προγραμματισμού?
Πρόκειται για αντιεπιστημονικό έκτρωμα και δεν μιλάει κανένας!

Ήρθε επίσημη απάντηση ότι για αυτό πλέον γίνεται με χρήση δύο τελειών.
Σελ 52 Ενδεικτικές απαντήσεις υπουργείου.

ΕΠΙΛΕΞΕ κβ
ΠΕΡΙΠΤΩΣΗ 0..2000
αξία<-κβ*1.52
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

ilias_s

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 268
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #9 στις: 18 Οκτ 2019, 10:26:35 μμ »
Τι είδους έκφραση είναι το 0...2000?

Προτιμότερη από τη σιωπή 20 χρόνων?  :D

llort_x

  • Οπαδός
  • **
  • Μηνύματα: 10
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #10 στις: 18 Οκτ 2019, 10:51:52 μμ »
Τι είδους έκφραση είναι το 0...2000? Λογική, αριθμητική ?  Τι είναι οι τρεις τελείες? ...
Πρόκειται για τελεστή? τι είδους τελεστή?

Αυτά είναι αστεία πράγματα.
Που τα έχουν δει αυτά? Σε ποια γλώσσα προγραμματισμού?
Πρόκειται για αντιεπιστημονικό έκτρωμα και δεν μιλάει κανένας!

Ίσως το έχουν δει στο GNU case range extension του gcc
https://gcc.gnu.org/onlinedocs/gcc/Case-Ranges.html

ή στο CaseRangeStatement της D
https://dlang.org/spec/statement.html#CaseRangeStatement

ή στο To του SelectCase της VBA
https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/select-case-statement

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5165
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #11 στις: 18 Οκτ 2019, 10:54:51 μμ »
Που τα έχουν δει αυτά? Σε ποια γλώσσα προγραμματισμού?

Χρησιμοποιείται ως εύρος τιμών και στους πίνακες και στην επίλεξε της Pascal:
https://www.freepascal.org/docs-html/ref/refsu56.html

Αναφορά στο εύρος τιμών πινάκων στο βιβλίο υπάρχει στη σελίδα 85, "Έστω ότι τα n ονόματα με τα αντίστοιχα τηλέφωνα είναι απο-
θηκευμένα σε δύο πίνακες: names[1..n] και phones[1..n] αντίστοιχα"

Προφανώς τους ξέφυγε, αλλά τι να κάνουμε, αποδεικνύει λίγο το ότι σκεφτόταν την Pascal...

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3219
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #12 στις: 19 Οκτ 2019, 08:30:03 πμ »
Με ένα νέο τρίχρωμο σχολικό βιβλίο να έχει παρουσιαστεί πρίν 3 μήνες, είναι
άβολο
να βλέπουμε νέους συντακτικούς κανόνες (π.χ. δομή Επίλεξε) και μεθοδολογίες (π.χ. ολίσθηση λίστας) στις
μη εκτυπωμένες (για τους μαθητές) λύσεις
λίγους μήνες μετά.

evry

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 3168
  • to Iterate is human to Recurse divine
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #13 στις: 19 Οκτ 2019, 07:17:05 μμ »
Ίσως το έχουν δει στο GNU case range extension του gcc
https://gcc.gnu.org/onlinedocs/gcc/Case-Ranges.html
Εδώ πράγματι χρησιμοποιείται αλλά είναι extension και όχι μέρος της γλώσσας, άσε που είναι 3 τελείες και όχι 2!

Παράθεση
ή στο CaseRangeStatement της D
https://dlang.org/spec/statement.html#CaseRangeStatement
Δεν ισχύει αυτό που λες. Μπέρδεψες τις .. στον ορισμό της γραμματικής της γλώσσας όπου γράφει:
Κώδικας: D
  1.  case FirstExp : .. case LastExp : ScopeStatementList
Άλλο η χρήση του .. στην γραμματική μιας γλώσσας και άλλο η χρήση του ως (ας πούμε) τελεστή ..

Παράθεση
ή στο To του SelectCase της VBA
https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/select-case-statement
Και εδώ πάλι δεν χρησιμοποιείται το .. αλλά ο τελεστής TO για να υποδηλώσει το μέχρι στο διάστημα (θα μου πεις είναι το ίδιο)
Κώδικας: Text
  1.  Case 1 To 5
(Άσε που η VBA δεν είναι γλώσσα προγραμματισμού)

Τέλος πάντων αυτό που λέει ο Άλκης συμβαίνει. Θα κάνουμε Pascal για τα επόμενα 100 χρόνια!

Το συμπέρασμα είναι ότι οι εκφράσεις "<100" και 0..100 είναι του ίδιου τύπου?
Αν ναι τι εκφράσεις είναι ρε παιδιά? Για λογικές δεν μου φαίνονται πάντως

ΥΓ. Άλκη τι μου θύμισες με το CASE της PASCAL. Είχα γράψει τόσο κώδικα σε Pascal και δεν το θυμόμουν.
Ενώ εσύ που γράφεις ακόμα σε Delphi (Pascal) τα έχεις φρέσκα  >:D ;D
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5165
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
« Απάντηση #14 στις: 19 Οκτ 2019, 09:16:06 μμ »
ΥΓ. Άλκη τι μου θύμισες με το CASE της PASCAL. Είχα γράψει τόσο κώδικα σε Pascal και δεν το θυμόμουν.
Ενώ εσύ που γράφεις ακόμα σε Delphi (Pascal) τα έχεις φρέσκα  >:D ;D

Ναι ναι από το 2011 έχω να δω Delphi! :D
Άμα χρειαστεί να το εγκαταστήσω δεν θα το γνωρίσω καν!
Python και shell πλέον...


Το συμπέρασμα είναι ότι οι εκφράσεις "<100" και 0..100 είναι του ίδιου τύπου?
Αν ναι τι εκφράσεις είναι ρε παιδιά? Για λογικές δεν μου φαίνονται πάντως

Ranges... νέα κόλπα! Έλα εδώ μάθαμε τα iterables της Python, τα διαστήματα είναι μικρολεπτομέρεια!