Ψηφοφορία

Πως θα βαθμολογούσατε τις δύο απαντήσεις της άσκησης;

Άριστα σε καμία
0 (0%)
Άριστα μόνο στην 1η
0 (0%)
Άριστα μόνο στην 2η
0 (0%)
Άριστα και στις δύο
8 (100%)

Σύνολο ψηφοφόρων: 8

Αποστολέας Θέμα: (ψηφοφορία) Τιμές πίνακα χαρακτήρων και εισαγωγικά  (Αναγνώστηκε 1532 φορές)

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 366
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: (ψηφοφορία) Τιμές πίνακα χαρακτήρων και εισαγωγικά
« Απάντηση #30 στις: 25 Ιαν 2019, 03:03:10 μμ »
Είναι και αυτή μια άποψη, αλλά τα escape codes δεν υπάρχουν σε όλες τις γλώσσες. Όμως όπως αντιλαμβάνομαι εδώ σε ενδιαφέρει η αναπαράσταση στην οθόνη τιμών, δηλαδή πώς θα βλέπει ο χρήστης τιμές. Το πώς καταγράφονται οι τιμές στη μνήμη είναι άλλο θέμα. Πχ ένας αριθμός μπορεί να καταχωρηθεί με πολλούς τρόπους αν το δούμε μεταξύ γλωσσών και μεταξύ τύπων αριθμών. Η εμφάνιση του αριθμού δεν γίνεται για να φανεί και ο τρόπος καταχώρησης. Δηλαδή δεν μπορούμε να βγάζουμε συμπεράσματα από την εμφάνιση στην οθόνη, είτε με μια λειτουργία όπως η ΓΡΑΨΕ, είτε μέσω φόρμας παρουσίασης που συνθέτει ένας debugger.
Τα escape codes είναι χαρακτήρες που δεν μπορούν να φανούν στην οθόνη. Πχ ο χαρακτήρας με αριθμό 13 είναι το αντίστοιχο της "επαναφοράς στην πρώτη θέσης αριστερά", ενώ το 10 είναι αλλαγή γραμμής (στους εκτυπωτές αν δεν υπάρχει άλλη γραμμή στο χαρτί, τότε εξάγεται το φύλλο και έρχεται νέο χαρτί). Για να τους δει κανείς αυτούς τους χαρακτήρες σε μια συμβολοσειρά (αλλιώς το αλφαριθμητικό) θα πρέπει να τους κωδικοποιήσει. Αυτό ακριβώς είναι η κωδικοποίηση των escape codes. Δυστυχώς υπάρχει και δεύτερος τύπος escape codes, και για να μην μπερδευτεί κανείς το αναφέρω. Είναι οι κωδικοί που ξεκίναγαν με το χαρακτήρα 27 (escape) και ακολουθούσαν αριθμοί που ουσιαστικά ήταν εντολές, για τη συσκευή που στέλναμε το αλφαριθμητικό, όπως ο εκτυπωτής.
εδώ είναι το εγχειρίδιο εντολών της ESC/P γλώσσας της EPSON, https://files.support.epson.com/pdf/general/escp2ref.pdf
το 1987 έφτιαξα πρόγραμμα σε assembly για να μπορώ να κάνω αντιγραφή οθόνης (κάποια ιστογράμματα) σε ένα EPSON FX εκτυπωτή (dot matrix), σε ένα BBC Model B (32Κbyte ram), και αυτό έγινε δυνατό με τα escape codes.

gbougioukas

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 175
Απ: (ψηφοφορία) Τιμές πίνακα χαρακτήρων και εισαγωγικά
« Απάντηση #31 στις: 27 Ιαν 2019, 01:08:13 μμ »
Κι αν οι χαρακτήρες τελειώνουν σε κενό (space), ένα ή περισσότερα; Μήπως δεν καταχωρούνται τα κενά; Ποιο είναι το περιεχόμενο του στοιχείου, ποια η τιμή του; Μήπως γι' αυτό χρειάζονται τα εισαγωγικά; Μήπως γι' αυτό τα βάζουν οι debugger;


pgrontas

  • Ομάδα διαγωνισμάτων 2016
  • *
  • Μηνύματα: 1314
  • There are always possibilities...
Απ: (ψηφοφορία) Τιμές πίνακα χαρακτήρων και εισαγωγικά
« Απάντηση #32 στις: 27 Ιαν 2019, 05:56:17 μμ »
Κι αν οι χαρακτήρες τελειώνουν σε κενό (space), ένα ή περισσότερα; Μήπως δεν καταχωρούνται τα κενά; Ποιο είναι το περιεχόμενο του στοιχείου, ποια η τιμή του; Μήπως γι' αυτό χρειάζονται τα εισαγωγικά; Μήπως γι' αυτό τα βάζουν οι debugger;
Πόσα κενά έχεις βάλει; Σίγουρα δεν είναι ένα αλλά είναι δύο ή τρία ή τέσσερα; Ποια απάντηση είναι σωστή;

