...
Code Block |
---|
Klartekst: ABCDEFGHIJKLMNOPQRSTUVWXYZ Chiffertekst: DEFGHIJKLMNOPQRSTUVWXYZABC |
a)
...
caesar(word,
...
key)
, som tar inn en bokstav word
og forskyver hver bokstav (som er av typen char
) i word
...
key
antall tegn i alfabetet....
...
...
a-z
. Du kan anta at det kun tas inn små bokstaver.Code Block | ||
---|---|---|
|
...
...
>> |
...
caesar(' |
...
terningen', |
...
3)
ans =
'whuqlqjhq' |
b)
Utvid nå funksjonen du lagde i deloppgave a) til å kunne håndtere setninger (hvis den ikke allerede gjør det).
Expand | ||
---|---|---|
| ||
Dersom funksjonen din støter på andre tegn enn a-z , slik som ,.-;: og mellomrom osv. skal disse bare ignoreres. Her kan continue komme til nytte. |
Lag deretter en funksjon plaintext(word,
key) som tar inn et cæsarchiffer og dekrypterer dette. Dette er med andre ord en slags omvendt funksjon av caesar()
.
Expand | ||
---|---|---|
| ||
Finner du en måte å gjøre dette på, uten så skrive så mye ny kode? |
Code Block | ||
---|---|---|
| ||
>> caesar('terningen er kastet.', 3)
ans =
'whuqlqjhq hu ndvwhw.'
>> plaintext('whuqlqjhq hu ndvwhw.', 3)
ans =
'terningen er kastet.' |
...
ans =
oddobvkdd
b)
Lag funksjonen decrypt(word, step)
. Denne skal dekryptere en tekststreng ved gitt step.
Eksempel på kjøring:
>> decrypt('oddobvkdd', 10)
ans =
etterlatt
c)
Lag funksjonen safeTalk()
. Den skal gi brukeren valget mellom kryptering eller dekryptering. Deretter skal den be brukeren om en tekstreng og antall steg. Den skal returnere den krypterte eller dekrypterte strengen.
...