Informasjonsteknologi 2 Vår 2023

LK2010 oppgaver · 5 timer

Vis på projektor

Eksamensoppgavene er utgitt av Utdanningsdirektoratet. Første nedlasting kjører en bot-sjekk i nettleseren (Vercel BotID) — mer i personvernerklæringen.

5 timer — alle hjelpemidler10 oppgaver

Oppgave 1Hva en while-løkke er

Hjelpemiddelkrav: For hånd

Hva er en while-løkke i programmering? (ett riktig svar)

Fasit

En løkke som kjører så lenge en bestemt betingelse er sann.

LøsningsforslagKI-generert

En while-løkke sjekker en betingelse før hver runde. Er betingelsen sann, kjøres innholdet i løkka, og så sjekkes betingelsen på nytt. Blir betingelsen usann, stopper løkka. Et eksempel:

SET i TO 1
WHILE i LESSER THAN OR EQUAL TO 5
  DISPLAY i
  INCREMENT i
ENDWHILE

Løkka kjører så lenge i≤5 er sann, altså fem ganger.

De andre alternativene er gale:

  • En løkke som kjører et bestemt antall ganger, er typisk en for-løkke. En while-løkke kan kjøre et ukjent antall ganger.
  • «Til en bestemt hendelse inntreffer» beskriver hvordan løkka stopper, men ikke hvordan den virker. En while-løkke er styrt av en betingelse som sjekkes, ikke av en hendelse. (Hendelser, som tastetrykk, brukes i hendelsesstyrt programmering.)
  • Betingelsen er ikke tilfeldig. Den er et logisk uttrykk som programmereren har bestemt.

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.

Oppgave 2Antall utskrifter fra en while-løkke

Hjelpemiddelkrav: For hånd

Ta utgangspunkt i den følgende pseudokoden:

SET m TO 3
SET i TO 1
WHILE i GREATER THAN m
  DISPLAY "Lukkeleg dag!"
  INCREMENT i

Velg hvor mange ganger teksten «Lykkelig dag!» blir skrevet ut.

Fasit

Ingen ganger: betingelsen 1>3 er usann allerede første gang, så løkka kjører aldri.

LøsningsforslagKI-generert

Vi sporer programmet:

StegmiBetingelsen i GREATER THAN mResultat
Start311>3 er usannLøkka hoppes over

En while-løkke sjekker betingelsen før første runde. Siden i=1 ikke er større enn m=3, kjøres innholdet i løkka aldri, og teksten skrives ikke ut.

Programmereren mente trolig WHILE i LESSER THAN OR EQUAL TO m. Da ville teksten blitt skrevet ut tre ganger, for i=1, 2 og 3. Med betingelsen GREATER THAN er svaret likevel ingen ganger.

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.

Oppgave 3Summen av de ti første trekanttallene i pseudokode

Hjelpemiddelkrav: For hånd

Tallene 1, 3, 6, 10, 15, 21 og så videre kalles for trekanttall. De tilsvarer antallet prikker som vil vises i en likesidet trekant når man bruker et grunnleggende trekantmønster for å bygge trekanten. Se illustrasjonen nedenfor:

De fire første trekanttallene 1, 3, 6 og 10 vist som prikker i likesidede trekanter

Den følgende pseudokoden beskriver en funksjon som regner ut og returnerer trekanttallet nummer n:

FUNCTION trekanttall(n)
  SET tn TO n * (n+1)/2
  RETURN tn
ENDFUNCTION

Bruk funksjonen som er beskrevet ovenfor, og skriv pseudokoden til et program som regner sammen og skriver ut totalsummen av de ti første trekanttallene. Bruk dobbelt mellomrom for innrykk i koden der det er aktuelt.

OBS: Du kan bruke din egen standard for pseudokode, bare den er hensiktsmessig.

Fasit
SET sum TO 0
FOR n FROM 1 TO 10
  SET sum TO sum + trekanttall(n)
ENDFOR
DISPLAY sum

Programmet skriver ut 220.

LøsningsforslagKI-generert

Vi trenger en variabel sum som starter på 0, og en løkke som går gjennom n=1,2,…,10. For hver verdi av n kaller vi funksjonen trekanttall(n) og legger resultatet til sum. Etter løkka skriver vi ut summen.

