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

Γενικό Λύκειο => Γ΄ Λυκείου => Δομή ακολουθίας => Μήνυμα ξεκίνησε από: George Eco στις 09 Οκτ 2019, 12:47:13 μμ

Τίτλος: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: George Eco στις 09 Οκτ 2019, 12:47:13 μμ
Καλησπέρα. Έχω την εξής απορία συνάδελφοι κι αν κάποιος ξέρει, ας μου τη διαλευκάνει.
Η ΓΛΩΣΣΑ είναι θεωρητική γλώσσα, οπότε αν έχουμε επίσημη θέση από το Υπουργείο για αυτο που θα ρωτήσω, υπερισχύει όλων.
Χρησιμοποιώντας το Διερμηνευτή της ΓΛΩΣΣΑΣ, έκανα σύγκριση συμβολοσειρών.
Πιο συγκεκριμένα καταλήγω πως μικρότερα προς μεγαλύτερα είναι με σειρά από αριστερά προς τα δεξιά οι εξής χαρακτήρες σε ένα string (η θέση του γράμματος σε ένα string προφανώς έχει κι ανάλογη αξία σα να χρησιμοποιούσα αριθμητικό σύστημα, αλλά εδώ για ευκολία συγκρίνω ένα σύμβολο με ένα άλλο ξεκάθαρα για να μη μπερδευτούμε)
0-9, A-Z, a-z, Α-Ω, α-ω,

