Bokstavforskyvning i pseudokode

Hele eksamen, alle hjelpemidler

Bokstavforskyvning i pseudokode

Pseudokoden nedenfor beskriver en algoritme som behandler en tekst basert på et tall:

FUNCTION behandleTekst(tekst, n)
  SET nyTekst TO ""
  FOR hver bokstav i tekst
    IF bokstav er en bokstav (a-å eller A-Å)
      SET nyBokstav TO manipulereBokstav(bokstav, n)
      SET nyTekst TO nyTekst + nyBokstav
    ELSE
      SET nyTekst TO nyTekst + bokstav
    ENDIF
  ENDFOR
  RETURN nyTekst
ENDFUNCTION

FUNCTION manipulereBokstav(bokstav, n)
  SET alfabet TO "abcdefghijklmnopqrstuvwxyzæøåABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"
  SET posisjon TO plasseringen til bokstav i alfabet
  SET nyPosisjon TO (posisjon + n) % 29
  RETURN bokstaven på nyPosisjon i alfabet
ENDFUNCTION
Hjelpemiddelkrav: For hånd

Forklar med egne ord hva algoritmen gjør. Beskriv hvordan algoritmen endrer teksten, og hvilke operasjoner som utføres på bokstavene. Du skal fokusere på hva som skjer med teksten som helhet, ikke forklare hver linje i pseudokoden.

Hjelpemiddelkrav: Krever PC

Implementer algoritmen i eget programmeringsspråk. Programmet skal ta inn en tekststreng og et heltall n, for eksempel «Hei på deg» og tallet n=3, og vise passende resultat.

Fasit

Algoritmen krypterer teksten med et Cæsar-chiffer. Den går gjennom teksten tegn for tegn og bytter hver bokstav med bokstaven n plasser lenger ut i alfabetet a–å. Når alfabetet tar slutt, begynner det på nytt fra a. Mellomrom, tall og andre tegn beholdes uendret. «Hei på deg» med n=3 gir «khl sc ghj».

LøsningsforslagKI-generert

Algoritmen er et Cæsar-chiffer, en enkel form for kryptering der alle bokstavene i teksten forskyves like mange plasser i alfabetet.

  • Teksten gås gjennom tegn for tegn. For hvert tegn bygges en ny tekst opp fra starten av.
  • Bokstaver forskyves. Hver bokstav byttes ut med bokstaven som står n plasser lenger ut i alfabetet. Alfabetet har 29 bokstaver, fra a til å. Med n=3 blir a til d og e til h.
  • Alfabetet er sirkulært. Restdivisjonen % 29 gjør at telleren begynner på nytt fra a når den kommer forbi å. Med n=3 blir æ til a, ø til b og å til c.
  • Andre tegn endres ikke. Mellomrom, tall og skilletegn legges til den nye teksten slik de er.

Resultatet er en kryptert tekst som er like lang som den opprinnelige, med mellomrom og tegnsetting på samme plass. Den som kjenner n, kan dekryptere teksten ved å forskyve n plasser tilbake, altså med −n.

For «Hei på deg» og n=3 blir resultatet:

BokstavHeipådeg
Posisjon36481528346
Ny posisjon10711182679
Ny bokstavkhlscghj

Posisjonene regnes fra 0. De to mellomrommene beholdes. Teksten blir «khl sc ghj».

Merk: Store bokstaver står på plass 29–57 i alfabet-strengen. Siden den nye posisjonen regnes ut med % 29, havner den alltid blant de små bokstavene. Algoritmen slik den står, gjør derfor store bokstaver om til små, og «H» blir «k». Skal store bokstaver forbli store, må algoritmen regne med et eget alfabet for store bokstaver.

Sensorveiledning

Oppgaven gir til sammen 6 poeng

3 poeng

Det kreves forklaring av algoritmen, mens forklaring av pseudokoden gir som hovedregel ikke uttelling. Det gis uttelling for at strengen traverseres, at alle bokstaver forskyves med n plasser i alfabetet og at andre teksttegn ikke [endres].

3 poeng

Det gis uttelling for implementert program med korrekt kontrollstruktur, forskyvning av teksttegn og korrekt retur.

Forstå oppgaven med en KI

Du får en ferdig tekst du limer inn i den KI-chatboten du bruker. Teksten inneholder oppgaven og en instruks om at chatboten skal hjelpe deg å tenke selv — stille spørsmål, gi ett hint av gangen og la deg gjøre regningen.

Anbefalt. Chatboten får beskjed om å bruke det til å veilede deg riktig vei — ikke til å røpe svaret. Du kan slå det av hvis du vil være helt sikker på at ingenting lekker.

Hva du bør vite
  • Ingenting sendes herfra. Teksten kopieres bare til utklippstavla på enheten din. Det du limer inn i en chatbot, går til den tjenesten — og de har sine egne regler for hva de lagrer.
  • Ikke lim inn personopplysninger — navn, skole eller noe annet om deg selv eller andre. Oppgaveteksten holder.
  • KI kan ta feil, også i informasjonsteknologi. Sjekk alltid mot løsningsforslaget her på siden.
  • Er du usikker på om du har lov til å bruke KI på skolearbeidet ditt, spør læreren din først.

Tastatursnarveier

Navigasjon

⌘K / Ctrl+K
Åpne søk
G F
Gå til Fag
G E
Gå til Eksamener
G T
Gå til Temaer
G K
Gå til Kompetansemål
G H
Hjem
?
Vis snarveier

I oppgave

←/→ · J/K
Forrige / neste oppgave
0
Marker som ikke prøvd
1
Marker som prøvd
2
Marker som trenger hjelp
3
Marker som ferdig
S
Vis / skjul løsningsforslag
A
Legg til i liste
N
Skriv notat
Esc
Tilbake / avslutt