...
- 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)
...