ΕΡΩΤΗΣΗ:
Παρατηρώ πως κάποιοι χαρακτήρες, αν όχι όλοι είναι μικρότερης αξίας της αξίας του '0' όταν τρέχω συγκρίσεις στο διερμηνευτή.
Ποια κωδικοποιήση ακολουθείται όμως και πόσο σίγουροι είμαστε πως συμβαδίζει με αυτή που έχει κατά νου το Υπουργείο;
Η κωδικοποίηση ASCII για παράδειγμα έχει
Ζ = 132
[ = 133
πράγμα που αυτόματα αποδεικνύει πως δεν είναι η κωδικοποίηση που ακολουθεί ο Διερμηνευτής.



Η ερώτηση στόχο έχει τη πλήρη αποσαφήνιση όλων των ακριβή αξιών κάθε χαρακτήρα του αλφαβήτου της ΓΛΩΣΣΑΣ, συμπεριλαμβανομένων των ειδικών χαρακτήρων και κάθε τι που μπορεί να μπει γενικά σε συμβολοσειρά.
Κι εκεί έρχεται το πρόβλημα.
Είναι ΟΛΟΙ οι ειδικοί χαρακτήρες του αλφαβήτου που μπαίνουν σε ένα string μικρότεροι της αξίας του '0';

Τι ακριβώς ισχύει και ποια είναι η προτεραιότητα,  στη θεωρητική ΓΛΩΣΣΑ που δίνεται Πανελλήνιες;


Διόρθωση και προσθήκη για διευκόλυνση μελλοντικών αναγωνστών:
Από πάνω προς τα κάτω, κι από αριστερά προς τα δεξιά, μικρότερο προς μεγαλύτερο βάσει unicode:
Κενός χαρακτήρας, ! " # $ % & ' ( ) * + , - . /   
0-9     
: ; < = > ? @
A-Z
 [ \ ] ^ _ `
a-z
{ | } ~
Α-Ω
Ϊ , Ϋ, ά, έ, ή, ί, ΰ
 α,β,γ,δ,ε,ζ,η,θ,ι,κ,λ,μ,ν,ξ,ο,π,ρ,σ,ς,τ,υ,φ,χ,ψ,ω
ϊ ,ϋ, ό, ύ, ώ
ϐ (σύμβολο όχι γράμμα) , ϑ(σύμβολο όχι γράμμα)  , ϛ (σύμβολο όχι γράμμα)

https://en.wikipedia.org/wiki/List_of_Unicode_characters

Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: George Eco στις 09 Οκτ 2019, 12:55:03 μμ
Αν δεν υπάρχει κάπου, θα τα χώσω όλα σε ένα πίνακα και θα δώσω εδώ τις απαντήσεις βάσει του Διερμηνευτή.
Λογικά ξεχειλώνω τελείως το θέμα, δε νομίζω να πέσει κάτι ΤΟΣΟ σκληρό στις Πανελλήνιες, αλλά επειδή ποτέ δε ξέρεις...
Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: George Eco στις 09 Οκτ 2019, 01:32:39 μμ
Συγκριτικό μέγεγος συμβόλων ως σύμβολα σε μεταβλητές ΧΑΡΑΚΤΗΡΕΣ, σύμφωνα με το ΔΙΕΡΜΗΝΕΥΤΗ ΤΗΣ ΓΛΩΣΣΑΣ.
Από τα αριστερά το μικρότερο προς τα δεξιά το μεγαλύτερο!
Κενός χαρακτήρας, ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~  0-9, A-Z, a-z, Α-Ω, α-ω.

Αν γνωρίζετε κάτι άλλο διαφωτίστε με.

Διόρθωση και προσθήκη για διευκόλυνση μελλοντικών αναγωνστών:
Από πάνω προς τα κάτω, κι από αριστερά προς τα δεξιά, μικρότερο προς μεγαλύτερο βάσει unicode.

Κενός χαρακτήρας, ! " # $ % & ' ( ) * + , - . /   
0-9     
: ; < = > ? @
A-Z
 [ \ ] ^ _ `
a-z
{ | } ~
Α-Ω
 α-ω
Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: Λαμπράκης Μανώλης στις 09 Οκτ 2019, 02:02:22 μμ
Καλησπέρα σε όλους...

Γιώργο νομίζω μας ενδιαφέρει μόνο η διάταξη που αναφέρει το βιβλίο, δηλαδη το ' Α' είναι το μικρότερο σε ιεραρχία και το ' Ω'  την μεγαλύτερη... Δεν θα ζητηθεί σύγκριση των χαρακτήρων '+' και 'Β' πχ, νομίζω υπερβαίνει το πνεύμα του βιβλίου..

Εδω που τα λέμε εγώ πχ δε νομίζω να θυμάμαι ολόκληρη την ιεραρχι που εγραψες.. Χεχεχε..  :angel: >:D
Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: George Eco στις 09 Οκτ 2019, 02:10:43 μμ
Μα ναι, ποιος να το θυμάται αυτό το πράγμα;
Αλλά μπορεί να κάνουν καμιά πονηριά τύπου:
'αΒγ' > 'Αbγ'
'000' > '00*' φέρει πειν, οπότε όλα τα σύμβολα είναι καλό που ξέρουμε πως είναι μικρότερα από αριθμούς ως αποτίμηση σε string.

Εμβαθύνω τόσο πολύ γιατί (θα το ξαναπώ) το 2018 δε περίμενα να βάλουν αδόμητο διάγραμμα ροής και να ζητήσουν την ακριβή μεταφορά του σε ΓΛΩΣΣΑ (που είναι αδύνατον δίχως GOTO) αλλά το έβαλαν, οπότε και θέλω να προετοιμάζω τα παιδιά μου για παν ενδεχόμενο. Δε θέλω να φοβούνται ή να σκαλώσουν σε τίποτα απολύτως.  ;)
Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: alkisg στις 09 Οκτ 2019, 02:32:56 μμ
Δοκιμή από  Linux, δεν έχω πρόχειρα Windows:

Κώδικας: [Επιλογή]
ΠΡΟΓΡΑΜΜΑ Σύγκριση
ΑΡΧΗ
  ΓΡΑΨΕ '[' > 'G'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Αποτέλεσμα: ΑΛΗΘΗΣ

Εσένα σου βγάζει ΨΕΥΔΗΣ; Τι έκδοση Windows και τι γλώσσα;
Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: George Eco στις 09 Οκτ 2019, 02:45:39 μμ
Χμμμ... μάλλον είχα ένα typo. Μάλλον Ζ Ελληνικό έδινε το (ΨΕΥΔΗΣ) αντί Αγγλικού που βγάζει ΑΛΗΘΗΣ κι εμένα τώρα που το δοκίμασα.

Ωστόσο... μου τα έχει κάνει ΕΤΣΙ sort μεταξύ τους.
 ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~


