
Caesar cipher - IN ITALIAN
Specifiche: Svetonio nella Vita dei dodici Cesari racconta che Giulio Cesare usava per le sue corrispondenze riservate un codice di sostituzione molto semplice: fissato un numero k (detto chiave di cifratura), sostituiva ciascuna lettera con quella k posizioni più avanti nell’alfabeto, eventualmente continuando dalla ’a’ quando si raggiunge la ’z’ e dalla ’A’ quando si raggiunge la ’Z’.
Scrivere un programma caesar.go
che implementa il cifrario di Cesare: il programma legge da standard input la chiave di cifratura k
e una riga di testo da cifrare ed emette su standard output il testo cifrato. I caratteri che non sono lettere non vanno cifrati.
Esempi di funzionamento
Chiave:
5
Testo da cifrare:
1, 2, 3. mamma li Turchi
Testo cifrato: 1, 2, 3. rfrrf qn Yzwhmn
Chiave:
21
Testo da cifrare:
rfrrf qn Yzwhmn
Testo cifrato: mamma li Turchi
Leggete attentamente le specifiche e, prima di iniziare a scrivere il programma caesar.go
, rispondete per iscritto alle seguenti domande. Poi progettate e scrivete il programma.
Suggerimento su come cifrare una lettera k posizioni più avanti. Data una chiave k e la posizione n nell’alfabeto di una lettera da cifrare, la posizione nell’alfabeto della corrispondente lettera cifrata è data da: n = (n + k) % ALPHABET_LEN
Domande
- Il programma attraverso quale canale riceve i dati?
- Di che tipo sono i dati in input?
- I dati ricevuti in input sono pronti da elaborare o è necessario manipolarli prima in qualche modo (calcolarne/derivarne/estrarne altri dati)?