Python-program for å finne heltallige nullpunkter

Del 2, alle hjelpemidler

Python-program for å finne heltallige nullpunkter

def f(x):
    return 3 * x - 15      # Definerer funksjonen f gitt ved f(x) = 3x - 15

x = 0

while x <= 10:

    if f(x) == 0:
        print(x)

    x = x + 1

Lars har skrevet programkoden ovenfor.

Hjelpemiddelkrav: For hånd

Hva ønsker han å finne ut? Hva blir resultatet når han kjører programmet?

Hjelpemiddelkrav: For hånd

Hva vil resultatet bli om han endrer funksjonsuttrykket til x2−6x+8?

Lars endrer funksjonsuttrykket til x2−144 og ser at han må gjøre noe med programmet.

Hjelpemiddelkrav: For hånd

Foreslå endringer Lars kan gjøre.

Fasit

Programmet leter etter heltallige nullpunkter til f(x)=3x−15 for x fra 0 til 10. Det skriver ut 5.

Programmet skriver ut 2 og 4.

Programmet skriver ingenting fordi nullpunktene (x=12 og x=−12) ligger utenfor søkeområdet. Lars må utvide løkken, f.eks. endre while x <= 10 til while x <= 12.

LøsningsforslagKI-generert

Programmet definerer funksjonen f(x)=3x−15 og går gjennom alle heltall fra x=0 til x=10 (med while x <= 10). For hvert heltall sjekker det om f(x)=0, og skriver i så fall ut x.

Lars ønsker å finne heltallige nullpunkter til f(x), altså de heltallsverdiene av x der f(x)=0.

Vi regner ut: f(5)=3⋅5−15=15−15=0, så x=5 er et nullpunkt.

Programmet skriver ut 5.

Med f(x)=x2−6x+8 sjekker programmet fortsatt alle heltall fra 0 til 10.

Vi regner ut:

f(2)=22−6⋅2+8=4−12+8=0
f(4)=42−6⋅4+8=16−24+8=0

Begge nullpunktene x=2 og x=4 er heltall og ligger i intervallet [0,10].

Programmet skriver ut 2 og 4.

Med f(x)=x2−144 er nullpunktene der x2=144, altså x=12 og x=−12.

Begge nullpunktene ligger utenfor løkkens søkeområde (0 til 10), så programmet finner ingenting og skriver ikke ut noe.

Lars må endre programmet slik at søkeområdet dekker x=12. En mulig løsning:

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

x = 0

while x <= 12:

    if f(x) == 0:
        print(x)

    x = x + 1

Dette programmet skriver ut x=12.

Hvis Lars også vil finne det negative nullpunktet x=−12, kan han starte på et negativt tall:

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

x = -12

while x <= 12:

    if f(x) == 0:
        print(x)

    x = x + 1

Da skriver programmet ut −12 og 12.

Sensorveiledning

Oppgaven gir til sammen 5 poeng

2 poeng

1 poeng for å gjøre rede for hva programmet kan brukes til.
1 poeng for å gjøre rede for resultatet.

2 poeng

1 poeng dersom kandidaten antyder riktige endringer, men ikke kommer helt i mål med ny kode.

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