SET sum TO 0
FOR n FROM 1 TO 10
  SET sum TO sum + trekanttall(n)
ENDFOR
DISPLAY "Summen av de ti første trekanttallene er " + sum

Forklaring:

  • sum må settes til 0 før løkka. Settes den inne i løkka, nullstilles den hver runde.
  • Løkka kjører nøyaktig ti ganger, så en for-løkke passer godt.
  • Funksjonen regner ut trekanttallet. Vi skal ikke skrive formelen n(n+1)2 på nytt, men bruke funksjonen.
  • DISPLAY står etter ENDFOR, slik at bare totalsummen skrives ut.

Sporing av programmet:

ntrekanttall(n)sum etterpå
111
234
3610
41020
51535
62156
72884
836120
945165
1055220

Programmet skriver ut 220.

Samme program med en while-løkke:

SET sum TO 0
SET n TO 1
WHILE n LESSER THAN OR EQUAL TO 10
  SET sum TO sum + trekanttall(n)
  INCREMENT n
ENDWHILE
DISPLAY sum

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.

Oppgave 4Pseudokode som samsvarer med et flytskjema

Hjelpemiddelkrav: For hånd

Nedenfor finner du et flytskjema for en algoritme og fire sekvenser med pseudokode.

Flytskjema: START, n = 0, deretter spørsmålet n > 9?. Ved YES går flyten til STOP. Ved NO settes n = n + 1, så DISPLAY n, og flyten går tilbake til spørsmålet.

Sekvens 1

SET n TO 1
WHILE n LESSER THAN OR EQUAL TO 10
INCREMENT n
DISPLAY n
ENDWHILE

Sekvens 2

SET n TO 0
FOR hver n LESSER THAN OR EQUAL TO 10
DISPLAY n
ENDFOR

Sekvens 3

SET n TO 1
WHILE n LESSER THAN 10
DISPLAY n
INCREMENT n
ENDWHILE

Sekvens 4

SET n TO 1
FOR hver n LESSER THAN OR EQUAL TO 10
DISPLAY n
ENDFOR

Hvilken av sekvensene med pseudokode gjør det samme som flytskjemaet?

Fasit

Sekvens 4. Flytskjemaet skriver ut tallene 1 til 10. Sekvens 1 skriver ut 2–11, sekvens 2 skriver ut 0–10, og sekvens 3 skriver ut 1–9.

LøsningsforslagKI-generert

Flytskjemaet. n starter på 0. Så lenge n>9 er usann, økes n med 1, og deretter skrives n ut. Første utskrift er derfor 1. Når n=9, er betingelsen fortsatt usann, så n blir 10 og skrives ut. Deretter er 10>9 sann, og algoritmen stopper. Flytskjemaet skriver altså ut tallene 1 til 10.

Sekvensene. Vi sporer hver sekvens:

SekvensHva skjerUtskrift
1n økes før utskrift, og løkka går så lenge n≤102, 3, …, 11
2Starter på 0 og går til og med 100, 1, …, 10
3Går så lenge n<101, 2, …, 9
4Starter på 1 og går til og med 101, 2, …, 10

Bare sekvens 4 gir samme utskrift som flytskjemaet.

Legg merke til at flytskjemaet og sekvens 4 er bygd opp ulikt: Flytskjemaet starter på 0 og øker n før utskriften, mens sekvens 4 starter på 1 og skriver ut før neste verdi. Det som avgjør, er at utskriften blir den samme. Sekvens 1 har samme rekkefølge som flytskjemaet (øke, så skrive ut), men starter på 1 i stedet for 0 og bruker en annen betingelse. Derfor blir den forskjøvet med én.

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.

Oppgave 5Sortere pseudokode for største av tre tall

Hjelpemiddelkrav: For hånd

Nedenfor finner du flere linjer med pseudokode.

Sorter linjene i riktig rekkefølge, slik at det blir pseudokoden til et program som skal finne det største tallet av tre tall.

Tips: Linjene med pseudokode har ikke innrykk/indentering.