Ας μη χάνουμε το δάσος.
Ναι οι debuggers μπορεί να βάζουν τα εισαγωγικά και γι'αυτό το λόγο μαζί με αυτούς που ανέφερα αλλά και άλλους. Όμως η άσκηση δε ρωτάει τι θα εμφανίσει ο debugger. Ρωτάει τι θα μπει στο κουτάκι. Εκεί θα μπει η τιμή του αλφαριθμητικού η οποία συμφωνούμε (ελπίζω) οτι δεν περιλαμβανει τα εισαγωγικά, αλλά περιλαμβανει τα κενά. Στην (σπάνια) περίπτωση που το αλφαριθμητικό αρχίζει ή τελειώνει με κενά (δεν θα το έκανα ποτέ ως προγραμματιστής) προτιμώ να πω στο μαθητές μου να γράψουν υποσημείωση από κάτω από την απάντηση ότι υπάρχουν και κενά στην τιμή, παρά να τους μπερδέψω για το ποια είναι η τιμή του αλφαριθμητικού.

Το παρακάτω απόσπασμα νομίζω ότι είναι σαφές. 

A string literal or anonymous string is a type of literal in programming for the representation of a string value within the source code of a computer program. Most often in modern languages this is a quoted sequence of characters (formally "bracketed delimiters"), as in x = "foo", where "foo" is a string literal with value foo – the quotes are not part of the value, and one must use a method such as escape sequences to avoid the problem of delimiter collision and allow the delimiters themselves to be embedded in a string.

https://en.wikipedia.org/wiki/String_literal#Bracketed_delimiters

Αλλά γιατί συζητάμε ακόμα τι είναι σωστό; Μπορώ να δεχτώ την άποψη να μην κόψουμε μονάδες (παρότι διαφωνώ για τους λόγους που εξήγησα), αλλά κάποια πράγματα που έχουν ήδη αναφερθεί νομίζω κλείνουν το θέμα για το τι πρέπει να λέμε στα πλαίσια του μαθήματος πάντα.

   3. Ακολουθείται από το επίσημο λογισμικό του υπουργείου.
   4. Προκύπτει από παραδείγματα του βιβλίου που είναι εκτός ύλης (σελ. 81) και παλιότερα θέματα πανελληνίων (πχ. Επαναληπτικές 2012).

A man provided with paper, pencil, and rubber, and subject to strict discipline is in effect a universal machine - Alan Turing

bugman

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 366
  • The Bug Eater
    • Πληροφορική Προγραμματισμός
Απ: (ψηφοφορία) Τιμές πίνακα χαρακτήρων και εισαγωγικά
« Απάντηση #33 στις: 28 Ιαν 2019, 04:13:04 πμ »
Όλοι οι διορθωτές (editors) έχουν μια επιλογή προβολής για κρυμμένους χαρακτήρες δηλαδή για αυτούς που δεν φαίνονται. Έτσι μόλις γυρίσει κανείς σε αυτήν την προβολή θα δει με κουκίδες τα κενά (διαστήματα), με βελάκια το χαρακτήρα "στηλοθέτη" ή tab, και ένα παράξενο σύμβολο για σημάδι παραγράφου!
Αν τα  "κουτάκια" τα θέλουμε να είναι τόσο καλά σε παράσταση θα πρέπει να ζητήσουμε τα κενά να φαίνονται με κουκίδες (η κουκίδα είναι στη μέση, δεν χρησιμοποιείται για άλλη δουλειά).

Έχω γράψει editor, (στο μεταφραστή της Μ2000), και με ένα κλικ στο F10 εμφανίζονται αυτά που αναφέρθηκαν και επιπλέον δυο ακόμα διαστήματα, το διάστημα nbsp (που δεν χωρίζει λέξεις σε αναδίπλωση), και το διάστημα των αριθμών (figure space) που έχει πλάτος όσο το πλάτος των αριθμών. Αυτά βέβαια είναι ψιλά γράμματα, στη ΓΛΩΣΣΑ ένα διάστημα χρησιμοποιείται.

« Τελευταία τροποποίηση: 28 Ιαν 2019, 11:54:25 πμ από bugman »

Καρκαμάνης Γεώργιος

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 1086
Απ: (ψηφοφορία) Τιμές πίνακα χαρακτήρων και εισαγωγικά
« Απάντηση #34 στις: 28 Μάρ 2019, 11:30:46 μμ »
Η λύση έχει δοθεί από την ίδια την επιτροπή εξετάσεων το 2012, όταν ζητήθηκε ο τύπος της μεταβλητής Χ και το περιεχόμενο της μεταβλητής Χ κατά τις παρακάτω εντολές εκχώρησης:

Χ <- 'ΑΛΗΘΗΣ'
Χ <- ΨΕΥΔΗΣ

gbougioukas

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 175
Απ: (ψηφοφορία) Τιμές πίνακα χαρακτήρων και εισαγωγικά
« Απάντηση #35 στις: 29 Μάρ 2019, 01:55:27 πμ »
Η λύση έχει δοθεί από την ίδια την επιτροπή εξετάσεων το 2012, όταν ζητήθηκε ο τύπος της μεταβλητής Χ και το περιεχόμενο της μεταβλητής Χ κατά τις παρακάτω εντολές εκχώρησης:

Χ <- 'ΑΛΗΘΗΣ'
Χ <- ΨΕΥΔΗΣ

Ποια είναι ακριβώς αυτή η λύση;