Tolk og fiks program som finner bunnpunkt

Del 1, uten hjelpemidler

Tolk og fiks program som finner bunnpunkt

Funksjonen f er gitt ved

f(x)=2x2−9x−2

Egil ønsker å lage et program som regner ut koordinatene til bunnpunktet på grafen til f. Han har skrevet koden nedenfor.

def f(x):
    return 2*x**2 - 9*x - 2

def df(x,h):
    return (f(x+h) - f(x))/h

h = 0.001
a = 0

while df(a,h) < 0:
    a = a + 1
    
print("Bunnpunktet er", (a, f(a)))

Programmet gir utskriften Bunnpunktet er (3, -11)

Forklar hvilken strategi Egil har brukt.

Svaret han får, er ikke riktig.

Foreslå en endring i koden som vil gi Egil et riktigere svar.

Fasit

Egil sjekker om grafen synker ved å beregne tilnærmet stigningstall. Løkken stopper ved a=3, og programmet printer (3,−11).

Endre a = a + 1 til a = a + 0.01

Løsningsforslag

Funksjonen df(x, h) beregner et tilnærmet stigningstall (den deriverte) i punktet x:

𝚍𝚏(a,h)=f(a+h)−f(a)h

Egils strategi er å starte i a=0 og flytte seg til høyre i steg på 1. Så lenge df(a, h) < 0 synker grafen — man har altså ikke nådd bunnpunktet ennå. Når stigningstallet ikke lenger er negativt (grafen har sluttet å synke), betyr det at bunnpunktet er passert, og løkken stopper.

Det ekte bunnpunktet ligger i x=2,25. Siden a øker fra 0 i heltallssteg, er verdiene som testes a=0,1,2,3. Ved a=2 er df(2, 0.001) ≈4⋅2−9=−1<0, så løkken fortsetter. Ved a=3 er df(3, 0.001) ≈4⋅3−9=3>0, og betingelsen df(a, h) < 0 er usann — løkken stopper.

Programmet printer derfor (3, f(3))=(3, −11), selv om det ekte bunnpunktet er (2,25, −12,125).

Problemet er at steglengden 1 er for stor — programmet «hopper over» bunnpunktet. Ved å bruke et mindre steg vil a komme mye nærmere x=2,25 når løkken stopper.

Endre linje 8 fra

    a = a + 1

til

    a = a + 0.01

Da stopper løkken ved a≈2,25 og programmet printer et bunnpunkt som er langt nærmere det ekte svaret (𝟐,𝟐𝟓, −𝟏𝟐,𝟏𝟐𝟓).

Sensorveiledning

Oppgaven gir til sammen 4 poeng

2 poeng

Kandidaten trenger ikke å forklare hver linje for å få full uttelling. Kandidater som er upresise i forklaringen kan gi 1 poeng.

2 poeng

Forslag til endring i koden uten begrunnelse, kan gi 1 poeng.

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