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

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: gapost στις 29 Σεπ 2019, 07:38:53 μμ

Τίτλος: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: gapost στις 29 Σεπ 2019, 07:38:53 μμ
Σύμφωνα με το νέο βιβλίο (συμπληρωματικό υλικό), η εντολή ΕΠΙΛΕΞΕ μπορεί στην έκφραση να έχει και συγκριτική πράξη.
Επειδή το αποτέλεσμα αυτής είναι μόνο το ΑΛΗΘΗΣ ή το ΨΕΥΔΗΣ, πως θα μπορούσε να διατυπωθεί ένα παράδειγμα;
π.χ. υποθέτω ότι ο παρακάτω έλεγχος είναι σωστός:
ΕΠΙΛΕΞΕ ΧMOD2=0
ΠΕΡΙΠΤΩΣΗ ΑΛΗΘΗΣ
    ΓΡΑΨΕ 'Το', Χ,'  άρτιος αριθμός'
ΠΕΡΙΠΤΩΣΗ ΨΕΥΔΗΣ
    ΓΡΑΨΕ 'Το', Χ,'  περιττός αριθμός'
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ
Ποια είναι όμως η χρησιμότητα της εντολής με μόνο δύο περιπτώσεις;
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: Παναγιώτης Τσιωτάκης στις 30 Σεπ 2019, 06:00:00 μμ
Δεν έχει χρησιμότητα και ίσως δεν έχει και νόημα. Ορίστηκε όμως και δεν αποτελεί ασαφές σημείο.
Στην ουσία με τη χρήση των συγκριτικών τελεστών καλύπτονται και τα διαστήματα από-έως.
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: gapost στις 30 Σεπ 2019, 10:00:36 μμ
Στην περίπτωση από...έως να υποθέσω ότι βάζουμε -, π.χ.
ΠΕΡΙΠΤΩΣΗ 10-100
και όχι τελείες, με τιμές ακέραιες ή πραγματικές.
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: Παναγιώτης Τσιωτάκης στις 30 Σεπ 2019, 10:30:43 μμ
10-100 κάνει -90

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

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

ΔΕΝ ΕΧΕΙ ΥΛΟΠΟΙΗΘΕΙ ΣΤΟ ΕΠΙΛΕΞΕ ΤΟ από-έως με εντολές, κάτι που συζητάμε εδώ
https://alkisg.mysch.gr/steki/index.php?topic=7939.msg87602#msg87602
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: gapost στις 30 Σεπ 2019, 10:37:39 μμ
Σε ευχαριστώ,  είδα και το άλλο νήμα.
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: manpap στις 18 Οκτ 2019, 12:11:59 πμ
Καλησπέρα,
Να συμπληρώσω εδώ άλλη μία απορία. Το παρακάτω είναι σωστό?
ΕΠΙΛΕΞΕ Χ
ΠΕΡΙΠΤΩΣΗ >0 ΚΑΙ <10
    ΓΡΑΨΕ 'Το', Χ,'  μονοψήφιος αριθμός'
ΠΕΡΙΠΤΩΣΗ <=0 , >= 100   ! ή <=0 ή >=100
    ΓΡΑΨΕ ' λάθος αριθμός'
ΠΕΡΙΠΤΩΣΗ ΑΛΛΙΩΣ
    ΓΡΑΨΕ ' Διφήφιος'
ΤΕΛΟΣ_ΕΠΙΛΟΓΩΝ

ή αν θέλουμε να πούμε ένα ΚΑΙ θα πρέπει να κάνουμε εμφωλευμένα ΕΠΙΛΕΞΕ?
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: Γιαννούλης Γιώργος στις 18 Οκτ 2019, 07:03:23 μμ
Ήρθε επίσημη απάντηση ότι για αυτό πλέον γίνεται με χρήση δύο τελειών.
Σελ 52 Ενδεικτικές απαντήσεις υπουργείου.

