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.
Hva ønsker han å finne ut? Hva blir resultatet når han kjører programmet?
Hva vil resultatet bli om han endrer funksjonsuttrykket til ?
Lars endrer funksjonsuttrykket til og ser at han må gjøre noe med programmet.
Foreslå endringer Lars kan gjøre.
Fasit
Programmet leter etter heltallige nullpunkter til for fra til . Det skriver ut .
Programmet skriver ut og .
Programmet skriver ingenting fordi nullpunktene ( og ) 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 og går gjennom alle heltall fra til (med while x <= 10). For hvert heltall sjekker det om , og skriver i så fall ut .
Lars ønsker å finne heltallige nullpunkter til , altså de heltallsverdiene av der .
Vi regner ut: , så er et nullpunkt.
Programmet skriver ut .
Med sjekker programmet fortsatt alle heltall fra til .
Vi regner ut:
Begge nullpunktene og er heltall og ligger i intervallet .
Programmet skriver ut og .
Med er nullpunktene der , altså og .
Begge nullpunktene ligger utenfor løkkens søkeområde ( til ), så programmet finner ingenting og skriver ikke ut noe.
Lars må endre programmet slik at søkeområdet dekker . 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 .
Hvis Lars også vil finne det negative nullpunktet , 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 og .