16
Συναντήσεις Ομίλου 2016-2017 / Συνάντηση 12 Φεβρουαρίου 2017
« στις: Φεβρουάριος 07, 2017, 05:48:45 μμ »
Στην τελευταία συνάντηση είπαμε να το ρίξουμε λίγο στην Python και να ασχοληθούμε λίγο με την κρυπτογραφία.
Προσοχή!! Δουλεύουμε στην Python 3!!! (έκδοση 3.6) την οποία μπορείτε να κατεβάσετε από τον παρακάτω σύνδεσμο:
https://www.python.org/ftp/python/3.6.0/python-3.6.0.exe
Δυο σχολικά βιβλία που κάνουν στο επαγγελματικό λύκειο μπορείτε να βρείτε εδώ:
Αρχές Προγραμματισμού Β τάξη ΕΠΑΛ
Προγραμματισμός Υπολογιστών Γ' ΕΠΑΛ
Το παρακάτω πρόγραμμα κρυπτογραφεί το κείμενο text με τον αλγόριθμο του Καίσαρα μετατοπίζοντας κάθε γράμμα key θέσεις στο αλφάβητο.
Είχαμε κάνει το παραπάνω και είχαμε πει να δοκιμάσετε να κάνετε την αποκρυπτογράφηση. Επίσης να λύσετε το πρόβλημα της κυκλικής μετάθεσης, δηλαδή ότι μετά το Ω είναι το Α στα ελληνικά και μετά το Z είναι το Α στα αγγλικά!!
Υπόδειξη: Στην Python ισχύει ο ίδιος τελεστής για το υπόλοιπο της ακέραιας διαίρεσης, έτσι αν θέλουμε το γράμμα που είναι 4 θέσεις μετά το Y, δηλαδή Y -> Z -> A -> B -> C , προσθέτουμε στη θέση που είμαστε key % 24 !!! Δοκιμάστε το στην πράξη με πραγματικά παραδείγματα.
Γιατί να μάθω Python
Προσοχή!! Δουλεύουμε στην Python 3!!! (έκδοση 3.6) την οποία μπορείτε να κατεβάσετε από τον παρακάτω σύνδεσμο:
https://www.python.org/ftp/python/3.6.0/python-3.6.0.exe
Δυο σχολικά βιβλία που κάνουν στο επαγγελματικό λύκειο μπορείτε να βρείτε εδώ:
Αρχές Προγραμματισμού Β τάξη ΕΠΑΛ
Προγραμματισμός Υπολογιστών Γ' ΕΠΑΛ
Το παρακάτω πρόγραμμα κρυπτογραφεί το κείμενο text με τον αλγόριθμο του Καίσαρα μετατοπίζοντας κάθε γράμμα key θέσεις στο αλφάβητο.
Κώδικας: python [Επιλογή]
def encrypt(text, key):
cipher = ""
for letter in text:
cipher += chr( ord(letter) + key )
return cipher
Είχαμε κάνει το παραπάνω και είχαμε πει να δοκιμάσετε να κάνετε την αποκρυπτογράφηση. Επίσης να λύσετε το πρόβλημα της κυκλικής μετάθεσης, δηλαδή ότι μετά το Ω είναι το Α στα ελληνικά και μετά το Z είναι το Α στα αγγλικά!!
Υπόδειξη: Στην Python ισχύει ο ίδιος τελεστής για το υπόλοιπο της ακέραιας διαίρεσης, έτσι αν θέλουμε το γράμμα που είναι 4 θέσεις μετά το Y, δηλαδή Y -> Z -> A -> B -> C , προσθέτουμε στη θέση που είμαστε key % 24 !!! Δοκιμάστε το στην πράξη με πραγματικά παραδείγματα.
Γιατί να μάθω Python