Sorter linjene

  1. DISPLAY tall1 + " er størst"
  2. ELSE IF tall2 GREATER THAN tall3
  3. DISPLAY tall2 + " er størst"
  4. ENDIF
  5. DISPLAY tall3 + " er størst"
  6. READ tall1, tall2, tall3
  7. ELSE
  8. IF tall1 GREATER THAN tall2 AND tall1 GREATER THAN tall3
Fasit
READ tall1, tall2, tall3
IF tall1 GREATER THAN tall2 AND tall1 GREATER THAN tall3
  DISPLAY tall1 + " er størst"
ELSE IF tall2 GREATER THAN tall3
  DISPLAY tall2 + " er størst"
ELSE
  DISPLAY tall3 + " er størst"
ENDIF

Rekkefølgen er entydig. Ingen av linjene kan bytte plass.

LøsningsforslagKI-generert

Programmet må først lese inn de tre tallene, så READ kommer øverst. Deretter kommer en valgsetning med tre grener:

  1. IF sjekker om tall1 er større enn begge de andre. Da er tall1 størst.
  2. ELSE IF kjøres bare når tall1 ikke er størst. Da står valget mellom tall2 og tall3, og det holder å sammenligne disse to.
  3. ELSE fanger opp resten: tall3 er størst.

Hver DISPLAY-linje må stå rett under betingelsen som gjør at akkurat det tallet er størst. ENDIF avslutter hele valgsetningen og står nederst.

Rekkefølgen av grenene er ikke tilfeldig. Betingelsen i ELSE IF sier ingenting om tall1. Den er bare riktig fordi vi allerede vet at tall1 ikke er størst når vi kommer dit.

Eksempel: Med tall1 = 4, tall2 = 9 og tall3 = 7 er den første betingelsen usann, siden 4>9 er usann. Betingelsen 9>7 i ELSE IF er sann, så programmet skriver ut «9 er størst».

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.

Oppgave 6Testplan for karakterprogram med poengsum

Vi ønsker å lage et program der brukeren skal skrive inn en poengsum fra og med 0 til og med 100, og programmet skal bestemme og skrive ut tilsvarende karakter etter følgende regler:

  • Enhver poengsum under 50 får karakteren «Ikke bestått».
  • Enhver poengsum fra og med 50 til og med 69 får karakteren «Bestått».
  • Enhver poengsum fra og med 70 til og med 89 får karakteren «Godt bestått».
  • Enhver poengsum på 90 eller høyere får karakteren «Meget godt bestått».
  • Enhver poengsum som er mindre enn 0 eller større enn 100, får karakteren «Ikke gyldig poengsum!».

Pseudokoden nedenfor beskriver logikken og programflyten i et forslag til dette programmet:

PRINT "Skriv inn poengsummen din:"
READ poengsum
IF poengsum LESSER THAN 50
  PRINT "Ikke bestått"
ELSE IF poengsum GREATER THAN 50 AND poengsum LESSER THAN 69
  PRINT "Bestått"
ELSE IF poengsum GREATER THAN 70 AND poengsum LESSER THAN 89
  PRINT "Godt bestått"
ELSE IF poengsum GREATER THAN 90 AND poengsum LESSER THAN 100
  PRINT "Meget godt bestått"
ELSE
  PRINT "Ikke gyldig poengsum!"
ENDIF
Hjelpemiddelkrav: Krever PC

Implementer den foreslåtte pseudokoden i det programmeringsspråket du foretrekker, gjennomfør testene som er beskrevet i testplanen nedenfor, og fyll inn de faktiske resultatene du får.

Tabell 1: Testplan
Test nr.Input-verdierForventet resultatFaktisk resultat
1Poengsum: 30Ikke bestått
2Poengsum: 65Bestått
3Poengsum: 82Godt bestått
4Poengsum: 97Meget godt bestått
5Poengsum: 102Ikke gyldig poengsum!
6Poengsum: 0Ikke bestått
7Poengsum: 50Bestått
8Poengsum: 69Bestått
9Poengsum: 70Godt bestått
10Poengsum: 89Godt bestått
11Poengsum: 90Meget godt bestått
12Poengsum: 100Meget godt bestått
13Poengsum: −1Ikke gyldig poengsum!
Hjelpemiddelkrav: For hånd

Er de forventede resultatene like de faktiske resultatene? Hvis ikke: Finn de logiske feilene i pseudokoden som forårsaker det. Skriv inn og forklar svaret ditt.

