Program som løyser andregradslikningar
1.7.25
Den generelle andregradslikninga kan skrivast på formen
Det er to måtar å løyse andregradslikningar på manuelt. Vi kan
- faktorisere andregradsuttrykket ved til dømes å lage eit fullstendig kvadrat
- ved å bruke abc-formelen (andregradsformelen)
a) Spørsmål
Kva for ein av desse to metodane trur du vil vere enklast å bruke når du skal lage eit program som skal løyse andregradslikningar?
Svar
Dette blir eigentleg det same når vi skal programmere løysinga. Kvifor er det slik?
b) Vurdering
Vi tek utgangspunkt i abc-formelen for løysinga. Når vi deler opp formelen i to delar, kan han skrivast som
Korleis kan brukaren av programmet skrive inn andregradslikninga som skal løysast?
Løysingsforslag
Vi må gå ut i frå at brukaren har ei andregradslikning på forma som ovanfor. Då treng vi berre konstantane og frå brukaren.
c) Algoritme
Skriv algoritmen til eit program som løyser andregradslikningar for oss. Programmet skal ta imot den informasjonen som trengst om likninga frå brukaren av programmet. Løysingane kan presenterast med utskrifta "x1 = ... , x2 = ...". Hugs å få med forklarande tekstar i starten av programmet slik at brukaren av programmet veit kva som skal gjerast.
Løysingsforslag
- Skriv til skjermen "Dette programmet løyser andregradslikninga ax^2 + bx + c = 0.".
- Skriv til skjermen "Skriv inn konstanten a:".
- Ta imot talet frå brukaren, konverter det til eit ekte tal, og set det lik variabelen
a
. - Skriv til skjermen "Skriv inn konstanten b:".
- Ta imot talet frå brukaren, konverter det til eit ekte tal, og set det lik variabelen
b
. - Skriv til skjermen "Skriv inn konstanten c:".
- Ta imot talet frå brukaren, konverter det til eit ekte tal, og set det lik variabelen
c
. - Rekn ut med formelen ovanfor, og set resultatet lik variabelen
x1
. - Rekn ut med formelen ovanfor, og set resultatet lik variabelen
x2
. - Skriv til skjermen "Løysingane er x1 =
<x1>
og x2 =<x2>
.".
I siste linje betyr "<x1>
" innhaldet av variabelen x1
.
d) Koding
Test programmet med likninga . Gir programmet rette løysingar?
e) Diskusjon
Fungerer programmet på alle andregradslikningar?
f) Testing
Prøv programmet på likninga . Kvifor passar ikkje utskrifta av løysinga så godt til denne likninga?
g) Testing
Prøv deretter programmet på likninga . Kva skjer no, og kvifor skjer dette?
h) Algoritme
Endre på algoritmen i oppgåva over slik at programmet gir utskrift tilpassa dei ulike tilfella av andregradslikningar vi kan kome borti.
i) Koding
Lag programmet etter denne algoritmen, og sjekk at det fungerer.