Page under construction!!

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

  1. Il programma attraverso quale canale riceve i dati?
  2. Di che tipo sono i dati in input?
  3. I dati ricevuti in input sono pronti da elaborare o è necessario manipolarli prima in qualche modo (calcolarne/derivarne/estrarne altri dati)?