Hjelpemiddelkrav: Krever PC

Rett opp programmet fra punkt a slik at du får det forventede resultatet.

Fasit

Test 1–6 gir forventet resultat. Test 7–12 (50, 69, 70, 89, 90 og 100) gir «Ikke gyldig poengsum!», og test 13 (−1) gir «Ikke bestått».

Nei. Betingelsene bruker GREATER THAN og LESSER THAN der det skulle vært «større enn eller lik» og «mindre enn eller lik», så grenseverdiene 50, 69, 70, 89, 90 og 100 havner i ELSE. I tillegg sjekkes det ikke om poengsummen er under 0, så −1 gir «Ikke bestått».

LøsningsforslagKI-generert

Vi finner de faktiske resultatene ved å gå gjennom betingelsene i pseudokoden ovenfra og ned for hver poengsum. Den første betingelsen som er sann, bestemmer utskriften.

Test nr.PoengsumFørste sanne betingelseFaktisk resultatSom forventet?
130poengsum LESSER THAN 50Ikke beståttja
265GREATER THAN 50 AND LESSER THAN 69Beståttja
382GREATER THAN 70 AND LESSER THAN 89Godt beståttja
497GREATER THAN 90 AND LESSER THAN 100Meget godt beståttja
5102ingen, går til ELSEIkke gyldig poengsum!ja
60poengsum LESSER THAN 50Ikke beståttja
750ingen, går til ELSEIkke gyldig poengsum!nei
869ingen, går til ELSEIkke gyldig poengsum!nei
970ingen, går til ELSEIkke gyldig poengsum!nei
1089ingen, går til ELSEIkke gyldig poengsum!nei
1190ingen, går til ELSEIkke gyldig poengsum!nei
12100ingen, går til ELSEIkke gyldig poengsum!nei
13−1poengsum LESSER THAN 50Ikke beståttnei

Nei. Sju av de tretten testene gir et annet resultat enn forventet. Det skyldes to logiske feil.

Feil 1: Grenseverdiene er utelatt. GREATER THAN betyr «større enn» og LESSER THAN betyr «mindre enn». Selve grenseverdien er derfor ikke med i intervallet. Betingelsen

ELSE IF poengsum GREATER THAN 50 AND poengsum LESSER THAN 69

gjelder bare for 51–68, men reglene sier fra og med 50 til og med 69. Det samme skjer i de to neste betingelsene: «Godt bestått» gjelder bare for 71–88 og «Meget godt bestått» for 91–99. Poengsummene 50, 69, 70, 89, 90 og 100 oppfyller derfor ingen av betingelsene og havner i ELSE, som skriver «Ikke gyldig poengsum!». Test 7–12 feiler av denne grunnen.

Betingelsene burde brukt GREATER THAN OR EQUAL TO og LESSER THAN OR EQUAL TO, for eksempel poengsum GREATER THAN OR EQUAL TO 50 AND poengsum LESSER THAN OR EQUAL TO 69.

Feil 2: Den nedre grensen 0 sjekkes ikke. Den første betingelsen, poengsum LESSER THAN 50, er sann for alle tall under 50, også negative tall. Derfor gir −1 «Ikke bestått» i stedet for «Ikke gyldig poengsum!» (test 13). Programmet må enten sjekke at poengsummen er ugyldig før de andre betingelsene, eller kreve poengsum GREATER THAN OR EQUAL TO 0 i den første betingelsen.

Testene viser hvorfor en testplan bør ha med grenseverdiene. Test 1–6 bruker verdier midt i intervallene (og 0), og de gir riktig resultat selv om programmet har feil. Først testene med 50, 69, 70, 89, 90, 100 og −1 avslører feilene.

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.

Oppgave 7Påstander om KI og personvern

Hjelpemiddelkrav: For hånd

Sett ett kryss for hver påstand, enten sant eller usant.

