3.3.37
Vi ønskjer å lage eit program som skal kunne ta imot ein vilkårleg tredjegradsfunksjon frå brukaren av programmet og teikne grafen for -verdiar i eit intervall som brukaren bestemmer.
Det kan vere lurt å gå gjennom artikkelen Teikne grafar med pyplot() før du byrjar med oppgåvene.
a) Vurdering
Korleis kan brukaren skrive inn tredjegradsfunksjonen?
Løysingsforslag
Vi må gå ut ifrå at brukaren har funksjonen på forma
Då treng vi berre ta imot verdien på konstantane og .
Til dømes vil konstantane ha verdien 1, 2, 3 og 4 dersom funksjonen er
b) Algoritme
Skriv algoritmen til eit slikt program. Hugs å få med gode tekstar som forklarer kva programmet gjer.
Løysingsforslag
- Skriv til skjermen "Dette programmet teiknar funksjonen f(x) = ax^3 + bx^2 + cx + d for x-verdiar i intervallet frå s til t.".
- Skriv til skjermen "Skriv inn verdien til konstanten a:".
- Ta imot talet frå brukaren, konverter det til eit ekte tal, og set det lik variabelen
a
. - Skriv til skjermen "Skriv inn verdien til konstanten b:".
- Ta imot talet frå brukaren, konverter det til eit ekte tal, og set det lik variabelen
b
. - Skriv til skjermen "Skriv inn verdien til konstanten c:".
- Ta imot talet frå brukaren, konverter det til eit ekte tal, og set det lik variabelen
c
. - Skriv til skjermen "Skriv inn verdien til konstanten d:".
- Ta imot talet frå brukaren, konverter det til eit ekte tal, og set det lik variabelen
d
. - Skriv til skjermen "Skriv inn verdien til konstanten s:".
- Ta imot talet frå brukaren, konverter det til eit ekte tal, og set det lik variabelen
s
. - Skriv til skjermen "Skriv inn verdien til konstanten t:".
- Ta imot talet frå brukaren, konverter det til eit ekte tal, og set det lik variabelen
t
. - Lag ei liste
x
med 100 -verdiar frås
tilt
. - Lag ei liste
y
med -verdiar ved å setje listax
inn i funksjonen ved hjelp av variablanea
,b
,c
ogd
. - Lag den grafiske framstillinga.
- Send den grafiske framstillinga til skjermen.
c) Koding
Lag programmet og test det med ein tredjegradsfunksjon, til dømes funksjonen i artikkelen Eit praktisk eksempel på ein tredjegradsfunksjon.
Tips: Sjå lengst nede i artikkelen Teikne grafar med pyplot() for å gjere den grafiske framstillinga penare.
d) Spørsmål
Kan programmet brukast til å teikne andregradsfunksjonar eller rette linjer?
3.3.38 Utfordring
Det er litt tungvint med alle desse input()-kommandoane i programmet i oppgåva ovanfor. Det finst måtar å lage programmet på slik at brukaren kan skrive inn alle tala i éin smekk. Då treng vi til dømes funksjonen split() til å splitte opp det som brukaren skriv inn. Vi vil òg trenge ei for-lykkje.
a) Utforsking
Gjer eit søk på internett for å finne ut korleis funksjonen split() fungerer.
b) Algoritme
Vi skal gjere om på programmet ved hjelp av funksjonen split(). Endre på algoritmen til programmet slik at brukaren kan skrive inn alle tala med éin gong.
c) Koding
Gjer om på programmet etter den nye algoritmen, og test at det fungerer slik det skal.