ΕΠΙΛΕΞΕ κβ
ΠΕΡΙΠΤΩΣΗ 0..2000
αξία<-κβ*1.52
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: ilias_s στις 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 (http://iep.edu.gr/images/IEP/Modules/Sj_K2_Extra_Slider/Fakeloi_Ylikou/Endeiktikes_lyseis_askiseon_plirof_G_GEL.pdf)

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

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

ΚΑΛΛΙΟ ΑΡΓΑ ΠΑΡΑ ΠΟΤΕ;;;
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: evry στις 18 Οκτ 2019, 10:09:45 μμ
Τι είδους έκφραση είναι το 0...2000? Λογική, αριθμητική ?  Τι είναι οι τρεις τελείες? ...
Πρόκειται για τελεστή? τι είδους τελεστή?

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

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

ΕΠΙΛΕΞΕ κβ
ΠΕΡΙΠΤΩΣΗ 0..2000
αξία<-κβ*1.52
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: ilias_s στις 18 Οκτ 2019, 10:26:35 μμ
Τι είδους έκφραση είναι το 0...2000?

Προτιμότερη από τη σιωπή 20 χρόνων?  :D
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: llort_x στις 18 Οκτ 2019, 10:51:52 μμ
Τι είδους έκφραση είναι το 0...2000? Λογική, αριθμητική ?  Τι είναι οι τρεις τελείες? ...
Πρόκειται για τελεστή? τι είδους τελεστή?

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

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

ή στο CaseRangeStatement της D
https://dlang.org/spec/statement.html#CaseRangeStatement (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 (https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/select-case-statement)
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: alkisg στις 18 Οκτ 2019, 10:54:51 μμ
Που τα έχουν δει αυτά? Σε ποια γλώσσα προγραμματισμού?

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

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

Προφανώς τους ξέφυγε, αλλά τι να κάνουμε, αποδεικνύει λίγο το ότι σκεφτόταν την Pascal...
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: Παναγιώτης Τσιωτάκης στις 19 Οκτ 2019, 08:30:03 πμ
Με ένα νέο τρίχρωμο σχολικό βιβλίο να έχει παρουσιαστεί πρίν 3 μήνες, είναι
άβολο
να βλέπουμε νέους συντακτικούς κανόνες (π.χ. δομή Επίλεξε) και μεθοδολογίες (π.χ. ολίσθηση λίστας) στις
μη εκτυπωμένες (για τους μαθητές) λύσεις
λίγους μήνες μετά.
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: evry στις 19 Οκτ 2019, 07:17:05 μμ
Ίσως το έχουν δει στο GNU case range extension του gcc
https://gcc.gnu.org/onlinedocs/gcc/Case-Ranges.html (https://gcc.gnu.org/onlinedocs/gcc/Case-Ranges.html)
Εδώ πράγματι χρησιμοποιείται αλλά είναι extension και όχι μέρος της γλώσσας, άσε που είναι 3 τελείες και όχι 2!

Παράθεση
ή στο CaseRangeStatement της D
https://dlang.org/spec/statement.html#CaseRangeStatement (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 (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
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: alkisg στις 19 Οκτ 2019, 09:16:06 μμ
ΥΓ. Άλκη τι μου θύμισες με το CASE της PASCAL. Είχα γράψει τόσο κώδικα σε Pascal και δεν το θυμόμουν.
Ενώ εσύ που γράφεις ακόμα σε Delphi (Pascal) τα έχεις φρέσκα  >:D ;D

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


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

Ranges... νέα κόλπα! Έλα εδώ μάθαμε τα iterables της Python, τα διαστήματα είναι μικρολεπτομέρεια!
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: llort_x στις 19 Οκτ 2019, 11:39:41 μμ
Εδώ πράγματι χρησιμοποιείται αλλά είναι extension και όχι μέρος της γλώσσας, άσε που είναι 3 τελείες και όχι 2!
Δεν ισχύει αυτό που λες. Μπέρδεψες τις .. στον ορισμό της γραμματικής της γλώσσας όπου γράφει:
Κώδικας: D
  1.  case FirstExp : .. case LastExp : ScopeStatementList
Άλλο η χρήση του .. στην γραμματική μιας γλώσσας και άλλο η χρήση του ως (ας πούμε) τελεστή ..
Και εδώ πάλι δεν χρησιμοποιείται το .. αλλά ο τελεστής TO για να υποδηλώσει το μέχρι στο διάστημα (θα μου πεις είναι το ίδιο)
Κώδικας: Text
  1.  Case 1 To 5
(Άσε που η VBA δεν είναι γλώσσα προγραμματισμού)

Βρε evry, εσύ ρώτησες πού τα έχουν δει, κι εγώ ανέφερα πού μπορεί να τα έχουν δει.
Είναι δικαίωμά σου να απαξιώνεις κάτι επειδή είναι extension στο gnu gcc, αλλά είναι και δικαίωμα του καθενός να το αξιολογεί διαφορετικά από εσένα.
Όπως επίσης είναι δικαίωμά σου να βλέπεις διαφορά ανάμεσα στις δύο και τις τρεις τελείες, ή ανάμεσα στις τελείες και στο To.

Σχετικά με την D, μάλλον εσύ δεν κατάλαβες καλά evry.
Τρέξε τον παρακάτω κώδικα σε έναν διερμηνευτή της D (π.χ. στο https://run.dlang.io/ (https://run.dlang.io/))
Κώδικας: [Επιλογή]
import std.stdio;
void main()
{
    for (int i = 1; i <= 100; ++i)
    {
        switch (i)
        {
            case 1: .. case 30:
                writeln( i, " in 1..30" );
                break;
            case 31: .. case 60:
                writeln( i, " in 31..60" );
                break;
            default:
                writeln( i, " not in 1..60" );
            break;
        }
    }   
}

Σχετικά με την VBA evry, θεωρείται από όλο τον κόσμο υλοποίηση της VB 6. Προφανώς ο καθένας έχει δικαίωμα να μην την θεωρεί γλώσσα προγραμματισμού.
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: llort_x στις 20 Οκτ 2019, 12:40:18 πμ
Τι είδους έκφραση είναι το 0...2000? Λογική, αριθμητική ?  Τι είναι οι τρεις τελείες? ...
Πρόκειται για τελεστή? τι είδους τελεστή?

Αυτά είναι αστεία πράγματα.
Που τα έχουν δει αυτά? Σε ποια γλώσσα προγραμματισμού?
Πρόκειται για αντιεπιστημονικό έκτρωμα και δεν μιλάει κανένας!
Επίσης, μπορεί να τα έχουν δει στη Ruby (εδώ χρησιμοποιεί και δύο τελείες που θέλεις αντί για τρεις).
Τρέξε τον παρακάτω κώδικα σε έναν διερμηνευτή της Ruby (π.χ. στο https://repl.it/languages/ruby)
Κώδικας: [Επιλογή]
for capacity in 1..100
  case capacity
  when 0
    puts "You ran out of gas."
  when 1..20
    puts "The tank is almost empty. Quickly, find a gas station!"
  when 21..70
    puts "You should be ok for now."
  when 71..100
    puts "The tank is almost full."
  else
    puts "Error: capacity has an invalid value (#{capacity})"
  end
end
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: llort_x στις 20 Οκτ 2019, 01:30:25 πμ
Τι είδους έκφραση είναι το 0...2000? Λογική, αριθμητική ?  Τι είναι οι τρεις τελείες? ...
Πρόκειται για τελεστή? τι είδους τελεστή?

Αυτά είναι αστεία πράγματα.
Που τα έχουν δει αυτά? Σε ποια γλώσσα προγραμματισμού?
Πρόκειται για αντιεπιστημονικό έκτρωμα και δεν μιλάει κανένας!
Επίσης, μπορεί να τα έχουν δει στη VB.NET
https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/select-case-statement (https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/select-case-statement)
Κώδικας: [Επιλογή]
Dim number As Integer = 8
Select Case number
    Case 1 To 5
        Debug.WriteLine("Between 1 and 5, inclusive")
        ' The following is the only Case clause that evaluates to True.
    Case 6, 7, 8
        Debug.WriteLine("Between 6 and 8, inclusive")
    Case 9 To 10
        Debug.WriteLine("Equal to 9 or 10")
    Case Else
        Debug.WriteLine("Not between 1 and 10, inclusive")
End Select
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: evry στις 20 Οκτ 2019, 09:39:38 πμ
Όσον αφορά τη VB είναι με To και όχι με .. . Αυτή είναι η ένστασή μου. Δεν είναι ο ίδιος συμβολισμός. Η λογική είναι η ίδια.
Στην D πράγματι δεν είδα καλά,  όμως δεν είναι 1..3 αλλά case 1: .. case 3:
που πάλι δεν είναι το ίδιο. Μου θυμίζει τη λογική της C, που αν δεν βάλεις break εκτελούνται όλες. Θα ήθελα να δω εσωτερικά πως το εκλαμβάνει αυτό ο compiler. Είναι ξεχωριστού τύπου έκφραση?

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

Όμως η ουσία είναι ότι ο συγκεκριμένος συμβολισμός δεν κολλάει με την λογική της υπόλοιπης γλώσσας.
Είναι κάτι ξεκάρφωτο που θα μπερδέψει τους μαθητές. Για αυτό ρώτησα τι είδους έκφραση είναι και πολύ σωστά ο Άλκης απάντησε ότι είναι range.
Αυτή όμως η έκφραση δεν είναι στην ύλη δεν αναφέρεται πουθενά στη θεωρία, ούτε στο βιβλίο.
Στις άλλες γλώσσες που ανέφερες και χρησιμοποιείται ο συμβολισμός έχω την εντύπωση ότι ακολουθεί τη λογική της κάθε γλώσσας. Εδώ δεν συμβαίνει αυτό.
Ξαφνικά μετά από 20 χρόνια εμφανίζεται ένας νέος τελεστής (?) ο οποίος δεν γνωρίζουμε ούτε τι είδους είναι, ούτε τι εκφράσεις προκύπτουν από αυτόν. Το χρησιμοποιούμε σαν ιδίωμα.
Αυτό δε νομίζω ότι συμβαίνει στις άλλες γλώσσες αφού εκεί υπάρχει εξαρχής στον σχεδιασμό μια προσπάθεια για clean syntax.
Αυτό ήθελα να πω, όχι ότι δεν υπάρχει πουθενά, προφανώς κάπου θα υπήρχε και από κάπου θα το είδαν.

Πολύ καλή πάντως η επισκόπηση που έκανες για τον τελεστή ..
Να σου πω δεν είχα ιδέα ότι χρησιμοποιείται με τόσους διαφορετικούς τρόπους.
Από όσα όλα ανέφερες μάλλον η Ruby είναι η πιο χαρακτηριστική περίπτωση από τις σύγχρονες γλώσσες. Λογικά όμως το πήραν από την Pascal.

ΥΓ. Πάντως η αλήθεια είναι ότι έχεις αναφέρει πολλές διαφορετικές εκδόσεις της VB. Μια αρκούσε.
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: llort_x στις 20 Οκτ 2019, 12:08:56 μμ
Όσον αφορά τη VB είναι με To και όχι με .. . Αυτή είναι η ένστασή μου. Δεν είναι ο ίδιος συμβολισμός. Η λογική είναι η ίδια.
Στην D πράγματι δεν είδα καλά,  όμως δεν είναι 1..3 αλλά case 1: .. case 3:
που πάλι δεν είναι το ίδιο. Μου θυμίζει τη λογική της C, που αν δεν βάλεις break εκτελούνται όλες. Θα ήθελα να δω εσωτερικά πως το εκλαμβάνει αυτό ο compiler. Είναι ξεχωριστού τύπου έκφραση?

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

Όμως η ουσία είναι ότι ο συγκεκριμένος συμβολισμός δεν κολλάει με την λογική της υπόλοιπης γλώσσας.
Είναι κάτι ξεκάρφωτο που θα μπερδέψει τους μαθητές. Για αυτό ρώτησα τι είδους έκφραση είναι και πολύ σωστά ο Άλκης απάντησε ότι είναι range.
Αυτή όμως η έκφραση δεν είναι στην ύλη δεν αναφέρεται πουθενά στη θεωρία, ούτε στο βιβλίο.
Στις άλλες γλώσσες που ανέφερες και χρησιμοποιείται ο συμβολισμός έχω την εντύπωση ότι ακολουθεί τη λογική της κάθε γλώσσας. Εδώ δεν συμβαίνει αυτό.
Ξαφνικά μετά από 20 χρόνια εμφανίζεται ένας νέος τελεστής (?) ο οποίος δεν γνωρίζουμε ούτε τι είδους είναι, ούτε τι εκφράσεις προκύπτουν από αυτόν. Το χρησιμοποιούμε σαν ιδίωμα.
Αυτό δε νομίζω ότι συμβαίνει στις άλλες γλώσσες αφού εκεί υπάρχει εξαρχής στον σχεδιασμό μια προσπάθεια για clean syntax.
Αυτό ήθελα να πω, όχι ότι δεν υπάρχει πουθενά, προφανώς κάπου θα υπήρχε και από κάπου θα το είδαν.

Πολύ καλή πάντως η επισκόπηση που έκανες για τον τελεστή ..
Να σου πω δεν είχα ιδέα ότι χρησιμοποιείται με τόσους διαφορετικούς τρόπους.
Από όσα όλα ανέφερες μάλλον η Ruby είναι η πιο χαρακτηριστική περίπτωση από τις σύγχρονες γλώσσες. Λογικά όμως το πήραν από την Pascal.

ΥΓ. Πάντως η αλήθεια είναι ότι έχεις αναφέρει πολλές διαφορετικές εκδόσεις της VB. Μια αρκούσε.

Βρε evry, ήμαρτον... Για ξαναδιάβασε τι ειπώθηκε από την αρχή της ανάρτησής σου περί εκτρώματος, αντιεπιστημονικότητας και ότι δε χρησιμοποιείται σε καμία άλλη γλώσσα. Επίσης, τι τρολάρισμα είναι αυτό που εξακολουθείς να κάνεις με τη διαφορά ανάμεσα στο To και τις τελείες, ή το case όπως υλοποιείται στη D (που είναι ακόμα πιο περίεργο από της ΓΛΩΣΣΑΣ);  Έλεος.

Εν πάση περιπτώσει, η switch μάλλον αποτελεί syntactic sugar στις γλώσσες που υπάρχει. Το ίδιο μάλλον ισχύει και για το range selection του switch σε όσες γλώσσες το υποστηρίζουν. Το τι αρέσει στον καθένα είναι θέμα γούστου. Αλλά από εκεί μέχρι το σημείο να αποκαλούμε έκτρωμα, αντιεπιστημονικό και να λέμε ότι δεν χρησιμοποιείται πουθενά αλλού (ενώ χρησιμοποιείται) κάτι που δε μας αρέσει, και να εξανιστάμεθα που δε μιλάει κανείς, έχει μεγάλη απόσταση. Εγώ δεν έχω να πω κάτι άλλο.
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: evry στις 20 Οκτ 2019, 03:29:47 μμ
Με το προηγούμενο μήνυμα σου απάντησα ότι έκανα λάθος όταν είπα ότι δεν χρησιμοποιείται σε άλλες γλώσσες και ότι εννοούσα κάτι άλλο.
Το έκτρωμα είναι βαριά λέξη αλλά δεν αναφέρεται αποσπασματικά στις τελείες .. αλλά στο γεγονός ότι έχει σχεδιαστεί μια ΓΛΩΣΣΑ με ετερογενή στοιχεία που δεν έχουν μια ενιαία λογική.
Για παράδειγμα ο τρόπος μεταβίβασης παραμέτρων που χρησιμοποιείται,
το ότι η εκχώρηση ακέραιας σε πραγματική μεταβλητή δεν επιτρέπεται (το λέει το βιβλίο)
ή ότι το Γράψε 1, επίσης δεν επιτρέπεται.
Όλα αυτά δείχνουν ότι δεν υπάρχει μια ενιαία λογική και ότι η λογική που υπάρχει έρχεται σε κόντρα με τις περισσότερες δημοφιλείς γλώσσες προγραμματισμού.

Το αντιεπιστημονικό κολλάει στο γεγονός ότι δεν είναι δυνατόν μετά από 20 χρονιά να χρησιμοποιείς στις λύσεις έναν συμβολισμό που δεν υπάρχει στο βιβλίο. Επιστημονικό θα ήταν να οριζόταν σωστά και στη συνέχεια να το χρησιμοποιούσαν ως παράδειγμα.
Δηλαδή η βασική διαφωνία μου δεν είναι με τον συμβολισμό .. αλλά με τον τρόπο που αυτός εισάγεται. Το έγραψα και πριν. Παραδέχτηκα ότι η αρχική μου διατύπωση ήταν άστοχη. Δεν ξέρω γιατί το αγνοείς.

Όσον αφορά το τρολάρισμα που λες, για μένα τρολάρισμα θα ήταν να έμπαινα στο στέκι με username το όνομα troll γραμμένο ανάποδα, και όλα τα μηνύματά μου να είναι απαντήσεις/διορθώσεις στο ίδιο άτομο. Δε λέω ότι αυτό είναι κακό, είναι όμως σίγουρα περίεργο.

Βρε evry, ήμαρτον... Για ξαναδιάβασε τι ειπώθηκε από την αρχή της ανάρτησής σου περί εκτρώματος, αντιεπιστημονικότητας και ότι δε χρησιμοποιείται σε καμία άλλη γλώσσα. Επίσης, τι τρολάρισμα είναι αυτό που εξακολουθείς να κάνεις με τη διαφορά ανάμεσα στο To και τις τελείες, ή το case όπως υλοποιείται στη D (που είναι ακόμα πιο περίεργο από της ΓΛΩΣΣΑΣ);  Έλεος.

Το θετικό πάντως από αυτή την κουβέντα είναι πως έμαθα όλες τις γλώσσες που χρησιμοποιούν ranges στην case.
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: pgrontas στις 20 Οκτ 2019, 04:55:53 μμ
Κατά τη γνώμη μου το πρόβλημα με την επίλεξε δεν είναι τα ranges. Αυτά θα έλεγα ότι είναι επιθυμητά, καθώς ταιριάζουν με την περιβόητη συμπαγή δομή που λέει στο βιβλίο. Οπότε καλώς μπήκε ο συμβολισμός .. έστω και αργά (αν και όπως είπε και ο ilias_s νομίζω, καλό θα ήταν να υπάρχει και πιο επίσημα κάπου)

Το πρόβλημα για μένα είναι οι 'μισές' συνθήκες, όπως π.χ. στο ΠΕΡΙΠΤΩΣΗ <10, όπου εισάγει μια ασυνέπεια καθώς στην περίπτωση ισότητας θα πρέπει να γραφτεί ΠΕΡΙΠΤΩΣΗ 10 και όχι ΠΕΡΙΠΤΩΣΗ =10. Βέβαια δεν ξέρω αν το δεύτερο απαγορεύεται, απλά δεν το έχω δει σε αντίστοιχες περιπτώσεις στο βιβλίο, όπου προτιμάται η απαλοιφή του τελεστή ισότητας, θεωρώντας το μάλλον ως μια ειδική περίπτωση της λίστας τιμών (λίστα με ένα στοιχείο).

Το πρόβλημα εδώ δεν είναι αισθητικό, καθώς κάθε περίπτωση μια κανονική γλώσσα την ορίζει κανείς όπως θέλει και προσωπικά μου έχει πάρει αρκετό χρόνο να συνηθίσω κάποιους περίεργους τρόπους που επιλέγουν διάφορες γλώσσες να εκφραστούν. Τι είναι όμως αυτές οι μισές συνθήκες και αντε μετά να εξηγείς γιατί στην ΑΝ πχ. γράφουμε Χ>10 και Χ<20 και όχι Χ>10 και <20.

Μακάρι δηλαδή στην ΕΠΙΛΕΞΕ να κρατούσαμε μόνο τα ranges, ίσως ως τρόπο να γράψεις σύντομα μεγάλες λίστες συνεχόμενων σταθερών.
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: llort_x στις 20 Οκτ 2019, 05:00:35 μμ
Με το προηγούμενο μήνυμα σου απάντησα ότι έκανα λάθος όταν είπα ότι δεν χρησιμοποιείται σε άλλες γλώσσες και ότι εννοούσα κάτι άλλο.
Το έκτρωμα είναι βαριά λέξη αλλά δεν αναφέρεται αποσπασματικά στις τελείες .. αλλά στο γεγονός ότι έχει σχεδιαστεί μια ΓΛΩΣΣΑ με ετερογενή στοιχεία που δεν έχουν μια ενιαία λογική.
Για παράδειγμα ο τρόπος μεταβίβασης παραμέτρων που χρησιμοποιείται,
το ότι η εκχώρηση ακέραιας σε πραγματική μεταβλητή δεν επιτρέπεται (το λέει το βιβλίο)
ή ότι το Γράψε 1, επίσης δεν επιτρέπεται.
Όλα αυτά δείχνουν ότι δεν υπάρχει μια ενιαία λογική και ότι η λογική που υπάρχει έρχεται σε κόντρα με τις περισσότερες δημοφιλείς γλώσσες προγραμματισμού.

Το αντιεπιστημονικό κολλάει στο γεγονός ότι δεν είναι δυνατόν μετά από 20 χρονιά να χρησιμοποιείς στις λύσεις έναν συμβολισμό που δεν υπάρχει στο βιβλίο. Επιστημονικό θα ήταν να οριζόταν σωστά και στη συνέχεια να το χρησιμοποιούσαν ως παράδειγμα.
Δηλαδή η βασική διαφωνία μου δεν είναι με τον συμβολισμό .. αλλά με τον τρόπο που αυτός εισάγεται. Το έγραψα και πριν. Παραδέχτηκα ότι η αρχική μου διατύπωση ήταν άστοχη. Δεν ξέρω γιατί το αγνοείς.

Όσον αφορά το τρολάρισμα που λες, για μένα τρολάρισμα θα ήταν να έμπαινα στο στέκι με username το όνομα troll γραμμένο ανάποδα, και όλα τα μηνύματά μου να είναι απαντήσεις/διορθώσεις στο ίδιο άτομο. Δε λέω ότι αυτό είναι κακό, είναι όμως σίγουρα περίεργο.

Το θετικό πάντως από αυτή την κουβέντα είναι πως έμαθα όλες τις γλώσσες που χρησιμοποιούν ranges στην case.

Βρε evry, δε λες, αλλά λες, και μετά λες ότι έλεγες άλλα.
Εν πάση περιπτώσει, ας κρίνει η κοινότητα.
Παρακαλώ πολύ τους διαχειριστές, αν κρίνουν είτε ότι παραβίασα κάποιον από τους κανόνες του forum είτε ότι είχα οποιαδήποτε ανάρμοστη ή ακόμη και οριακά ανεκτή συμπεριφορά στη σύντομη παρουσία μου στο forum, να διαγράψουν τον λογαριασμό μου και να αφαιρέσουν τις αναρτήσεις μου.
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: evry στις 20 Οκτ 2019, 05:54:57 μμ
Αυτά που λέω είναι πολύ συγκεκριμένα.
Επίσης δεν έχεις παραβιάσει κάποιον κανόνα του φόρουμ (απ'όσο ξέρω).
Γιατί το αναφέρεις αυτό?

Βρε evry, δε λες, αλλά λες, και μετά λες ότι έλεγες άλλα.
Εν πάση περιπτώσει, ας κρίνει η κοινότητα.
Παρακαλώ πολύ τους διαχειριστές, αν κρίνουν είτε ότι παραβίασα κάποιον από τους κανόνες του forum είτε ότι είχα οποιαδήποτε ανάρμοστη ή ακόμη και οριακά ανεκτή συμπεριφορά στη σύντομη παρουσία μου στο forum, να διαγράψουν τον λογαριασμό μου και να αφαιρέσουν τις αναρτήσεις μου.
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: evry στις 20 Οκτ 2019, 06:03:45 μμ
Παναγιώτη το ίδιο ακριβώς πρόβλημα είχα αναφέρει και εγώ εδώ:
https://alkisg.mysch.gr/steki/index.php?topic=7844.msg87046#msg87046 (https://alkisg.mysch.gr/steki/index.php?topic=7844.msg87046#msg87046)

Ότι υπάρχει μια ασυνέπεια με το <0 γιατί θα έπρεπε να είναι και =0.
Μετά έρχονται και τα ranges και έχουμε πολλούς διαφορετικούς τρόπους να κάνουμε το ίδιο πράγμα χωρίς όμως να ακολουθούν μια ενιαία γραμμή κάτι το οποίο δημιουργεί πολλά προβλήματα κατά τη διδασκαλία
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: llort_x στις 20 Οκτ 2019, 07:06:51 μμ
Το πρόβλημα για μένα είναι οι 'μισές' συνθήκες, όπως π.χ. στο ΠΕΡΙΠΤΩΣΗ <10, όπου εισάγει μια ασυνέπεια καθώς στην περίπτωση ισότητας θα πρέπει να γραφτεί ΠΕΡΙΠΤΩΣΗ 10 και όχι ΠΕΡΙΠΤΩΣΗ =10. Βέβαια δεν ξέρω αν το δεύτερο απαγορεύεται, απλά δεν το έχω δει σε αντίστοιχες περιπτώσεις στο βιβλίο, όπου προτιμάται η απαλοιφή του τελεστή ισότητας, θεωρώντας το μάλλον ως μια ειδική περίπτωση της λίστας τιμών (λίστα με ένα στοιχείο).

Το πρόβλημα εδώ δεν είναι αισθητικό, καθώς κάθε περίπτωση μια κανονική γλώσσα την ορίζει κανείς όπως θέλει και προσωπικά μου έχει πάρει αρκετό χρόνο να συνηθίσω κάποιους περίεργους τρόπους που επιλέγουν διάφορες γλώσσες να εκφραστούν. Τι είναι όμως αυτές οι μισές συνθήκες και αντε μετά να εξηγείς γιατί στην ΑΝ πχ. γράφουμε Χ>10 και Χ<20 και όχι Χ>10 και <20.
Πάντως Παναγιώτη, στη VB.NET που επιτρέπονται οι "μισές" συνθήκες, όπως στο παρακάτω τμήμα κώδικα, όταν δεν βάλεις συγκριτικό τελεστή κάνει αυτό που λες, εννοείται το =
Κώδικας: [Επιλογή]
Imports System

Public Class Test
Public Shared Sub Main()

Dim age As Integer

System.Console.Write("Please enter your age: ")
age = System.Console.ReadLine()

Select Case age
    Case < 17
        System.Console.WriteLine("You are not old enough to drink alcohol")
    Case >= 18
        System.Console.WriteLine("You are old enough to drink alcohol, but drink carefully!")
    Case Else
        System.Console.WriteLine("Didn't understand that")
    End Select

End Sub
End Class
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: Καρκαμάνης Γεώργιος στις 20 Οκτ 2019, 10:36:09 μμ
Το παράξενο είναι πως όταν ρωτήθηκαν οι συγγραφείς πως θα καλύψουμε την περίπτωση ΑΠΟ ΕΩΣ στην επίλεξε, στο συνέδριο της ΠΕΚΑΠ ανέφεραν πως αφού δεν το γράφει το σχολικό βιβλίο στη σύνταξη,  δεν υπάρχει περίπτωση να ζητηθεί κάτι τέτοιο...
Τα συμπεράσματα δικά σας
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: akalest0s στις 21 Οκτ 2019, 01:58:54 πμ
Τα συμπεράσματα δικά σας
Τα δικά μας συμπεράσματα έχουν βγει εδώ και χρόνια... τι να πεις!  :angel:
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: amavidis στις 21 Οκτ 2019, 09:12:48 πμ
Έχω την εξής απορία: Αντί του 1..100 γιατί δεν χρησιμοποιήθηκε το ΑΠΟ 1 ΕΩΣ 100 που αναφέρεται παντού αλλά μέχρι τώρα δεν τεκμηριώνεται η συνταξή του;
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: alkisg στις 21 Οκτ 2019, 09:32:07 πμ
Η χρήση των δύο τελειών για ranges είναι πολύ συχνή στις γλώσσες προγραμματισμού:
https://en.wikipedia.org/wiki/Ellipsis_(computer_programming)#Ranges
Τίτλος: Απ: Εντολή ΕΠΙΛΕΞΕ με συγκριτική πράξη
Αποστολή από: amavidis στις 21 Οκτ 2019, 09:35:56 πμ
Τα δικά μας συμπεράσματα έχουν βγει εδώ και χρόνια... τι να πεις!  :angel:
Γιώργο αν θυμάμαι καλά η απάντηση ήταν "μέχρι νεωτέρας ..." ακριβώς γιατί περίμεναν τις ενδεικτικές απαντήσεις. Προχειρότητα βέβαια...