PåstandSantUsant
Fordi utvikling av KI kan kreve mye og uventede data, kan det være fornuftig å samle inn flere personopplysninger enn det man i utgangspunktet tror er nødvendig for et bestemt prosjekt.
Alle reglene for personvern gjelder også under utvikling av KI.
Når KI bruker personopplysninger i en beslutningsprosess, har den registrerte ikke rett til innsyn, fordi det å forklare prosessen er veldig vanskelig.
Det er viktig å gjøre tverrfaglige vurderinger av de etiske konsekvensene ved bruk av KI.
Det er enten etiske eller juridiske dilemmaer ved bruk av KI.
KI er objektiv, og derfor er bruken av KI rettferdig for alle.
KI kan alltid gjenbruke personopplysninger fra andre prosjekter, fordi utvikling av KI betraktes som forskning.
Fasit

Sant: påstand 2 og 4. Usant: påstand 1, 3, 5, 6 og 7.

LøsningsforslagKI-generert

Påstandene bygger på Datatilsynets rapport «Kunstig intelligens og personvern» (2018) fra forberedelsesdelen.

  1. Usant. Prinsippet om dataminimering sier at opplysningene skal være adekvate, relevante og begrenset til det som er nødvendig for formålet. Datatilsynet innrømmer at det kan være vanskelig å vite på forhånd hvilke opplysninger en algoritme trenger, men mener nettopp derfor at behovet må vurderes fortløpende. Å samle inn «for sikkerhets skyld» strider mot prinsippet. Irrelevante opplysninger øker dessuten risikoen for at algoritmen finner tilfeldige sammenhenger som ikke er reelle.
  2. Sant. Personvernforordningen (GDPR) gjelder for all behandling av personopplysninger. Utvikling av KI med personopplysninger er behandling, så alle prinsippene og reglene gjelder, også kravet om gjennomsiktighet.
  3. Usant. Den registrerte har rett til innsyn og til informasjon om logikken bak automatiserte avgjørelser. At KI er vanskelig å forklare, fritar ikke den behandlingsansvarlige fra denne plikten. Hensynet til forretningshemmeligheter kan heller ikke brukes til å nekte innsyn i alle opplysningene.
  4. Sant. Datatilsynet anbefaler å «tenke tverrfaglig»: KI er mer enn teknologi, og tverrfaglige team bør vurdere de etiske og samfunnsmessige konsekvensene av systemene.
  5. Usant. Det er ikke enten etiske eller juridiske dilemmaer. Mange dilemmaer er begge deler. Diskriminering med skjeve algoritmer er for eksempel både etisk galt og i strid med prinsippet om rettferdighet i GDPR.
  6. Usant. En algoritme er ikke mer objektiv enn menneskene som lager den og dataene den trenes på. Gir treningsdataene et skjevt bilde av virkeligheten, kan resultatet bli diskriminerende. Rapporten viser til et amerikansk system for risikovurdering av domfelte som ifølge ProPublica flagget afroamerikanere feilaktig som høyrisiko dobbelt så ofte som hvite.
  7. Usant. Gjenbruk av opplysninger til nye formål må som hovedregel være forenlig med det opprinnelige formålet (formålsbegrensning), ellers kreves nytt samtykke eller annet behandlingsgrunnlag. Vitenskapelig forskning er et unntak, men utvikling av KI er bare i noen tilfeller forskning. Å bruke KI til å vurdere kredittverdighet er for eksempel ikke forskning. Ordet «alltid» gjør påstanden usann.

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.

Oppgave 8Personvernprinsipper ved utvikling av KI

Hjelpemiddelkrav: For hånd

Velg de tre personvernprinsippene som er mest relevante for utfordringer knyttet til utvikling og bruk av kunstig intelligens (KI), ifølge kildene fra forberedelsesdelen.

Hjelpemiddelkrav: For hånd

Velg ett av de tre personvernprinsippene du krysset av for i punkt a. Drøft dilemmaer og utfordringer som oppstår rundt utvikling og bruk av KI, knyttet til det prinsippet du har valgt.

Fasit

Formålsbegrensning, dataminimering og lovlighet, rettferdighet og gjennomsiktighet. Det er disse prinsippene Datatilsynets rapport «Kunstig intelligens og personvern» knytter de viktigste personvernutfordringene ved KI til.

For eksempel dataminimering: KI-modeller blir ofte bedre med mer data, og det er vanskelig å vite på forhånd hvilke opplysninger som trengs. Samtidig krever prinsippet at bare nødvendige og relevante opplysninger brukes, og at inngrepet står i forhold til formålet. En god drøfting tar for seg argumenter på begge sider og ender i en begrunnet konklusjon.

