Python-program med rasjonal funksjon og feilmelding

Del 1, uten hjelpemidler

Python-program med rasjonal funksjon og feilmelding

Lest inn av KI og ikke kontrollert manuelt enda — kan inneholde feil.

def f(x):
    return (1 - 2 * x) / (x - 2)

x = 8

while x >= -8:

    print(x , f(x))
    x = x - 1
8 -2.5
7 -2.6
6 -2.75
5 -3.0
4 -3.5
3 -5.0

Lars har skrevet en programkode. Ovenfor ser du koden, og resultatet Lars får når han kjører programmet.

Når programmet har skrevet ut de seks linjene, kommer en feilmelding.

Hva ønsker Lars å bruke programmet til, og hvorfor får han en feilmelding?

Foreslå endringer Lars kan gjøre i koden for å unngå feilmeldingen.

Skisser grafen til funksjonen f som Lars har definert i linje 1 og 2 i koden.

Fasit

Lars ønsker å beregne og skrive ut funksjonsverdier f(x) for heltallsverdier av x fra 8 ned til −8. Feilmeldingen skyldes divisjon med null når x=2.

Legg til et if-uttrykk slik at x=2 hoppes over.

Loddrett asymptote x=2, vannrett asymptote y=−2, nullpunkt x=12, skjæring med y-akse i (0,−12).

LøsningsforslagKI-generert

Programmet starter med x=8 og teller ned med 1 for hver runde i løkken, helt til x<−8. For hver verdi av x regner det ut f(x)=1−2xx−2 og skriver ut x og f(x).

Formålet er altså å lage en tabell over funksjonsverdiene f(x) for heltall fra 8 til −8.

Etter at de seks linjene er skrevet ut, er neste verdi x=2. Da er nevneren x−2=0, og Python klarer ikke å dividere med null. Programmet krasjer med feilmeldingen ZeroDivisionError: division by zero.

Svar: Lars ønsker å lage en tabell over f(x) for heltallsverdier av x fra 8 til −8. Feilmeldingen kommer fordi f(2) er udefinert — nevneren x−2=0 når x=2.

En måte å unngå feilmeldingen på er å hoppe over x=2 med en if-setning:

def f(x):
    return (1 - 2 * x) / (x - 2)

x = 8

while x >= -8:
    if x != 2:
        print(x, f(x))
    x = x - 1

En annen mulighet er å fange feilen med try/except:

def f(x):
    return (1 - 2 * x) / (x - 2)

x = 8

while x >= -8:
    try:
        print(x, f(x))
    except ZeroDivisionError:
        print(x, "udefinert")
    x = x - 1

Funksjonen er f(x)=1−2xx−2.

Vi finner viktige punkter og linjer:

Loddrett asymptote: Nevneren er null når x−2=0, altså x=2.

Vannrett asymptote: For store |x| dominerer leddene med høyest grad. Da er

f(x)=−2xx=−2

Vannrett asymptote: y=−2.

Nullpunkt: f(x)=0 gir 1−2x=0, altså x=12.

Skjæring med y-aksen: f(0)=1−00−2=−12.

Skisse:

Grafen har to grener, én for x<2 og én for x>2. Begge grenene nærmer seg asymptotene x=2 og y=−2. Grafen skjærer x-aksen i (12,0) og y-aksen i (0,−12).

For x>2 er telleren 1−2x<0 og nevneren x−2>0, så f(x)<0. Grenen går fra −∞ (ved x=2+) opp mot −2 (når x→∞).

For x<2 er grenen over asymptoten y=−2 for x<12 (med skjæring i x-aksen og y-aksen som markert), og fortsetter opp mot +∞ når x→2−.

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