Αποστολέας Θέμα: Συνάντηση 12 Φεβρουαρίου 2017  (Αναγνώστηκε 447 φορές)

evry

  • Γενικός Διαχειριστής
  • Hacker
  • *****
  • Μηνύματα: 2181
  • Karma: +0/-0
  • To iterate is human, to recurse divine
    • Προφίλ
Συνάντηση 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 θέσεις στο αλφάβητο.

Κώδικας: 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
« Τελευταία τροποποίηση: Φεβρουάριος 08, 2017, 11:21:30 μμ από evry »
Learn to solve every problem that has been solved