Γενικό Λύκειο > Μονοδιάστατοι πίνακες

Η μέθοδος κρυπτογράφησης του Καίσαρα

(1/3) > >>

alkisg:
Disclaimer: η συνημμένη άσκηση είναι εκτός ύλης.Με αφορμή αυτήν τη συζήτηση, η παρούσα άσκηση προσπαθεί να δώσει μια οπτική του ερωτήματος «πώς θα ήταν αν η ΓΛΩΣΣΑ υποστήριζε χειρισμό αλφαριθμητικών».

Εκφώνηση:
Ο Ιούλιος Καίσαρας με τους στρατηγούς του χρησιμοποιούσε την παρακάτω μέθοδο κρυπτογράφησης για αποστολή μηνυμάτων:
Το μήνυμα «ΚΕΙΜΕΝΟ» γραφόταν ως «ΛΖΚΝΖΞΠ», δηλαδή:
το Κ αντικαθιστούνταν από το αμέσως επόμενο γράμμα της αλφαβήτου και γινόταν Λ,
το Ε αντικαθιστούνταν από το αμέσως επόμενο γράμμα της αλφαβήτου και γινόταν Ζ,
το Ι αντικαθιστούνταν από το αμέσως επόμενο γράμμα της αλφαβήτου και γινόταν Κ,
το Μ αντικαθιστούνταν από το αμέσως επόμενο γράμμα της αλφαβήτου και γινόταν Ν,
κτλ.
Φυσικά δε χρησιμοποιούνταν μόνο το επόμενο γράμμα, αλλά μια οποιαδήποτε μετατόπιση.
Περισσότερες πληροφορίες υπάρχουν στη διεύθυνση http://en.wikipedia.org/wiki/Caesar_cipher

Κάντε ένα πρόγραμμα που θα δέχεται ένα μήνυμα από το χρήστη, κάθε γράμμα χωριστά, και θα το τοποθετεί σε έναν πίνακα χαρακτήρων. Θα δέχεται από το χρήστη τη μετατόπιση και στη συνέχεια θα εφαρμόζει τη μέθοδο κρυπτογράφησης του Καίσαρα. Τέλος, θα εμφανίζει το κρυπτογραφημένο μήνυμα σε μία γραμμή.

evry:
Η άσκηση δεν είναι εκτός ύλης. Αν δώσεις στους μαθητές έναν πίνακα χαρακτήρων με όλα τα γράμματα της αλφαβήτου (24 ή 26) τότε ουσιαστικά η συνάρτηση Ord και η chr υλοποιούνται μέσω του πίνακα.
    Επίσης είναι αρκετά καλή άσκηση για το μάθημα αυτή η μετατόπιση των γραμμάτων στον πίνακα, πως σου φαίνεται?

gpapargi:
Είμαι σίγουρος Άλκη ότι περιμένεις την ερώτησή μου. Και αφού κανείς δεν ξέρει τη ΓΛΩΣΣΑ καλύτερα από κάποιον που την υλοποίησε (ούτε καν αυτός που την προδιάγραψε) είμαι βέβαιος ότι θα έχεις μια καλή απάντηση. Ας διατυπώσω το ερώτημα με όσο γίνεται μεγαλύτερη αφέλεια:

Επιτρέπεται να χρησιμοποιήσεις τον τελεστή + σε αλφαριθμητικά και αυτό να σημαίνει συνένωση; Δηλαδή το ερώτημα είναι πως μπορούμε να στηρίξουμε μέσα από το διδακτικό πακέτο το ότι ‘α’+’β’=’αβ’;
Το βιβλίο (αν δεν έχω χάσει κάτι) αναφέρει το + στους αριθμητικούς τελεστές μόνο. Εδώ το χρησιμοποιούμε σαν τελεστή αλφαριθμητικών.  Έχεις δει και κάτι άλλο;

Θυμάμαι πιο παλιά είχα ξαναγράψει ότι για να εκτυπώσω strings οριζόντια θέλω είτε μια συνάρτηση συνένωσης είτε μια εντολή εκτύπωσης που δεν αλλάζει γραμμή στο τέλος. Νομίζω πως κάποτε σε είχα ξαναδεί να γράφεις για τον τελεστή  + στα αλφαριθμητικά και είχα σκοπό να σε ρωτήσω αλλά μετά το ξέχασα.

alkisg:
Γιώργο περίμενα την ερώτηση, αλλά σόρρυ, δεν έχω απάντηση από το σχολικό βοήθημα, πέρα από αυτά που είχαμε πει στις σχετικές συζητήσεις:
https://alkisg.mysch.gr/steki/index.php?topic=374.0
https://alkisg.mysch.gr/steki/index.php?topic=453.0

...γι' αυτό και έβαλα το disclaimer ότι είναι εκτός ύλης, αφού δεν υπάρχει παράδειγμα με συνένωση αλφαριθμητικών στο διδακτικό πακέτο. Το πιο κοντινό σε χειρισμό αλφαριθμητικών που έχω βρει είναι από το βιβλίο καθηγητή:

--- Παράθεση από: Βιβλίο καθηγητή, κεφάλαιο 8, σελίδα 179 ---Έλεγχος δεδομένων
Σε πρώτο στάδιο αυτό που πρέπει να μην αγνοηθεί, είναι ο έλεγχος των δεδομένων εισόδου.

...(μιλάει για την είσοδο ενός ακεραίου, ότι θα πρέπει να τον διαβάζουμε σαν πραγματικό για να μην εγείρεται σφάλμα χρόνου εκτέλεσης, και καταλήγει)...

Γενικεύοντας το πρόβλημα και θεωρώντας ότι ο χρήστης του προγράμματος μπορεί να πληκτρολογήσει οτιδήποτε, θα έπρεπε η μεταβλητή εισόδου να είναι αλφαριθμητική, να γίνουν οι σχετικοί έλεγχοι και μετά η μετατροπή, εφ' όσον είναι όλα καλά.
--- Τέλος παράθεσης ---

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

kLee:
Πολύ καλο θέμα Άλκη!

Αυτό ακριβώς εννοώ ρε παιδιά, να υπάρχει και για μας που διδάσκουμε το μάθημα μια πρόκληση να μάθουμε και να υλοποιήσουμε κ κάτι καινούργιο!
Γιατί να κρινόμαστε για την αγάπη μας για το αντικείμενο? Υπάρχει και αυτό! Δεν υποχρεώνουμε κανέναν να τα βάλει σα θέματα σε εξετάσεις, αλλά μακάρι στα εργαστήρια των σχολείων να γινότανε δουλειά με τέτοιο υλικό! Εργαστηριακό μάθημα υποτίθεται ότι είναι η εκμάθηση της ΓΛΩΣΣΑΣ..

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

Μετάβαση στην πλήρη έκδοση