LøsningsforslagKI-generert

GDPR artikkel 5 har sju personvernprinsipper, og alle gjelder ved utvikling og bruk av KI. Datatilsynet peker i rapporten likevel ut prinsippene om rettferdighet, formålsbegrensning, dataminimering og gjennomsiktighet som de mest relevante for KI. Rettferdighet og gjennomsiktighet er samlet i ett prinsipp i listen, «lovlighet, rettferdighet og gjennomsiktighet». De tre riktige alternativene er derfor

  • lovlighet, rettferdighet og gjennomsiktighet: Skjeve treningsdata kan gi diskriminerende avgjørelser, og det er vanskelig å forklare hvordan en modell kommer fram til et resultat.
  • formålsbegrensning: KI frister til å gjenbruke opplysninger som er samlet inn til andre formål.
  • dataminimering: KI er ofte avhengig av store mengder personopplysninger.

De fire andre prinsippene (ansvarlighet, riktighet, lagringsbegrensning og integritet og konfidensialitet) gjelder også, men er ikke de rapporten legger hovedvekten på.

Svaret nedenfor er et eksempel. Kandidaten kan like gjerne velge formålsbegrensning eller lovlighet, rettferdighet og gjennomsiktighet.

Prinsippet. Dataminimering betyr at personopplysninger skal være adekvate, relevante og begrenset til det som er nødvendig for formålet. Prinsippet handler ikke bare om antall opplysninger. Det inneholder også et krav om proporsjonalitet: Bruken skal ikke være et større inngrep i personvernet enn nødvendig.

Dilemmaet. Maskinlæring bygger på at modellen finner mønstre i store datamengder. Jo flere og mer varierte data, desto mer treffsikker blir modellen ofte. Samtidig sier prinsippet at man skal bruke så lite personopplysninger som mulig. Utviklerne står derfor mellom en best mulig modell og et best mulig personvern.

Argumenter for å bruke mye data:

  • En modell som skal oppdage kreft på røntgenbilder, blir bedre og tryggere jo flere bilder den trenes på. Her kan mer data redde liv, og samfunnsnytten er stor.
  • Et lite og ensidig datasett kan gi skjeve modeller. Mangler en gruppe i treningsdataene, kan modellen fungere dårlig for den gruppen. Mer data kan altså gjøre modellen mer rettferdig.
  • Det er vanskelig å vite på forhånd hvilke opplysninger som er relevante. Algoritmen kan finne sammenhenger ingen hadde tenkt på, og formålet kan endre seg etter hvert som modellen lærer.

Argumenter for streng dataminimering:

  • Hver ekstra personopplysning øker risikoen. Store datasett er attraktive mål for angrep, og ved en datalekkasje rammes mange.
  • Irrelevante opplysninger kan gi falske sammenhenger. Datatilsynet peker på at algoritmen da kan legge vekt på tilfeldige mønstre som ikke er reelle, og modellen blir dårligere, ikke bedre.
  • Mange data om hver person gjør det lettere å identifisere enkeltpersoner og lage detaljerte profiler. Det kan avsløre sensitive opplysninger (særlige kategorier) som helse, religion eller seksuell orientering, selv om de ikke er registrert direkte.
  • De registrerte mister oversikten over hva som finnes om dem. Det svekker autonomien deres og tilliten til teknologien.

Mulige løsninger. Dilemmaet kan gjøres mindre. Opplysningene kan pseudonymiseres eller anonymiseres, slik at modellen lærer av data uten å vite hvem de gjelder. Syntetiske data og føderert læring, der dataene blir liggende hos eieren, er andre teknikker. Utviklerne kan også starte med få opplysninger og legge til flere bare når de kan dokumentere at det gir en bedre modell. Datatilsynet anbefaler at behovet vurderes fortløpende gjennom hele utviklingen, og at vurderingene dokumenteres.

