Versions Compared

Key

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

...

  • 3.3 Input and Output
  • 3.7 User-Defined Functions That Return a Single Value
  • 4.1 The if statement
  • 4.2 The if-else statement
  • 4.3 Nested if-else statements
  • 5.1 The for loop
  • 7.2 Operations on Strings
  • 7.3 The "is" Functions for Strings

 

...


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 encrypt(word, step). Parameterene er word og step. Den skal forskyve hver bokstav (char) i word med step antall tegn i alfabetet. Til høyre om step er positiv og til venstre om den er negativ.
Anta at word kun består av små bokstaver fra a til z, ingen tegn, tall o.l. 
Tips: Lek med: mod(tall + shift, 26) 

...