Programmer som løser andregradslikninger - Elektroniske kretser og nettverk (EL-ELE vg1) - NDLA

Hopp til innhold
Oppgave

Programmer som løser andregradslikninger

Å lage programmer som løser andregradslikninger, kan bidra til dybdelæring om likningsløsningen.

1.7.25

Den generelle andregradslikningen kan skrives på formen

ax2+bx+c=0

Det er to måter å løse andregradslikninger på manuelt. Vi kan

  1. faktorisere andregradsuttrykket ved for eksempel å lage et fullstendig kvadrat
  2. ved å bruke abc-formelen (andregradsformelen)

Mer om fullstendig kvadrat

Mer om abc-formelen

a) Spørsmål

Hvilken av disse to metodene tror du vil være enklest å bruke når du skal lage et program som skal løse andregradslikninger?

Svar

Dette blir egentlig det samme når vi skal programmere løsningen. Hvorfor er det slik?

b) Vurdering

Vi tar utgangspunkt i abc-formelen for løsningen. Når vi deler opp formelen i to deler, kan den skrives som

x1=-b+b2-4ac2a   eller    x2=-b-b2-4ac2a

Hvordan kan brukeren av programmet skrive inn andregradslikningen som skal løses?

Løsningsforslag

Vi må gå ut i fra at brukeren har en andregradslikning på formen ax2+bx+c=0  som ovenfor. Da trenger vi bare konstantene a, b og c fra brukeren.

c) Algoritme

Skriv algoritmen til et program som løser andregradslikninger for oss. Programmet skal ta imot den informasjonen som trengs om likningen fra brukeren av programmet. Løsningene kan presenteres med utskriften "x1 = ... , x2 = ...". Husk å få med forklarende tekster i starten av programmet slik at brukeren av programmet vet hva som skal gjøres.

Løsningsforslag
  • Skriv til skjermen "Dette programmet løser andregradslikningen ax^2 + bx + c = 0.".
  • Skriv til skjermen "Skriv inn konstanten a:".
  • Ta imot tallet fra brukeren, konverter det til et ekte tall, og sett det lik variabelen a.
  • Skriv til skjermen "Skriv inn konstanten b:".
  • Ta imot tallet fra brukeren, konverter det til et ekte tall, og sett det lik variabelen b.
  • Skriv til skjermen "Skriv inn konstanten c:".
  • Ta imot tallet fra brukeren, konverter det til et ekte tall, og sett det lik variabelen c.
  • Regn ut x1 med formelen ovenfor, og sett resultatet lik variabelen x1.
  • Regn ut x2 med formelen ovenfor, og sett resultatet lik variabelen x2.
  • Skriv til skjermen "Løsningene er x1 = <x1> og x2 = <x2>.".

I siste linje betyr "<x1>" innholdet av variabelen x1.

d) Koding

Test programmet med likningen  x2+4x-5=0. Gir programmet riktige løsninger?

e) Diskusjon

Fungerer programmet på alle andregradslikninger?

f) Testing

Prøv programmet på likningen  x2-6x+9=0. Hvorfor passer ikke utskriften av løsningen så godt til denne likningen?

g) Testing

Prøv deretter programmet på likningen  x2-6x+10=0. Hva skjer nå, og hvorfor skjer dette?

h) Algoritme

Endre på algoritmen i oppgaven over slik at programmet gir utskrift tilpasset de ulike tilfellene av andregradslikninger vi kan komme borti.

i) Koding

Lag programmet etter denne algoritmen, og sjekk at det fungerer.

Skrevet av Bjarne Skurdal.
Sist faglig oppdatert 07.06.2022