Konklusjon. Etter en konsekvensetisk vurdering kan det være riktig å bruke store datamengder når nytten er stor, som i medisinsk diagnostikk. Pliktetikken minner likevel om at hver enkelt har rett til å bestemme over opplysninger om seg selv, uansett hvor nyttig modellen blir. Etter mitt syn betyr ikke dataminimering at KI må bygges på få data. Det betyr at utviklerne må kunne begrunne hvorfor hver opplysning trengs, og velge den minst inngripende måten å nå formålet på. Med pseudonymisering, fortløpende vurderinger og god dokumentasjon er det mulig å lage gode modeller og samtidig ivareta personvernet.

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.

Oppgave 9Oversikt over apper i Google Play Store

Du skal lage et program som leser inn informasjon fra datasettet og presenterer dette i to oversikter. Du skal bruke datasettet fra forberedelsesdelen.

Datasettet er tilgjengelig i CSV- og JSON-format. Last ned datasettet her: datasett (csv og json).

Tips: Du står fritt til å velge hvordan programmet skal presentere informasjon, så lenge presentasjonen er godt egnet til å vise det oppgaven spør etter.

Hjelpemiddelkrav: Krever PC

Lag et program som presenterer en oversikt over de tre største kategoriene målt i antall apper. Oversikten skal vise antallet apper, gjennomsnittsratingen og det gjennomsnittlige antallet installasjoner for hver av disse tre kategoriene. Tips: For å kunne beregne gjennomsnittet av antallet installasjoner må du tilpasse innholdet i det aktuelle datafeltet. Du vil få noe uttelling om du bare viser antallet apper og gjennomsnittsratingen.

Hjelpemiddelkrav: Krever PC

Utvid programmet slik at det også presenterer de tre mest populære appene, målt i antall installasjoner, i hver av disse tre kategoriene.

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.

Denne oppgaven har ikke løsningsforslag ennå, så chatboten må regne den ut selv. Da kan den ta feil — sjekk svaret nøye.

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.

Oppgave 10Spillet PacTroll

I denne oppgaven skal du utvikle et spill som vi har kalt PacTroll. Du bør sette av om lag to timer til denne oppgaven.

Spillet starter med et spillbrett (svart hovedboks), et troll (grønn boks merket T) og tre matbiter (gule bokser merket M) – se illustrasjonen nedenfor til venstre. Trollet skal bevege seg på spillbrettet og spise så mange matbiter som mulig. Trollet har en konstant fart og kan ikke stoppes, men spilleren styrer retningen ved å bruke tastaturet. Hver gang en matbit spises, blir den gjort om til en hindring (grå boks merket H), og en ny matbit plasseres ut på spillbrettet – se illustrasjonen nedenfor til høyre.

Hvis trollet treffer en av hindringene eller spillbrettets kanter, avsluttes spillet.

Til venstre: spillbrettet ved oppstart med trollet T i midten og tre matbiter M. Til høyre: spillbrettet etter en stund med tre matbiter og sju hindringer H.

Funksjonelle krav:

  • Ved oppstart skal grensesnittet se ut omtrent som i illustrasjonen ovenfor til venstre. Spillet skal bestå av et spillbrett, et trollobjekt og tre matobjekter. (Du kan utelate bokstavene på boksene.)
  • Ved oppstart plasseres matobjektene på tre tilfeldige plasseringer på spillbrettet, og trollobjektet plasseres i sentrum. Ingen objekter skal være oppå hverandre.
  • Trollobjektet beveger seg i rolig hastighet i en retning, enten opp, ned, til venstre eller til høyre. Retningen trollobjektet beveger seg i, styres med piltaster (alternativt tastene W, S, A og D).
  • Når trollobjektet treffer et matobjekt, skal det følgende skje:
    • Spilleren får et poeng.
    • Matobjektet gjøres om til et hindringsobjekt som trollobjektet ikke skal treffe igjen.
    • Et nytt matobjekt opprettes et tilfeldig sted på spillbrettet, slik at det alltid er tre matobjekter på spillbrettet. Nye matobjekter skal ikke plasseres på allerede eksisterende objekter.
    • Farten til trollobjektet økes.
  • Antallet poeng spilleren har, skal hele tiden være synlig i grensesnittet.
  • Spillet avsluttes om trollobjektet treffer en av spillbrettets kanter eller et av hindringsobjektene.
Hjelpemiddelkrav: For hånd

Lag et klassediagram der du definerer nødvendige klasser, med egenskaper og metoder, for å implementere/lage spillet.

