Ζάννειο Πρότυπο Γυμνάσιο

2014-2015 => Συναντήσεις Ομίλου 2016-2017 => Μήνυμα ξεκίνησε από: evry στις Φεβρουάριος 07, 2017, 05:48:45 μμ

Τίτλος: Συνάντηση 12 Φεβρουαρίου 2017
Αποστολή από: evry στις Φεβρουάριος 07, 2017, 05:48:45 μμ
Στην τελευταία συνάντηση είπαμε να το ρίξουμε λίγο στην Python και να ασχοληθούμε λίγο με την κρυπτογραφία.

Προσοχή!! Δουλεύουμε στην Python 3!!! (έκδοση 3.6) την οποία μπορείτε να κατεβάσετε από τον παρακάτω σύνδεσμο:
https://www.python.org/ftp/python/3.6.0/python-3.6.0.exe (https://www.python.org/ftp/python/3.6.0/python-3.6.0.exe)

Δυο σχολικά βιβλία που κάνουν στο επαγγελματικό λύκειο μπορείτε να βρείτε εδώ:
Αρχές Προγραμματισμού Β τάξη ΕΠΑΛ  (http://ebooks.edu.gr/modules/document/file.php/DSEPAL-B133/%CE%94%CE%B9%CE%B4%CE%B1%CE%BA%CF%84%CE%B9%CE%BA%CF%8C%20%CE%A0%CE%B1%CE%BA%CE%AD%CF%84%CE%BF/%CE%92%CE%B9%CE%B2%CE%BB%CE%AF%CE%BF%20%CE%9C%CE%B1%CE%B8%CE%B7%CF%84%CE%AE/24-0537-01_Arxes-Programmatismou-Ypologiston_B-EPAL_BM.pdf)
Προγραμματισμός Υπολογιστών Γ' ΕΠΑΛ (http://ebooks.edu.gr/modules/document/file.php/DSEPAL-C219/%CE%94%CE%B9%CE%B4%CE%B1%CE%BA%CF%84%CE%B9%CE%BA%CF%8C%20%CE%A0%CE%B1%CE%BA%CE%AD%CF%84%CE%BF/%CE%92%CE%B9%CE%B2%CE%BB%CE%AF%CE%BF%20%CE%9C%CE%B1%CE%B8%CE%B7%CF%84%CE%AE/24-0576-01_Programmatismos-Ypologiston_C-EPAL_BM.pdf)

Το παρακάτω πρόγραμμα κρυπτογραφεί το κείμενο 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 (http://www.skilledup.com/articles/reasons-to-learn-python)