Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Først litt historie:

En gang for lenge siden regjerte Julius Cæsar over Romerriket. Han var en svært suksessfull militær general og som et ledd i hans militære strategi skal han visstnok ha benyttet seg av det vi idag kaller for et Cæsarschiffer. Dette er en veldig enkel form for kryptering der hver bokstav i klarteksten erstattes med en annen bokstav et gitt antall steg lenger ut i alfabetet. For eksempel hvis vi skal skrive bokstaven A i cæsarchiffer og bruker en såkalt steglengde eller "nøkkel" på 3, vil vi få ut D.

Et eksempel på det engelske alfabetet og dets cæsarchiffer med nøkkel på 3:
 
Code Block
Klartekst: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Chiffertekst: DEFGHIJKLMNOPQRSTUVWXYZABC
 
Som du kan se så hopper man tilbake til start når man kommer til slutten av alfabetet, slik at neste bokstav etter Z blir A etc.


a)

 
Lag funksjonen caesar(word, key)som tar inn en bokstav word og forskyver hver bokstav (som er av typen char) i word med key antall tegn i alfabetet.
Bokstavene skal forskyves til høyre dersom step er positiv og til venstre dersom den er negativ.
Chifferet skal kun kjøres på bokstaver i det engelske alfabetet, dvs. a-z. Du kan anta at det kun tas inn små bokstaver.

Code Block
titleEksempel på kjøring
>> 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).

...

Code Block
titleEksempel på kjøring
>> caesar('terningen er kastet.', 3)
ans =

    'whuqlqjhq hu ndvwhw.'
 >> 
>> plaintext('whuqlqjhq hu ndvwhw.', 3)
ans =

 'terningen er kastet.'

...