Løse likninger i python

AlgebraIf-setningerLikningerProgrammeringPython
Matematikk + programmering

Løse likninger med programmering

Når vi løser en likning med programmering, lar vi programmet teste ulike x-verdier. Programmet regner ut venstre og høyre side, sammenligner dem og sier fra når sidene blir like.

1. Dele likningen Skille mellom venstre_side og hoyre_side.
2. Teste x-verdier Bruke for og range() til å prøve mange verdier.
3. Finne løsningen Bruke if og == når sidene er like.

Kort forklart

En likning er som en balanse. Venstre side og høyre side skal ha samme verdi. I programmering kan vi teste én og én x-verdi og sjekke når balansen stemmer.

Likning

3x + 4 = 19

Program

Prøv x-verdier. Når 3x + 4 blir 19, har vi funnet løsningen.

Viktig: Denne metoden finner først og fremst heltallige løsninger i intervallet du tester. Hvis løsningen er 2,5, finner ikke programmet den når det bare tester hele tall.

Video

Se først hvordan programmering kan brukes til å teste x-verdier og finne løsningen på en likning.

Første eksempel: test mange x-verdier

Vi starter med likningen 3x + 4 = 19. Programmet prøver alle heltall fra −100 til 100. For hver x-verdi regner det ut venstre side og høyre side.

Python
# Vi skal løse likningen:
# 3x + 4 = 19

for x in range(-100, 101):
    venstre_side = 3 * x + 4
    hoyre_side = 19

    if venstre_side == hoyre_side:
        print("Løsningen er x =", x)
Skjermen viser
Løsningen er x = 5
1

Velg verdier

range(-100, 101) tester heltall fra −100 til 100.

2

Regn venstre

3 * x + 4 er venstre side av likningen.

3

Regn høyre

Høyre side er bare tallet 19.

4

Sammenlign

== sjekker om sidene er like.

5

Skriv svar

Når sidene er like, skriver programmet ut x-verdien.

Obs: I Python bruker vi * for gange. Derfor skriver vi 3 * x, ikke 3x.

Venstre side og høyre side

Noen likninger har x på begge sider. Da er det ekstra nyttig å lage én variabel for venstre side og én for høyre side.

Her løser vi 2x + 7 = 25 − x. Programmet skriver ut begge sidene for hver x-verdi, slik at vi kan se når de blir like.

Python
for x in range(0, 12):
    vs = 2 * x + 7
    hs = 25 - x

    print("x =", x, "Venstre side:", vs, "Høyre side:", hs)

    if hs == vs:
        print("Vi har funnet løsningen")
Utdrag fra kjøring
x = 4 Venstre side: 15 Høyre side: 21
x = 5 Venstre side: 17 Høyre side: 20
x = 6 Venstre side: 19 Høyre side: 19
Vi har funnet løsningen
x = 7 Venstre side: 21 Høyre side: 18

Legg merke til: Når x = 6, er begge sidene 19. Derfor er løsningen x = 6.

La brukeren velge intervallet

I stedet for å alltid teste fra −100 til 100, kan vi spørre brukeren hvor programmet skal starte og slutte. Da blir programmet mer fleksibelt.

Python
print("4x + 5 = 17")

start = int(input("Hvilken x-verdi vil du starte med? "))
slutt = int(input("Hvilken x-verdi vil du slutte med? "))

for x in range(start, slutt + 1):
    vs = 4 * x + 5
    hs = 17

    if vs == hs:
        print("Løsning: x =", x)
Eksempel på kjøring
4x + 5 = 17
Hvilken x-verdi vil du starte med? 0
Hvilken x-verdi vil du slutte med? 10
Løsning: x = 3

Hvorfor står det slutt + 1? I Python tar range() med startverdien, men stopper før sluttverdien. Derfor må vi skrive slutt + 1 hvis sluttverdien også skal testes.

Når programmet ikke finner en løsning

Noen ganger finnes det ingen heltallig løsning i intervallet du tester. Da bør programmet også kunne gi beskjed om det.

Python
print("4x + 5 = 17")

start = int(input("Hvilken x-verdi vil du starte med? "))
slutt = int(input("Hvilken x-verdi vil du slutte med? "))

losning = "feil"

for x in range(start, slutt + 1):
    vs = 4 * x + 5
    hs = 17

    if vs == hs:
        print("Løsning: x =", x)
        losning = "riktig"

if losning != "riktig":
    print("Det fins ingen heltallig løsning i ditt intervall")
    print("(", start, ",", slutt, ")")
Eksempel på kjøring
4x + 5 = 17
Hvilken x-verdi vil du starte med? 4
Hvilken x-verdi vil du slutte med? 10
Det fins ingen heltallig løsning i ditt intervall
( 4 , 10 )

Hva gjør variabelen losning? Den starter som "feil". Hvis programmet finner en løsning, endres den til "riktig". Etter løkken kan programmet sjekke om det fant noe.