Τα γράμματα εμπλέκονται μεταξύ των συμβόλων;
Τι κωδικοποίηση ακολουθεί ο Διερμηνευτής;
Εκτελώ τη 0.93 σε W10.
Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: alkisg στις 09 Οκτ 2019, 02:47:09 μμ
Unicode, υπερσύνολο του ASCII, αφού το ASCII δεν περιλαμβάνει καν Ελληνικά.
Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: George Eco στις 09 Οκτ 2019, 02:50:50 μμ
Τον ASCII σα παράδειγμα τον έθεσα.
Θυμάσαι ποια unicode; UTF-8 ας πούμε;

Nevermind, κατάλαβα.
Αυτό ακολουθεί έτσι;
https://en.wikipedia.org/wiki/List_of_Unicode_characters

Με είχε μπερδέψει γιατί διάβασα λάθος το < στον Unicode όταν τον έψαχνα. Έπρεπε να ψάξω χαμηλή τιμή και να μην επαναπαυτώ στη μεγάλη και στο εξωτικό "Modifier Letter Left Arrowhead "

U+003C    <    60    Less-than sign    0029
U+02C2    ˂    706    Modifier Letter Left Arrowhead

Κατάλαβα! Σ' ευχαριστώ πολύ Άλκη!
Το Υπουργείο φαντάζομαι το έχει ασαφές αυτό έτσι; Θέλω να πω, δε κάνει νύξη για περίπλοκες συγκρίσεις, γιατί αλλιώς καήκαμε.
Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: alkisg στις 09 Οκτ 2019, 02:57:13 μμ
Τα UTF-8, UTF-16, UCS-2 κλπ κλπ είναι αναπαραστάσεις του προτύπου Unicode σε δυαδική μορφή, που δεν έχουν όμως καμία επίπτωση στις ταξινομήσεις.

Ο Διερμηνευτής χρησιμοποιεί διάφορες τέτοιες αναπαραστάσεις. Στα Windows από NT μέχρι 10ρια η εσωτερική αναπαράσταση των strings είναι UTF-16 little endian· αυτό το καθορίζουν τα ίδια τα Windows.
Κατά την αποθήκευση σε αρχεία, χρησιμοποιείται UTF-8, που είναι το de facto standard των αρχείων στο Internet και στο Linux (και σιγά σιγά καταφτάνει και στα Windows).

Η σύγκριση αλφαριθμητικών Unicode επίσης υλοποιείται από τα Windows, και ναι είναι αυτή που σύνδεσες.
Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: George Eco στις 09 Οκτ 2019, 03:03:31 μμ
Κατάλαβα! Σ' ευχαριστώ πολύ Άλκη!
Το Υπουργείο φαντάζομαι το έχει ασαφές αυτό έτσι;
Θέλω να πω, δε κάνει νύξη για περίπλοκες συγκρίσεις. Αυτό με καίει βασικά.
Το ΘΕΩΡΗΤΙΚΟ υπόβαθρο σε ΓΛΩΣΣΑ.
Θέλω να ξέρω σε τι πλαίσιο μπορούν να βάλουν συγκρίσεις συμβολοσειρών.
Φέρει πειν

'καλημέραα' > 'καλησπέρα'
'ΧΩ' > 'ΧΧ'
'Σεββαχ' > 'ΑαχΒαχ'
'Γεία0123' > 'Αντίο123'

ή μπορεί να βάλουν κάνα κουλό τύπου

'α>β' > 'α<β' και τρέχουμε;

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


Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: George Eco στις 11 Οκτ 2019, 01:17:59 πμ
Καλησπέρα και πάλι.
Τελικά έχει κανείς ιδέα μέχρι που μπορούν να φτάσουν στη σύγκριση συμβολοσειρών από το Υπουργείο;
Τι πρέπει να ξέρουν τα παιδιά;
Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: petrosp13 στις 11 Οκτ 2019, 01:19:14 πμ
Νομίζω ότι κάτι πέρα από σύγκριση ίδιου τύπου γραμμάτων (κεφαλαία-κεφαλαία ή μικρά-μικρά) δεν μπορεί να ζητηθεί
Τίτλος: Απ: ΣΥΓΚΡΙΣΗ ΣΥΜΒΟΛΟΣΕΙΡΩΝ
Αποστολή από: George Eco στις 11 Οκτ 2019, 01:33:24 πμ
Ευχαριστώ Πέτρο. Κι εγώ την ίδια εντύπωση έχω.  :)