Hjelpemiddelkrav: Krever PC

Implementer/lag spillet i samsvar med klassediagrammet fra a.

Fasit

For eksempel en abstrakt superklasse SpillObjekt med posisjon, størrelse og farge og metodene tegn() og kolliderer(). Subklassene Troll, Mat og Hindring arver fra den. Troll har fart og retning og metoder for å bevege seg, endre retning og øke farten. Spillbrett består av spillobjektene, holder poengsummen og styrer spillet (plassere ny mat, sjekke kollisjoner, avslutte).

LøsningsforslagKI-generert

Det finnes mange gode klassediagrammer for dette spillet. Diagrammet nedenfor er ett forslag.

Klassediagram for PacTroll med den abstrakte superklassen SpillObjekt, subklassene Troll, Mat og Hindring, og klassen Spillbrett som består av spillobjektene

Hver boks har tre felt: klassenavnet, egenskapene med datatype og metodene. - betyr privat, # beskyttet (tilgjengelig for subklassene) og + offentlig.

Superklassen SpillObjekt. Troll, matbiter og hindringer er alle firkanter med en posisjon, en størrelse og en farge, og alle skal tegnes. Felles egenskaper og metoder samles derfor i én superklasse. Metoden kolliderer(annet) sjekker om to objekter overlapper. Den brukes både når trollet treffer mat eller hindringer og når vi plasserer nye objekter, som ikke skal ligge oppå andre. Klassenavnet står i kursiv fordi klassen er abstrakt: Vi lager aldri et objekt av selve SpillObjekt, bare av subklassene.

Arv. Pilene med hul trekant viser at Troll, Mat og Hindring arver fra SpillObjekt. Hver subklasse har dermed posisjon, størrelse, farge, tegn() og kolliderer() uten at koden skrives på nytt. Subklassene får hver sin farge (grønn, gul og grå).

  • Troll har fart og en retning (retningX og retningY, med verdiene −1, 0 eller 1). beveg() flytter trollet fart piksler i retningen hver gang spillet oppdateres. Trollet kan ikke stoppes, så det finnes ingen stoppmetode. endreRetning(tast) kalles ved trykk på piltastene eller W, A, S og D. økFart() kalles hver gang trollet spiser en matbit, og utenforBrett() sjekker om trollet har truffet kanten.
  • Mat har ingen egne egenskaper. blirHindring() lager en hindring på samme sted som matbiten.
  • Hindring har verken egne egenskaper eller metoder. Den står stille, og det eneste som skiller den fra de andre objektene, er fargen og at kollisjon avslutter spillet. Klassen trengs likevel, slik at programmet kan skille hindringer fra matbiter.

Komposisjon. Linja med fylt rombe ved Spillbrett betyr at spillbrettet består av spillobjektene. Objektene hører til brettet og finnes ikke uten det. Multiplisiteten 4..* viser at det alltid er minst fire objekter (ett troll og tre matbiter), og at antallet vokser etter hvert som det blir flere hindringer. Spillbrett holder objektene i egenskapene troll, matbiter og hindringer.

Klassen Spillbrett har ansvaret for selve spillet:

  • bredde og høyde er brettets størrelse, og poeng er spillerens poengsum, som vises med visPoeng().
  • start() plasserer trollet i sentrum og kaller leggTilMat() tre ganger. ledigPosisjon() trekker tilfeldige posisjoner til den finner en som ikke overlapper noe annet objekt.
  • oppdater() kjøres i spill-løkka: Den flytter trollet, kaller sjekkKollisjoner() og tegner alt på nytt med tegn().
  • sjekkKollisjoner() avslutter spillet (avslutt(), spillSlutt settes til sann) hvis trollet er utenfor brettet eller treffer en hindring. Treffer trollet en matbit, kalles spisMat(mat).
  • spisMat(mat) øker poengsummen med 1, gjør matbiten om til en hindring, flytter den fra matbiter til hindringer, kaller leggTilMat() slik at det alltid er tre matbiter, og øker farten til trollet.

Diagrammet dekker dermed alle de funksjonelle kravene. Et alternativ er å la Mat og Hindring være én klasse med en egenskap erHindring. Det gir færre klasser, men egne klasser gjør koden tydeligere og lettere å utvide.

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