Test ett forslag fra brukeren

Noen ganger vil vi ikke teste mange x-verdier. Vi vil bare sjekke om ett forslag er riktig. Da kan programmet regne ut venstre og høyre side for den x-verdien brukeren skriver inn.

Python
print("4x + 5 = 17")

x = int(input("Hva tror du er løsningen? "))

vs = 4 * x + 5
hs = 17

print("Venstre side =", vs, "og høyre side =", hs)

if vs == hs:
    print("Riktig!")
else:
    print("Ikke helt. Prøv igjen.")
Eksempel på kjøring
4x + 5 = 17
Hva tror du er løsningen? 3
Venstre side = 17 og høyre side = 17
Riktig!

Viktige kodeord

Disse ordene og tegnene dukker ofte opp når vi løser likninger med programmering.

for gjentar kode Brukes når vi skal teste mange x-verdier.
range lager tallrekke range(0, 12) gir 0 til 11.
if sjekker noe Koden under kjøres bare hvis testen er sann.
== er lik? Sjekker om to verdier er like.
= gir verdi Brukes når en variabel får en verdi.
* gange I Python skriver vi 4 * x.

Vanlige feil

Her er noen feil som ofte dukker opp når man bruker Python til å løse likninger.

1. Glemmer gangetegn

Python forstår ikke 4x. Skriv 4 * x.

2. Bruker = i stedet for ==

= gir verdi. == sjekker om sidene er like.

3. Tester feil intervall

Hvis løsningen ikke ligger i intervallet, finner ikke programmet den.

4. Glemmer slutt + 1

range(0, 10) tester ikke 10. Bruk range(0, 11).

5. Blander sidene

Sjekk at venstre side og høyre side i koden faktisk passer med likningen.

6. Desimalløsning

En løkke med hele tall finner ikke løsninger som x = 2,5.

Prøv selv

Velg nivået som passer. Start gjerne med å kopiere et av programmene over og endre likningen.

Nivå 1: Endre likningen

Bruk samme program, men bytt ut venstre side og høyre side.

Oppgave 1

Lag et program som løser 2x + 3 = 13.

Vis løsningsforslag

Bruk venstre_side = 2 * x + 3 og hoyre_side = 13. Svaret er x = 5.

Oppgave 2

Lag et program som løser 5x − 4 = 21.

Vis løsningsforslag

Bruk venstre_side = 5 * x - 4 og hoyre_side = 21. Svaret er x = 5.

Oppgave 3

Lag et program som løser 7x + 1 = 50.

Vis løsningsforslag

Bruk venstre_side = 7 * x + 1 og hoyre_side = 50. Svaret er x = 7.

Nivå 2: x på begge sider

Lag både vs og hs.

Oppgave 1

Løs 2x + 5 = x + 12 med programmering.

Vis løsningsforslag

Bruk vs = 2 * x + 5 og hs = x + 12. Svaret er x = 7.

Oppgave 2

Løs 3x − 2 = 18 − x med programmering.

Vis løsningsforslag

Bruk vs = 3 * x - 2 og hs = 18 - x. Svaret er x = 5.

Oppgave 3

Løs 4x + 1 = 2x + 15 med programmering.

Vis løsningsforslag

Bruk vs = 4 * x + 1 og hs = 2 * x + 15. Svaret er x = 7.

Nivå 3: Gjør programmet smartere

Bruk intervall, beskjed hvis ingen løsning blir funnet, eller sjekk ett forslag.

Oppgave 1

Lag et program der brukeren velger start og slutt, og programmet løser 6x − 8 = 28.

Vis løsningsforslag

Svaret er x = 6. Husk range(start, slutt + 1).

Oppgave 2

Lag et program som sier fra hvis det ikke finnes heltallig løsning i intervallet for 2x + 1 = 8.

Vis løsningsforslag

Likningen har løsningen x = 3,5. Et program som bare tester heltall, skal derfor ikke finne en heltallig løsning.

Oppgave 3

Lag et program som spør: «Hva tror du er løsningen?» og sjekker svaret for 5x + 2 = 32.

Vis løsningsforslag

Regn ut vs = 5 * x + 2 og hs = 32. Hvis vs == hs, skal programmet skrive «Riktig!». Svaret er x = 6.

Kort oppsummert

En likning er løst når venstre side og høyre side har samme verdi.

Med for x in range(...) kan programmet teste mange x-verdier.

Bruk * når du skal gange i Python.

Bruk == når du skal sjekke om to verdier er like.

Hvis programmet bare tester heltall, finner det bare heltallige løsninger.

Huskeregel: Skriv venstre side og høyre side som kode. Test x-verdier med en løkke. Når venstre_side == hoyre_side, har du funnet løsningen.

Oppdag mer fra Fagrommet

Abonner nå for å fortsette å lese og få tilgang til hele arkivet.

Fortsett å lese