Program som løyser lineære likningssett
1.2.35
På sida "Likningssett" (sjå relatert side lengst nede på denne sida) løyser vi likningssettet
manuelt ved å bruke den såkalla innsetjingsmetoden. Vi kan òg løyse likningssett med to ukjende enkelt med CAS og GeoGebra dersom vi vil. No skal vi prøve å lage eit dataprogram som (kanskje) gjer jobben like godt.
a) Diskusjonsoppgåve
Kva treng vi av informasjon frå likningssettet for å kunne løyse det?
Kommentar
Det er dei seks tala – koeffisientane – i likningssettet som gir løysinga: 3, 2, 380, 4, 3 og 540. Når vi løyser likningssettet med innsetjingsmetoden, er det berre desse seks tala vi bruker for å rekne oss fram til løysinga.
Programmet vårt må kunne ta imot dei seks tala frå brukaren av programmet og deretter rekne ut løysinga ut ifrå tala, men korleis gjer vi det? Med innsetjingsmetoden følger vi eit fastsett mønster når vi løyser likningssettet. Det mønsteret kan vi finne ved å prøve å løyse manuelt eit generelt likningssett der koeffisientane er bokstavane til og med
b) Oppstilling av generelt likningssett.
Prøv å skrive opp det generelle likningssettet ved hjelp av bokstavane
Mogleg likningssett
c) Trinn 1 i løysinga av det generelle likningssettet
Så gjer vi som vi ville gjort med innsetjingsmetoden: Vi startar med å løyse den eine likninga med omsyn på anten
Klarer du å løyse likningssettet når alle tala er bokstavar? Prøv gjerne på det. Vi tek det stegvis nedanfor.
Løys den første likninga med omsyn på
Løysing
d) Trinn 2 i løysinga av det generelle likningssettet
Neste skritt i innsetjingsmetoden er å setje uttrykket for
Resten av løysinga
Då har vi kome fram til formelen for løysinga for
e) Spørsmål
Til vanleg ville vi no setje inn løysinga for
Svar
Vi treng ikkje det, for vi kan la programmet rekne ut løysinga for
f) Algoritme
Då har vi følgande formlar som vi kan bruke i programmet vårt:
Skriv algoritmen til eit program som kan løyse likningssettet. Programmet må gjere dette:
- informere brukaren av programmet om kva programmet gjer
- vise korleis likningssettet programmet løyser, ser ut
- la brukaren skrive inn dei seks tala (koeffisientane)
- rekne ut og presentere løysinga
Løysingsforslag
- Skriv til skjermen "Dette programmet løyser likningssettet ax + by = c , dx + ey = f.".
- Skriv til skjermen "Skriv inn verdien til konstanten a:".
- Ta imot talet frå brukaren, konverter det til eit ekte tal, og lagre det i variabelen
a
. - Skriv til skjermen "Skriv inn verdien til konstanten b:".
- Ta imot talet frå brukaren, konverter det til eit ekte tal, og lagre det i variabelen
b
. - Følg mønsteret i dei to punkta over for å ta imot verdien av c, d, e og f.
- Rekn ut
(af - cd)/(ae - bd)
og set resultatet lik variabeleny
. - Rekn ut
c/a - by/a
og set resultatet lik variabelenx
. - Skriv til skjermen "Løysinga er x =
<x>
, y =<y>
.".
Med "<x>
" og "<y>
" meiner vi verdien av variablane x
og y
.
g) Koding
Skriv programmet og test det på likningssettet øvst på sida. Bruk din eigen programmeringseditor eller den innebygde programmeringseditoren nedanfor. (NB: Det kan ta litt tid frå du trykker på avspelingsknappen
h) Testing av program
Nokre likningssett har ikkje løysing. Korleis oppfører programmet seg om brukaren skriv inn eit slikt likningssett?
i) Algoritme
Endre på algoritmen slik at det tek omsyn til likningssett som ikkje har løysing. Endre deretter programmet i tråd med den nye algoritmen.
j) Algoritme og koding
Er det andre spesielle likningssett vi må ta omsyn til? I så fall, tilpass først algoritmen, deretter programmet, slik at det passar for alle lineære likningssett.