R1 eksamenVår 2015

Matematikk R1 eksamen – vår 2015

ifingo
Norsk (Bokmål)

Matematikk R1 - eksempelsett våren 2015 (REA3022)

Løsningsforslag til eksamenssettet fra Utdanningsdirektoratet.

Del 1 - uten hjelpemidler

Del 1 - Oppgave 1aDerivasjon - potensregelen

Oppgave 1a

Oppgave: Deriver funksjonen \[f(t)=0{,}02t^3+0{,}6t^2+4{,}1.\]
Vis løsning

Hva spør oppgaven om? Vi skal derivere et polynom ledd for ledd ved hjelp av potensregelen. Konstantleddet får derivert lik 0.

Steg 1 - Skriv potensregelen

For et ledd \(ct^n\) er den deriverte \(cnt^{n-1}\).

Steg 2 - Deriver tredjegradsleddet

\[\frac{d}{dt}(0{,}02t^3)=3\cdot0{,}02t^2=0{,}06t^2.\]

Steg 3 - Deriver andregradsleddet

\[\frac{d}{dt}(0{,}6t^2)=2\cdot0{,}6t=1{,}2t.\]

Steg 4 - Deriver konstanten

\[\frac{d}{dt}(4{,}1)=0.\]

Steg 5 - Summer de deriverte leddene

\[f'(t)=0{,}06t^2+1{,}2t+0.\]

Steg 6 - Skriv sluttresultatet ryddig

\[f'(t)=0{,}06t^2+1{,}2t.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[0.02t^3+0.6t^2+4.1,t]
\(0{,}06t^2+1{,}2t\)

Tolkning: CAS bekrefter den leddvise derivasjonen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t")
f = sp.Rational(2, 100)*t**3 + sp.Rational(6, 10)*t**2 + sp.Rational(41, 10)
print("f(t) =", f)
print("Deriver ledd for ledd:")
print("d/dt(0.02*t^3) =", sp.diff(sp.Rational(2,100)*t**3, t))
print("d/dt(0.6*t^2) =", sp.diff(sp.Rational(6,10)*t**2, t))
print("d/dt(4.1) =", sp.diff(sp.Rational(41,10), t))
print("f'(t) =", sp.diff(f, t))
Utskrift fra Python:
f(t) = t**3/50 + 3*t**2/5 + 41/10
Deriver ledd for ledd:
d/dt(0.02*t^3) = 3*t**2/50
d/dt(0.6*t^2) = 6*t/5
d/dt(4.1) = 0
f'(t) = 3*t**2/50 + 6*t/5

Fasit: \(f'(t)=0{,}06t^2+1{,}2t\).

Vanlig feil: Å redusere eksponenten uten å multiplisere med den gamle eksponenten.
Sensorpunkt: Sensor ser etter korrekt potensregel på begge ledd og at konstantleddet forsvinner.
Del 1 - Oppgave 1bDerivasjon - produkt og kjerneregel

Oppgave 1b

Oppgave: Deriver funksjonen \[g(x)=x^2\cdot e^{2x}.\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke produktregelen fordi funksjonen er et produkt, og kjerneregelen når vi deriverer eksponentialfunksjonen.

Steg 1 - Del produktet i to faktorer

Sett \(u(x)=x^2\) og \(v(x)=e^{2x}\).

Steg 2 - Deriver første faktor

\[u'(x)=2x.\]

Steg 3 - Deriver andre faktor med kjerneregel

Den indre funksjonen er \(2x\), med derivert 2. Derfor \[v'(x)=2e^{2x}.\]

Steg 4 - Bruk produktregelen

\[g'(x)=u'v+uv'=2x e^{2x}+x^2\cdot2e^{2x}.\]

Steg 5 - Trekk ut felles faktor

Begge ledd inneholder \(2xe^{2x}\): \[g'(x)=2xe^{2x}(1+x).\]

Steg 6 - Skriv i vanlig rekkefølge

\[g'(x)=2x(x+1)e^{2x}.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[x^2*exp(2x),x]
\(2xe^{2x}+2x^2e^{2x}\)
2
Factor[Derivative[x^2*exp(2x),x]]
\(2x(x+1)e^{2x}\)

Tolkning: CAS gir samme uttrykk både utvidet og faktorisert.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
u = x**2
v = sp.exp(2*x)
g = u*v
print("u(x) =", u)
print("u'(x) =", sp.diff(u, x))
print("v(x) =", v)
print("v'(x) =", sp.diff(v, x))
print("Produktregelen: g' = u'*v + u*v'")
print("g'(x) før faktorisering =", sp.expand(sp.diff(g, x)))
print("g'(x) faktorisert =", sp.factor(sp.diff(g, x)))
Utskrift fra Python:
u(x) = x**2
u'(x) = 2*x
v(x) = exp(2*x)
v'(x) = 2*exp(2*x)
Produktregelen: g' = u'*v + u*v'
g'(x) før faktorisering = 2*x**2*exp(2*x) + 2*x*exp(2*x)
g'(x) faktorisert = 2*x*(x + 1)*exp(2*x)

Fasit: \(g'(x)=2x(x+1)e^{2x}\).

Vanlig feil: Å glemme den indre deriverte 2 i \(e^{2x}\), eller å bruke produktregelen som et produkt av de deriverte.
Sensorpunkt: Sensor ser etter både produktregelen og kjerneregelen, med tydelig faktorisering.
Del 1 - Oppgave 1cDerivasjon - logaritme og kjerneregel

Oppgave 1c

Oppgave: Deriver funksjonen \[h(x)=\ln(x^3+1).\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke regelen for den deriverte av \(\ln u\), kombinert med kjerneregelen.

Steg 1 - Finn den indre funksjonen

Sett \(u(x)=x^3+1\).

Steg 2 - Deriver den indre funksjonen

\[u'(x)=3x^2.\]

Steg 3 - Skriv logaritmeregelen

\[\frac{d}{dx}\ln u(x)=\frac{u'(x)}{u(x)}.\]

Steg 4 - Sett inn u og u-prime

\[h'(x)=\frac{3x^2}{x^3+1}.\]

Steg 5 - Kontroller definisjonsmengden

Logaritmen krever \(x^3+1>0\), altså \(x>-1\).

Steg 6 - Knytt svaret til domenet

Den deriverte gjelder på hele funksjonens definisjonsmengde, \(x>-1\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[ln(x^3+1),x]
\(\dfrac{3x^2}{x^3+1}\)
2
Solve[x^3+1>0,x]
\(x>-1\)

Tolkning: CAS bekrefter både derivert og definisjonskrav.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
u = x**3 + 1
h = sp.log(u)
print("Indre funksjon u(x) =", u)
print("u'(x) =", sp.diff(u, x))
print("Regel: d/dx ln(u) = u'/u")
print("h'(x) =", sp.simplify(sp.diff(h, x)))
print("Definisjonskrav: x^3 + 1 > 0")
print("Dette gir x > -1")
Utskrift fra Python:
Indre funksjon u(x) = x**3 + 1
u'(x) = 3*x**2
Regel: d/dx ln(u) = u'/u
h'(x) = 3*x**2/(x**3 + 1)
Definisjonskrav: x^3 + 1 > 0
Dette gir x > -1

Fasit: \(h'(x)=\dfrac{3x^2}{x^3+1}\), for \(x>-1\).

Vanlig feil: Å skrive \(1/(x^3+1)\) uten å multiplisere med den indre deriverte \(3x^2\).
Sensorpunkt: Sensor ser etter korrekt kjerneregel og et gyldig uttrykk på riktig definisjonsmengde.
Del 1 - Oppgave 2aPolynom - restsetningen

Oppgave 2a

Oppgave: En polynomfunksjon \(f\) er gitt ved \[f(x)=x^3+ax^2-13x+15.\] Bestem \(a\) slik at \(f(x)\) blir delelig med \((x-1)\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke restsetningen: et polynom er delelig med \(x-1\) akkurat når \(f(1)=0\).

Steg 1 - Bruk restsetningen

Kravet er \(f(1)=0\).

Steg 2 - Sett x lik 1

\[f(1)=1^3+a\cdot1^2-13\cdot1+15.\]

Steg 3 - Regn sammen konstantene

\[f(1)=1+a-13+15=a+3.\]

Steg 4 - Sett resten lik null

\[a+3=0.\]

Steg 5 - Løs likningen

\[a=-3.\]

Steg 6 - Kontroller deleligheten

Med \(a=-3\) får vi \(f(1)=1-3-13+15=0\), så \(x-1\) er en faktor.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[Substitute[x^3+a*x^2-13x+15,x,1]=0,a]
\(a=-3\)
2
Factor[x^3-3x^2-13x+15]
\((x-1)(x-5)(x+3)\)

Tolkning: CAS viser at a=-3 gir faktoren x-1.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, a = sp.symbols("x a")
f = x**3 + a*x**2 - 13*x + 15
value = sp.expand(f.subs(x, 1))
solution = sp.solve(sp.Eq(value, 0), a)
print("f(x) =", f)
print("Restsetningen: divisjon med x-1 krever f(1)=0")
print("f(1) =", value)
print("Likning:", sp.Eq(value, 0))
print("Løsning for a =", solution)
print("Kontroll med a=-3: f(1) =", f.subs({a:-3, x:1}))
Utskrift fra Python:
f(x) = a*x**2 + x**3 - 13*x + 15
Restsetningen: divisjon med x-1 krever f(1)=0
f(1) = a + 3
Likning: Eq(a + 3, 0)
Løsning for a = [-3]
Kontroll med a=-3: f(1) = 0

Fasit: \(a=-3\).

Vanlig feil: Å sette \(x=-1\) fordi faktoren er \(x-1\). Nullpunktet til faktoren er \(x=1\).
Sensorpunkt: Sensor ser etter eksplisitt bruk av restsetningen og en kontroll av \(f(1)=0\).
Del 1 - Oppgave 2bPolynomulikhet - fortegnsskjema

Oppgave 2b

Oppgave: Løs ulikheten \(f(x)\leq0\) for denne \(a\)-verdien.
Vis løsning

Hva spør oppgaven om? Vi skal faktorisere polynomet for \(a=-3\), finne nullpunktene og bruke fortegnsskifte mellom dem.

Steg 1 - Sett inn a-verdien

\[f(x)=x^3-3x^2-13x+15.\]

Steg 2 - Bruk den kjente faktoren

Siden \(x-1\) er en faktor, dividerer vi og får \[f(x)=(x-1)(x^2-2x-15).\]

Steg 3 - Faktoriser andregradsuttrykket

\[x^2-2x-15=(x-5)(x+3).\]

Steg 4 - Finn nullpunktene

\[x=-3,\quad x=1,\quad x=5.\]

Steg 5 - Bestem fortegnene

Med positiv ledende koeffisient og tre enkle nullpunkter veksler fortegnet: negativt før -3, positivt mellom -3 og 1, negativt mellom 1 og 5, og positivt etter 5.

Steg 6 - Ta med nullpunktene

Ulikheten er \(\leq0\), derfor skal nullpunktene inkluderes.

Steg 7 - Skriv intervallsvaret

\[x\in(-\infty,-3]\cup[1,5].\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Factor[x^3-3x^2-13x+15]
\((x+3)(x-1)(x-5)\)
2
Solve[x^3-3x^2-13x+15<=0,x]
\(x\leq-3\ \lor\ 1\leq x\leq5\)

Tolkning: CAS bekrefter både faktoriseringen og intervallene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = x**3 - 3*x**2 - 13*x + 15
fac = sp.factor(f)
sol = sp.solve_univariate_inequality(f <= 0, x)
print("f(x) med a=-3 =", f)
print("Faktorisert f(x) =", fac)
print("Nullpunkter =", sp.solve(sp.Eq(f,0), x))
print("Fortegn for testpunktene:")
for p in (-4, 0, 2, 6):
    print(f"f({p}) =", f.subs(x,p))
print("Løsning av f(x) <= 0:", sol)
Utskrift fra Python:
f(x) med a=-3 = x**3 - 3*x**2 - 13*x + 15
Faktorisert f(x) = (x - 5)*(x - 1)*(x + 3)
Nullpunkter = [-3, 1, 5]
Fortegn for testpunktene:
f(-4) = -45
f(0) = 15
f(2) = -15
f(6) = 45
Løsning av f(x) <= 0: (x <= -3) | ((1 <= x) & (x <= 5))

Fasit: \(x\in(-\infty,-3]\cup[1,5]\).

Vanlig feil: Å glemme at nullpunktene skal være med når ulikheten er \(\leq0\), eller å starte fortegnsskjemaet med feil fortegn.
Sensorpunkt: Sensor ser etter full faktorisering, nullpunkter, fortegnsvurdering og korrekt intervallnotasjon.
Del 1 - Oppgave 3Kombinatorikk og sannsynlighet

Oppgave 3

Oppgave: Fra en gruppe på 7 jenter og 5 gutter skal det trekkes ut 3 representanter. Bestem sannsynligheten for at 2 jenter og 1 gutt representerer gruppa hvis uttrekket er tilfeldig.
Vis løsning

Hva spør oppgaven om? Vi skal telle antall gunstige utvalg og dele på antall mulige utvalg. Rekkefølgen spiller ingen rolle, så vi bruker binomialkoeffisienter.

Steg 1 - Tell alle mulige utvalg

Det finnes \(\binom{12}{3}\) måter å velge 3 personer blant 12.

Steg 2 - Tell jenteutvalgene

To jenter kan velges på \[\binom72=21\] måter.

Steg 3 - Tell gutteutvalgene

Én gutt kan velges på \[\binom51=5\] måter.

Steg 4 - Bruk produktregelen

Antall gunstige utvalg er \[\binom72\binom51=21\cdot5=105.\]

Steg 5 - Regn totalantallet

\[\binom{12}{3}=220.\]

Steg 6 - Sett opp sannsynligheten

\[P=\frac{105}{220}.\]

Steg 7 - Forkort brøken

\[P=\frac{21}{44}\approx0{,}477.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
BinomialCoefficient[7,2]*BinomialCoefficient[5,1]
105
2
BinomialCoefficient[12,3]
220
3
105/220
\(21/44\)

Tolkning: CAS bekrefter de gunstige og totale kombinasjonene.

Python-kontroll med SymPy

Python 3 - SymPy
from math import comb
from fractions import Fraction
favorable = comb(7,2)*comb(5,1)
total = comb(12,3)
p = Fraction(favorable,total)
print("Antall måter å velge 2 av 7 jenter:", comb(7,2))
print("Antall måter å velge 1 av 5 gutter:", comb(5,1))
print("Gunstige utvalg:", favorable)
print("Alle utvalg av 3 fra 12:", total)
print("Sannsynlighet som brøk:", p)
print("Sannsynlighet som desimaltall:", float(p))
Utskrift fra Python:
Antall måter å velge 2 av 7 jenter: 21
Antall måter å velge 1 av 5 gutter: 5
Gunstige utvalg: 105
Alle utvalg av 3 fra 12: 220
Sannsynlighet som brøk: 21/44
Sannsynlighet som desimaltall: 0.4772727272727273

Fasit: \(P=\dfrac{21}{44}\approx0{,}477\), altså omtrent \(47{,}7\%\).

Vanlig feil: Å telle ordnede trekk og dermed få samme gruppe flere ganger, eller å glemme å velge gutten.
Sensorpunkt: Sensor ser etter riktig kombinasjonsteller, korrekt nevner og en forkortet sannsynlighet.
Del 1 - Oppgave 4Algebra - rasjonale uttrykk

Oppgave 4

Oppgave: Skriv så enkelt som mulig \[\frac{x+2}{x^2-16}+\frac{x}{x+4}-\frac{2}{x-4}.\]
Vis løsning

Hva spør oppgaven om? Vi skal faktorisere nevnerne, finne fellesnevner, samle tellerne og kontrollere om noen faktorer kan forkortes.

Steg 1 - Faktoriser differansen av to kvadrater

\[x^2-16=(x-4)(x+4).\]

Steg 2 - Velg fellesnevner

Fellesnevneren er \((x-4)(x+4)\).

Steg 3 - Utvid andre brøk

\[\frac{x}{x+4}=\frac{x(x-4)}{(x+4)(x-4)}.\]

Steg 4 - Utvid tredje brøk

\[\frac{2}{x-4}=\frac{2(x+4)}{(x-4)(x+4)}.\]

Steg 5 - Samle tellerne

\[x+2+x(x-4)-2(x+4)=x^2-5x-6.\]

Steg 6 - Faktoriser telleren

\[x^2-5x-6=(x-6)(x+1).\]

Steg 7 - Kontroller forkorting og domene

Ingen faktor kan forkortes mot \(x\pm4\). Det opprinnelige uttrykket krever \(x\neq-4\) og \(x\neq4\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Factor[x^2-16]
\((x-4)(x+4)\)
2
Simplify[(x+2)/(x^2-16)+x/(x+4)-2/(x-4)]
\(\dfrac{(x-6)(x+1)}{(x-4)(x+4)}\)

Tolkning: CAS bekrefter den samlede brøken.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
expr = (x+2)/(x**2-16) + x/(x+4) - 2/(x-4)
print("Opprinnelig uttrykk =", expr)
print("x^2-16 faktoriseres som", sp.factor(x**2-16))
print("Fellesnevner = (x-4)(x+4)")
print("Samlet teller =", sp.expand((x+2)+x*(x-4)-2*(x+4)))
print("Forenklet uttrykk =", sp.factor(sp.together(expr)))
print("Definisjonsbegrensninger: x != -4 og x != 4")
Utskrift fra Python:
Opprinnelig uttrykk = x/(x + 4) + (x + 2)/(x**2 - 16) - 2/(x - 4)
x^2-16 faktoriseres som (x - 4)*(x + 4)
Fellesnevner = (x-4)(x+4)
Samlet teller = x**2 - 5*x - 6
Forenklet uttrykk = (x - 6)*(x + 1)/((x - 4)*(x + 4))
Definisjonsbegrensninger: x != -4 og x != 4

Fasit: \(\dfrac{(x-6)(x+1)}{(x-4)(x+4)}\), for \(x\neq\pm4\).

Vanlig feil: Å forkorte ledd på tvers av en sum, eller å glemme definisjonsbegrensningene fra de opprinnelige nevnerne.
Sensorpunkt: Sensor ser etter korrekt fellesnevner, alle mellomregninger og oppgitt domene.
Del 1 - Oppgave 5aPotenser - potensregler

Oppgave 5a

Oppgave: Skriv så enkelt som mulig \[\frac{a^2(b^2)^2}{a^{-3}b^0}.\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke potensreglene for potens av potens, nullte potens og divisjon av potenser med samme grunntall.

Steg 1 - Forenkle potens av potens

\[(b^2)^2=b^{2\cdot2}=b^4.\]

Steg 2 - Forenkle nullte potens

For \(b\neq0\) er \[b^0=1.\]

Steg 3 - Skriv uttrykket på nytt

\[\frac{a^2b^4}{a^{-3}}.\]

Steg 4 - Bruk divisjonsregelen for a

\[\frac{a^2}{a^{-3}}=a^{2-(-3)}.\]

Steg 5 - Regn eksponenten

\[2-(-3)=5.\]

Steg 6 - Samle faktorene

\[a^5b^4.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Simplify[a^2*(b^2)^2/(a^(-3)*b^0)]
\(a^5b^4\)

Tolkning: CAS bekrefter potensforenklingen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a, b = sp.symbols("a b", nonzero=True)
expr = a**2*(b**2)**2/(a**(-3)*b**0)
print("Uttrykk = a^2*(b^2)^2/(a^(-3)*b^0)")
print("(b^2)^2 =", (b**2)**2)
print("b^0 =", b**0)
print("a^2 / a^(-3) = a^(2-(-3)) =", sp.simplify(a**2/a**(-3)))
print("Forenklet uttrykk =", sp.simplify(expr))
Utskrift fra Python:
Uttrykk = a^2*(b^2)^2/(a^(-3)*b^0)
(b^2)^2 = b**4
b^0 = 1
a^2 / a^(-3) = a^(2-(-3)) = a**5
Forenklet uttrykk = a**5*b**4

Fasit: \(a^5b^4\), med \(a\neq0\) og \(b\neq0\).

Vanlig feil: Å regne \(2-(-3)\) som \(-1\), eller å tro at \(b^0=0\).
Sensorpunkt: Sensor ser etter korrekt bruk av alle tre potensreglene.
Del 1 - Oppgave 5bLogaritmer - produktregelen

Oppgave 5b

Oppgave: Skriv så enkelt som mulig \[\lg(a^2b)+\lg(ab^2)+\lg\left(\frac{a}{b^3}\right).\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke produktregelen for logaritmer og deretter potensregelen. Logaritmene krever positive argumenter.

Steg 1 - Bruk produktregelen to ganger

\[\lg u+\lg v+\lg w=\lg(uvw).\]

Steg 2 - Sett inn argumentene

\[\lg\left((a^2b)(ab^2)\frac{a}{b^3}\right).\]

Steg 3 - Samle a-potensene

\[a^2\cdot a\cdot a=a^{2+1+1}=a^4.\]

Steg 4 - Samle b-potensene

\[b\cdot b^2\cdot b^{-3}=b^{1+2-3}=b^0=1.\]

Steg 5 - Forenkle logaritmen

\[\lg(a^4).\]

Steg 6 - Bruk potensregelen

For \(a>0\): \[\lg(a^4)=4\lg a.\]

Steg 7 - Oppgi domenekravet

Alle tre opprinnelige argumenter er positive når \(a>0\) og \(b>0\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Simplify[(a^2*b)*(a*b^2)*(a/b^3)]
\(a^4\)
2
Expand[log(a^4)]
\(4\log(a)\) for \(a>0\)

Tolkning: CAS bekrefter at argumentproduktet er a^4.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a, b = sp.symbols("a b", positive=True)
product = (a**2*b)*(a*b**2)*(a/b**3)
print("Logaritmeargumentene:")
print("1:", a**2*b)
print("2:", a*b**2)
print("3:", a/b**3)
print("Produktet av argumentene =", sp.simplify(product))
print("lg(a^4) = 4*lg(a) når a>0")
Utskrift fra Python:
Logaritmeargumentene:
1: a**2*b
2: a*b**2
3: a/b**3
Produktet av argumentene = a**4
lg(a^4) = 4*lg(a) når a>0

Fasit: \(4\lg a\), for \(a>0\) og \(b>0\).

Vanlig feil: Å legge sammen argumentene i stedet for å multiplisere dem, eller å overse domenekravene.
Sensorpunkt: Sensor ser etter produktregelen, korrekt potensregning og gyldig domene.
Del 1 - Oppgave 6Potenser - samme grunntall

Oppgave 6

Oppgave: Bestem tallet \(n\) når \[2^3+2^3+2^3+2^3=2^n.\]
Vis løsning

Hva spør oppgaven om? Vi skal samle de fire like leddene og skrive faktoren 4 som en potens med grunntall 2.

Steg 1 - Tell de like leddene

Det er fire forekomster av \(2^3\).

Steg 2 - Faktoriser summen

\[2^3+2^3+2^3+2^3=4\cdot2^3.\]

Steg 3 - Skriv 4 som en toerpotens

\[4=2^2.\]

Steg 4 - Multipliser potenser med samme grunntall

\[2^2\cdot2^3=2^{2+3}.\]

Steg 5 - Regn eksponenten

\[2^{2+3}=2^5.\]

Steg 6 - Sammenlign med høyresiden

Siden uttrykket er \(2^n\), må \(n=5\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
4*2^3
32
2
Log[32,2]
5

Tolkning: CAS viser at venstresiden er 32 = 2^5.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
n = sp.symbols("n")
left = 2**3 + 2**3 + 2**3 + 2**3
print("Venstresiden = 2^3 + 2^3 + 2^3 + 2^3")
print("Fire like ledd gir 4*2^3 =", left)
print("4 = 2^2")
print("2^2*2^3 = 2^(2+3) = 2^5")
print("n =", 5)
Utskrift fra Python:
Venstresiden = 2^3 + 2^3 + 2^3 + 2^3
Fire like ledd gir 4*2^3 = 32
4 = 2^2
2^2*2^3 = 2^(2+3) = 2^5
n = 5

Fasit: \(n=5\).

Vanlig feil: Å addere eksponentene direkte i den opprinnelige summen. Eksponentregelen gjelder multiplikasjon, ikke addisjon.
Sensorpunkt: Sensor ser etter faktorisering av de fire like leddene før potensregelen brukes.
Del 1 - Oppgave 7Logikk - implikasjon

Oppgave 7

Oppgave: Skriv av og sett \(\Rightarrow\) eller \(\Leftarrow\) eller \(\Leftrightarrow\) mellom utsagnene nedenfor, og begrunn valget ditt. \[x^2+5x+6=0\qquad \square \qquad x=-2.\]
Vis løsning

Hva spør oppgaven om? Vi skal undersøke hvilken vei implikasjonen gjelder ved å finne alle løsninger av likningen og kontrollere utsagnet \(x=-2\).

Steg 1 - Faktoriser venstresiden

\[x^2+5x+6=(x+2)(x+3).\]

Steg 2 - Finn alle løsningene

\[(x+2)(x+3)=0\Rightarrow x=-2\ \text{eller}\ x=-3.\]

Steg 3 - Test høyre utsagn

Hvis \(x=-2\), blir venstresiden \(4-10+6=0\). Dermed medfører høyre utsagn venstre utsagn.

Steg 4 - Test motsatt retning

Venstre utsagn kan også være sant når \(x=-3\). Da er ikke \(x=-2\).

Steg 5 - Avvis ekvivalens

Utsagnene har ikke nøyaktig samme sannhetsmengde, så \(\Leftrightarrow\) er feil.

Steg 6 - Velg riktig pilretning

Pilen skal peke fra \(x=-2\) mot likningen: \[x^2+5x+6=0\ \Leftarrow\ x=-2.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Factor[x^2+5x+6]
\((x+2)(x+3)\)
2
Solve[x^2+5x+6=0,x]
\(x=-3\) eller \(x=-2\)

Tolkning: CAS viser hvorfor bare én implikasjonsretning er gyldig.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
P = sp.Eq(x**2 + 5*x + 6, 0)
roots = sp.solve(P, x)
print("Venstre utsagn har løsninger:", roots)
print("Kontroll av høyre utsagn x=-2:")
print("(-2)^2 + 5*(-2) + 6 =", (-2)**2 + 5*(-2) + 6)
print("x=-2 medfører venstre utsagn: True")
print("Venstre utsagn medfører ikke nødvendigvis x=-2, fordi x=-3 også virker")
print("Riktig pil: venstre utsagn <= høyre utsagn, altså ⇐")
Utskrift fra Python:
Venstre utsagn har løsninger: [-3, -2]
Kontroll av høyre utsagn x=-2:
(-2)^2 + 5*(-2) + 6 = 0
x=-2 medfører venstre utsagn: True
Venstre utsagn medfører ikke nødvendigvis x=-2, fordi x=-3 også virker
Riktig pil: venstre utsagn <= høyre utsagn, altså ⇐

Fasit: \(x^2+5x+6=0\ \Leftarrow\ x=-2\).

Vanlig feil: Å velge dobbeltpil fordi x=-2 er én løsning, uten å kontrollere at det finnes en annen løsning.
Sensorpunkt: Sensor ser etter en moteksempelvurdering av den ugyldige retningen.
Del 1 - Oppgave 8aVektorer - koordinater

Oppgave 8a

Oppgave: Punktene \(A(1,0)\), \(B(3,4)\) og \(C(2,t)\) er gitt. Bestem \(\overrightarrow{AB}\) og \(\overrightarrow{AC}\).
Vis løsning

Hva spør oppgaven om? Vi skal finne hver vektor ved å trekke koordinatene til startpunktet fra koordinatene til endepunktet.

Steg 1 - Skriv vektorregelen

\[\overrightarrow{PQ}=Q-P.\]

Steg 2 - Finn første komponent i AB

\[3-1=2.\]

Steg 3 - Finn andre komponent i AB

\[4-0=4.\]

Steg 4 - Skriv AB

\[\overrightarrow{AB}=[2,4].\]

Steg 5 - Finn komponentene i AC

\[2-1=1,\qquad t-0=t.\]

Steg 6 - Skriv AC

\[\overrightarrow{AC}=[1,t].\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Vector[(1,0),(3,4)]
(2,4)
2
Vector[(1,0),(2,t)]
(1,t)

Tolkning: GeoGebra bekrefter begge vektorene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
A = sp.Matrix([1,0]); B = sp.Matrix([3,4]); t = sp.symbols("t"); C = sp.Matrix([2,t])
AB = B-A; AC = C-A
print("A =", list(A), "B =", list(B), "C =", list(C))
print("AB = B-A =", list(AB))
print("AC = C-A =", list(AC))
Utskrift fra Python:
A = [1, 0] B = [3, 4] C = [2, t]
AB = B-A = [2, 4]
AC = C-A = [1, t]

Fasit: \(\overrightarrow{AB}=[2,4]\) og \(\overrightarrow{AC}=[1,t]\).

Vanlig feil: Å trekke i motsatt rekkefølge og dermed finne BA eller CA.
Sensorpunkt: Sensor ser etter endepunkt minus startpunkt i begge komponenter.
Del 1 - Oppgave 8bVektorer - ortogonalitet

Oppgave 8b

Oppgave: Bestem \(t\) slik at \(\overrightarrow{AB}\perp\overrightarrow{AC}\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke at to ikke-nullvektorer er ortogonale når skalarproduktet er 0.

Steg 1 - Bruk vektorene fra a

\[\overrightarrow{AB}=[2,4],\qquad \overrightarrow{AC}=[1,t].\]

Steg 2 - Sett opp skalarproduktet

\[\overrightarrow{AB}\cdot\overrightarrow{AC}=2\cdot1+4\cdot t.\]

Steg 3 - Forenkle

\[2+4t.\]

Steg 4 - Bruk ortogonalkravet

\[2+4t=0.\]

Steg 5 - Løs likningen

\[4t=-2\Rightarrow t=-\frac12.\]

Steg 6 - Kontroller

\[2+4\left(-\frac12\right)=2-2=0.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[Dot((2,4),(1,t))=0,t]
\(t=-1/2\)
2
Dot((2,4),(1,-1/2))
0

Tolkning: CAS bekrefter ortogonaliteten.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
AB = sp.Matrix([2,4]); AC = sp.Matrix([1,t])
dot = AB.dot(AC)
sol = sp.solve(sp.Eq(dot,0), t)
print("AB =", list(AB))
print("AC =", list(AC))
print("Skalarprodukt AB·AC =", dot)
print("Ortogonalkrav:", sp.Eq(dot,0))
print("Løsning t =", sol)
print("Kontroll:", dot.subs(t,sol[0]))
Utskrift fra Python:
AB = [2, 4]
AC = [1, t]
Skalarprodukt AB·AC = 4*t + 2
Ortogonalkrav: Eq(4*t + 2, 0)
Løsning t = [-1/2]
Kontroll: 0

Fasit: \(t=-\dfrac12\).

Vanlig feil: Å bruke determinantkriteriet for parallellitet i stedet for skalarproduktet.
Sensorpunkt: Sensor ser etter skalarprodukt lik 0 og en eksplisitt kontroll.
Del 1 - Oppgave 8cVektorer - parallellitet

Oppgave 8c

Oppgave: Bestem \(t\) slik at \(\overrightarrow{AB}\parallel\overrightarrow{AC}\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke at parallelle vektorer er skalar multiplum av hverandre, eller ekvivalent at determinanten er 0.

Steg 1 - Skriv vektorene

\[\overrightarrow{AB}=[2,4],\qquad \overrightarrow{AC}=[1,t].\]

Steg 2 - Sett opp skalarfaktoren

Krev \([1,t]=k[2,4]\).

Steg 3 - Sammenlign første komponent

\[1=2k\Rightarrow k=\frac12.\]

Steg 4 - Sammenlign andre komponent

\[t=4k.\]

Steg 5 - Sett inn k

\[t=4\cdot\frac12=2.\]

Steg 6 - Kontroller forholdet

Når \(t=2\), er \([1,2]=\frac12[2,4]\), så vektorene er parallelle.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[(1,t)=k(2,4),{t,k}]
\(t=2,\ k=1/2\)
2
AreParallel[(2,4),(1,2)]
true

Tolkning: CAS bekrefter parallelliteten.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t, k = sp.symbols("t k", real=True)
AB = sp.Matrix([2,4]); AC = sp.Matrix([1,t])
sol = sp.solve([sp.Eq(1,2*k), sp.Eq(t,4*k)], [t,k], dict=True)
det = sp.Matrix([[2,4],[1,t]]).det()
print("Parallellkrav AC = k*AB")
print("Komponentlikninger: 1=2k og t=4k")
print("Løsning:", sol)
print("Determinant 2*t-4 =", det)
print("Kontroll ved t=2: determinant =", det.subs(t,2))
Utskrift fra Python:
Parallellkrav AC = k*AB
Komponentlikninger: 1=2k og t=4k
Løsning: [{k: 1/2, t: 2}]
Determinant 2*t-4 = 2*t - 4
Kontroll ved t=2: determinant = 0

Fasit: \(t=2\).

Vanlig feil: Å kreve at komponentene er like i stedet for proporsjonale.
Sensorpunkt: Sensor ser etter samme skalarfaktor i begge komponenter.
Del 1 - Oppgave 9aFunksjonsdrøfting - ekstremalpunkter

Oppgave 9a

Oppgave: Funksjonen \(f\) er gitt ved \[f(x)=x^3-3x^2,\qquad x\in\langle-1,4\rangle.\] Bestem eventuelle null-, topp- og bunnpunkter på grafen til \(f\).
Vis løsning

Hva spør oppgaven om? Vi skal finne nullpunktene fra \(f(x)=0\), ekstremalpunktene fra \(f'(x)=0\), og klassifisere dem med fortegn eller andrederivert.

Steg 1 - Faktoriser funksjonen

\[f(x)=x^2(x-3).\]

Steg 2 - Finn nullpunktene

\[x^2(x-3)=0\Rightarrow x=0\ \text{eller}\ x=3.\] Dermed er nullpunktene \((0,0)\) og \((3,0)\).

Steg 3 - Deriver funksjonen

\[f'(x)=3x^2-6x=3x(x-2).\]

Steg 4 - Finn kritiske x-verdier

\[f'(x)=0\Rightarrow x=0\ \text{eller}\ x=2.\]

Steg 5 - Finn andrederiverten

\[f''(x)=6x-6.\]

Steg 6 - Klassifiser x=0

\[f''(0)=-6<0,\] så \((0,0)\) er et toppunkt.

Steg 7 - Klassifiser x=2

\[f''(2)=6>0,\qquad f(2)=8-12=-4,\] så \((2,-4)\) er et bunnpunkt.

Graf av tredjegradsfunksjonen
Grafen med nullpunkter, toppunkt, bunnpunkt og vendetangent.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Factor[x^3-3x^2]
\(x^2(x-3)\)
2
Solve[Derivative[x^3-3x^2,x]=0,x]
\(x=0,2\)
3
Extremum[x^3-3x^2]
\((0,0),(2,-4)\)

Tolkning: CAS bekrefter nullpunktene og ekstremalpunktene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = x**3 - 3*x**2
fp = sp.diff(f,x)
fpp = sp.diff(f,x,2)
critical = sp.solve(sp.Eq(fp,0),x)
roots = sp.solve(sp.Eq(f,0),x)
print("f(x) =", f)
print("f'(x) =", sp.factor(fp))
print("Kritiske x-verdier =", critical)
print("f''(x) =", fpp)
for c in critical:
    print(f"Ved x={c}: f(x)={f.subs(x,c)}, f''(x)={fpp.subs(x,c)}")
print("Nullpunkter =", roots)
Utskrift fra Python:
f(x) = x**3 - 3*x**2
f'(x) = 3*x*(x - 2)
Kritiske x-verdier = [0, 2]
f''(x) = 6*(x - 1)
Ved x=0: f(x)=0, f''(x)=-6
Ved x=2: f(x)=-4, f''(x)=6
Nullpunkter = [0, 3]

Fasit: Nullpunkter: \((0,0)\) og \((3,0)\). Toppunkt: \((0,0)\). Bunnpunkt: \((2,-4)\).

Vanlig feil: Å tro at et dobbelt nullpunkt ikke kan være toppunkt, eller å glemme å beregne y-koordinatene.
Sensorpunkt: Sensor ser etter både nullpunktlikning, derivertlikning og klassifisering av ekstremalpunktene.
Del 1 - Oppgave 9bFunksjonsdrøfting - grafskisse

Oppgave 9b

Oppgave: Tegn en skisse av grafen til \(f\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke nullpunkter, ekstremalpunkter, monotoni og noen støtteverdier for å lage en presis skisse.

Steg 1 - Marker nullpunktene

Grafen går gjennom \((0,0)\) og \((3,0)\). Ved \(x=0\) tangerer grafen x-aksen fordi nullpunktet er dobbelt.

Steg 2 - Marker toppunktet

Toppunktet er \((0,0)\).

Steg 3 - Marker bunnpunktet

Bunnpunktet er \((2,-4)\).

Steg 4 - Bestem monotonien

Fra \(f'(x)=3x(x-2)\) er grafen voksende for \(x\lt0\), avtakende for \(0\lt x\lt2\) og voksende for \(x\gt2\).

Steg 5 - Finn vendepunktet som støtte

\[f''(x)=6x-6=0\Rightarrow x=1,\qquad f(1)=-2.\]

Steg 6 - Beregn endeverdier i intervallet

\[f(-1)=-4,\qquad f(4)=16.\] Endepunktene er ikke med i det åpne intervallet, men verdiene viser retningen på grafen nær grensene.

Steg 7 - Tegn en glatt tredjegradskurve

Kurven skal gå gjennom nøkkelpunktene og ha horisontal tangent ved x=0 og x=2.

Skisse av funksjonsgraf
Den fullstendige grafskissen brukes som visuell kontroll.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
f(x)=x^3-3x^2
2
Point[(0,0)]
3
Point[(2,-4)]
4
Point[(3,0)]

Tolkning: Graftegneren viser samme form og nøkkelpunkter som den analytiske drøftingen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
f = x**3 - 3*x**2
points = [-1,0,1,2,3,4]
print("Nøkkelpunkter for skissen:")
for p in points:
    print(f"f({p}) =", f.subs(x,p))
print("f'(x) =", sp.factor(sp.diff(f,x)))
print("Voksende når x<0 og x>2; avtakende når 0<x<2")
print("Vendepunkt ved x=1, f(1)=-2")
Utskrift fra Python:
Nøkkelpunkter for skissen:
f(-1) = -4
f(0) = 0
f(1) = -2
f(2) = -4
f(3) = 0
f(4) = 16
f'(x) = 3*x*(x - 2)
Voksende når x<0 og x>2; avtakende når 0<x<2
Vendepunkt ved x=1, f(1)=-2

Fasit: En korrekt skisse går gjennom \((0,0)\), \((2,-4)\) og \((3,0)\), med topp ved x=0 og bunn ved x=2.

Vanlig feil: Å tegne grafen som en parabel eller å la den krysse x-aksen ved det doble nullpunktet x=0.
Sensorpunkt: Sensor ser etter riktig form, alle sentrale punkter og korrekt monotoni.
Del 1 - Oppgave 9cVendetangent

Oppgave 9c

Oppgave: Bestem likningen for tangenten i det punktet på grafen der \(x=1\). Forklar hvorfor denne tangenten kalles en «vendetangent».
Vis løsning

Hva spør oppgaven om? Vi skal finne punktet og stigningstallet, skrive tangentlikningen og vise at krumningen skifter ved berøringspunktet.

Steg 1 - Finn punktets y-koordinat

\[f(1)=1-3=-2.\] Punktet er \((1,-2)\).

Steg 2 - Finn den deriverte

\[f'(x)=3x^2-6x.\]

Steg 3 - Finn tangentens stigningstall

\[f'(1)=3-6=-3.\]

Steg 4 - Bruk punkt-stigning-formen

\[y-(-2)=-3(x-1).\]

Steg 5 - Forenkle tangentlikningen

\[y+2=-3x+3\Rightarrow y=-3x+1.\]

Steg 6 - Undersøk andrederiverten

\[f''(x)=6x-6.\] Den er negativ før x=1 og positiv etter x=1.

Steg 7 - Forklar navnet

Grafen skifter fra konkav til konveks i punktet. Tangenten i et vendepunkt kalles derfor en vendetangent.

Vendetangent til grafen
Den gule linjen er tangenten i vendepunktet.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Tangent[1,x^3-3x^2]
\(y=-3x+1\)
2
Derivative[x^3-3x^2,x,2]
6x-6

Tolkning: CAS bekrefter tangenten og at andrederiverten har nullpunkt ved x=1.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
f = x**3 - 3*x**2
fp = sp.diff(f,x); fpp = sp.diff(f,x,2)
x0 = 1; y0 = f.subs(x,x0); m = fp.subs(x,x0)
tangent = sp.expand(m*(x-x0)+y0)
print("f(1) =", y0)
print("f'(x) =", fp)
print("f'(1) =", m)
print("Tangent y =", tangent)
print("f''(x) =", fpp)
print("f''(1) =", fpp.subs(x,1))
print("f'' skifter fortegn fra negativ til positiv ved x=1")
Utskrift fra Python:
f(1) = -2
f'(x) = 3*x**2 - 6*x
f'(1) = -3
Tangent y = 1 - 3*x
f''(x) = 6*(x - 1)
f''(1) = 0
f'' skifter fortegn fra negativ til positiv ved x=1

Fasit: Tangent: \(y=-3x+1\). Den er en vendetangent fordi \(f''\) skifter fortegn ved \(x=1\).

Vanlig feil: Å konkludere med vendepunkt bare fordi \(f(1)=0\), uten å vise fortegnsskifte.
Sensorpunkt: Sensor ser etter korrekt tangentlikning og en eksplisitt begrunnelse for vendepunktet.
Del 1 - Oppgave 10aGeometri og bevis

Oppgave 10a

Oppgave: Den tidligere amerikanske presidenten James A. Garfield (1831-1881) er kjent for sitt bevis av Pytagoras-setningen. På skissen har vi gitt et trapes \(ABCD\). \(AB=EC=b\), \(BE=DC=a\), og \(AE=ED=c\). Forklar hvorfor \(\angle AED=90^{\circ}\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke at de to rettvinklede trekantene har de samme katetlengdene og derfor er kongruente, slik at bestemte spisse vinkler er like.

Steg 1 - Identifiser de rettvinklede trekantene

\(\triangle ABE\) er rettvinklet i B, og \(\triangle DCE\) er rettvinklet i C.

Steg 2 - Sammenlign sidene

I begge trekantene er katetene \(a\) og \(b\), og hypotenusen er \(c\).

Steg 3 - Bruk kongruens

Trekantene er kongruente etter side-side-side, eller etter to kateter i rettvinklede trekanter.

Steg 4 - Knytt sammen spisse vinkler

Vinkelen \(\angle AEB\), som ligger mot siden b, er lik \(\angle CDE\), som også ligger mot siden b.

Steg 5 - Bruk vinkelsummen i trekant DCE

\[\angle CDE+\angle DEC=90^{\circ}.\] Derfor er \(\angle AEB+\angle DEC=90^{\circ}\).

Steg 6 - Bruk den rette linjen BEC

På samme side av linjen BEC gjelder \[\angle AEB+\angle AED+\angle DEC=180^{\circ}.\]

Steg 7 - Trekk fra de to spisse vinklene

\[\angle AED=180^{\circ}-90^{\circ}=90^{\circ}.\]

Garfields trapes
Trapeset er delt i tre rettvinklede trekanter.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
AreCongruent[Triangle(A,B,E),Triangle(D,C,E)]
true
2
Angle[A,E,D]
\(90^{\circ}\)

Tolkning: Den geometriske konstruksjonen bekrefter rettvinkelen, mens beviset forklarer hvorfor.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
alpha, beta = sp.symbols("alpha beta", positive=True)
print("I trekant ABE: vinkel AEB + vinkel BAE = 90 grader")
print("Trekantene ABE og DCE er kongruente med kateter a og b")
print("Dermed er vinkel AEB = vinkel CDE")
print("I trekant DCE: vinkel CDE + vinkel DEC = 90 grader")
print("Altså vinkel AEB + vinkel DEC = 90 grader")
print("På venstre side av den rette linjen B-E-C:")
print("vinkel AEB + vinkel AED + vinkel DEC = 180 grader")
print("Derfor vinkel AED = 90 grader")
Utskrift fra Python:
I trekant ABE: vinkel AEB + vinkel BAE = 90 grader
Trekantene ABE og DCE er kongruente med kateter a og b
Dermed er vinkel AEB = vinkel CDE
I trekant DCE: vinkel CDE + vinkel DEC = 90 grader
Altså vinkel AEB + vinkel DEC = 90 grader
På venstre side av den rette linjen B-E-C:
vinkel AEB + vinkel AED + vinkel DEC = 180 grader
Derfor vinkel AED = 90 grader

Fasit: \(\angle AED=90^{\circ}\).

Vanlig feil: Å påstå at vinkelen er 90 grader bare fordi figuren ser slik ut, uten kongruens- og vinkelargument.
Sensorpunkt: Sensor ser etter et sammenhengende bevis med kongruente trekanter og vinkelsum.
Del 1 - Oppgave 10bArealuttrykk

Oppgave 10b

Oppgave: Bestem uttrykket for arealet av trapeset og arealet av \(\triangle ABE\), \(\triangle DCE\) og \(\triangle AED\) gitt ved \(a\), \(b\) og \(c\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke trapesformelen og trekantformelen. Resultatet fra a viser at trekanten AED er rettvinklet.

Steg 1 - Finn de parallelle sidene

I trapeset er \(AB=b\) og \(DC=a\).

Steg 2 - Finn høyden

Den loddrette siden \(BC=BE+EC=a+b\).

Steg 3 - Beregn trapesarealet

\[A_{ABCD}=\frac{a+b}{2}(a+b)=\frac{(a+b)^2}{2}.\]

Steg 4 - Beregn arealet av ABE

Katetene er a og b: \[A_{ABE}=\frac{ab}{2}.\]

Steg 5 - Beregn arealet av DCE

Også her er katetene a og b: \[A_{DCE}=\frac{ab}{2}.\]

Steg 6 - Beregn arealet av AED

Fra a er vinkelen ved E rett, og begge katetene er c: \[A_{AED}=\frac{c\cdot c}{2}=\frac{c^2}{2}.\]

Steg 7 - Kontroller oppdelingen

De tre trekantene fyller hele trapeset uten overlapp.

Arealoppdeling i Garfield-beviset
Trapesarealet er summen av de tre trekantarealene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
TrapezoidArea=(a+b)(a+b)/2
\((a+b)^2/2\)
2
TriangleArea[a,b]
ab/2
3
TriangleArea[c,c]
\(c^2/2\)

Tolkning: CAS samler arealuttrykkene korrekt.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a,b,c = sp.symbols("a b c", positive=True)
A_trap = (a+b)*(a+b)/2
A_ABE = a*b/2
A_DCE = a*b/2
A_AED = c**2/2
print("Høyden i trapeset = a+b")
print("Parallelle sider = a og b")
print("Areal trapes =", sp.expand(A_trap))
print("Areal trekant ABE =", A_ABE)
print("Areal trekant DCE =", A_DCE)
print("Areal trekant AED =", A_AED)
print("Sum trekantarealer =", sp.simplify(A_ABE+A_DCE+A_AED))
Utskrift fra Python:
Høyden i trapeset = a+b
Parallelle sider = a og b
Areal trapes = a**2/2 + a*b + b**2/2
Areal trekant ABE = a*b/2
Areal trekant DCE = a*b/2
Areal trekant AED = c**2/2
Sum trekantarealer = a*b + c**2/2

Fasit: \(A_{ABCD}=\dfrac{(a+b)^2}{2}\), \(A_{ABE}=A_{DCE}=\dfrac{ab}{2}\), og \(A_{AED}=\dfrac{c^2}{2}\).

Vanlig feil: Å bruke \(a+b\) som en av de parallelle sidene i stedet for som høyde.
Sensorpunkt: Sensor ser etter riktig identifisering av baser, høyde og kateter.
Del 1 - Oppgave 10cBevis - Pytagoras-setningen

Oppgave 10c

Oppgave: Bruk b) til å bevise Pytagoras-setningen.
Vis løsning

Hva spør oppgaven om? Vi skal sette trapesarealet lik summen av trekantarealene og omforme likningen uten å hoppe over algebraiske steg.

Steg 1 - Sett opp areallikningen

\[\frac{(a+b)^2}{2}=\frac{ab}{2}+\frac{ab}{2}+\frac{c^2}{2}.\]

Steg 2 - Samle de to like trekantarealene

\[\frac{(a+b)^2}{2}=ab+\frac{c^2}{2}.\]

Steg 3 - Multipliser med 2

\[(a+b)^2=2ab+c^2.\]

Steg 4 - Utvid kvadratet

\[a^2+2ab+b^2=2ab+c^2.\]

Steg 5 - Trekk fra 2ab på begge sider

\[a^2+b^2=c^2.\]

Steg 6 - Knytt symbolene til trekanten

a og b er katetene i de rettvinklede trekantene, mens c er hypotenusen.

Steg 7 - Konkluder

Dermed er Pytagoras-setningen bevist: \(a^2+b^2=c^2\).

Garfields bevis
Arealoppdelingen gir direkte Pytagoras-identiteten.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Simplify[(a+b)^2/2-(ab+c^2/2)]
\((a^2+b^2-c^2)/2\)
2
Solve[(a+b)^2/2=ab+c^2/2,c^2]
\(c^2=a^2+b^2\)

Tolkning: CAS viser at areallikningen er ekvivalent med Pytagoras-setningen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a,b,c = sp.symbols("a b c")
left = (a+b)**2/2
right = a*b/2 + a*b/2 + c**2/2
identity = sp.expand(2*sp.Eq(left,right).lhs - 2*sp.Eq(left,right).rhs)
print("Arealidentitet:")
print("(a+b)^2/2 = ab/2 + ab/2 + c^2/2")
print("Gang med 2:")
print("(a+b)^2 = 2ab + c^2")
print("Utvid venstresiden:")
print("a^2 + 2ab + b^2 = 2ab + c^2")
print("Trekk fra 2ab:")
print("a^2 + b^2 = c^2")
print("Symbolsk differanse etter forenkling =", sp.expand((a+b)**2-(2*a*b+c**2)))
Utskrift fra Python:
Arealidentitet:
(a+b)^2/2 = ab/2 + ab/2 + c^2/2
Gang med 2:
(a+b)^2 = 2ab + c^2
Utvid venstresiden:
a^2 + 2ab + b^2 = 2ab + c^2
Trekk fra 2ab:
a^2 + b^2 = c^2
Symbolsk differanse etter forenkling = a**2 + b**2 - c**2

Fasit: \(a^2+b^2=c^2\).

Vanlig feil: Å skrive sluttresultatet uten å vise at arealene faktisk dekker samme trapes, eller å miste faktoren 1/2.
Sensorpunkt: Sensor ser etter en balansert areallikning, alle algebraiske overganger og en konklusjonssetning.
Del 1 - Oppgave 11Sirkel - fullføre kvadratet

Oppgave 11

Oppgave: En sirkel er gitt ved likningen \[x^2+y^2-4x+6y-12=0.\] Bestem sentrum og radius i sirkelen.
Vis løsning

Hva spør oppgaven om? Vi skal fullføre kvadratet i x- og y-leddene og sammenligne med standardformen \((x-a)^2+(y-b)^2=r^2\).

Steg 1 - Samle x- og y-leddene

\[(x^2-4x)+(y^2+6y)=12.\]

Steg 2 - Fullfør x-kvadratet

\[x^2-4x=(x-2)^2-4.\]

Steg 3 - Fullfør y-kvadratet

\[y^2+6y=(y+3)^2-9.\]

Steg 4 - Sett inn i likningen

\[(x-2)^2-4+(y+3)^2-9=12.\]

Steg 5 - Flytt konstantene

\[(x-2)^2+(y+3)^2=25.\]

Steg 6 - Les av sentrum

Standardformen gir sentrum \(S=(2,-3)\).

Steg 7 - Les av radius

\[r=\sqrt{25}=5.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
CompleteSquare[x^2+y^2-4x+6y-12,{x,y}]
\((x-2)^2+(y+3)^2-25\)
2
Center[ImplicitCurve[x^2+y^2-4x+6y-12=0]]
(2,-3)

Tolkning: CAS bekrefter standardformen, sentrum og radius.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x,y = sp.symbols("x y")
expr = x**2 + y**2 - 4*x + 6*y - 12
completed = (x-2)**2 + (y+3)**2 - 25
print("Opprinnelig venstreside =", expr)
print("x^2-4x = (x-2)^2-4")
print("y^2+6y = (y+3)^2-9")
print("Fullført kvadrat =", sp.expand(completed))
print("Sirkelstandardform: (x-2)^2+(y+3)^2=25")
print("Sentrum = (2,-3)")
print("Radius =", sp.sqrt(25))
Utskrift fra Python:
Opprinnelig venstreside = x**2 - 4*x + y**2 + 6*y - 12
x^2-4x = (x-2)^2-4
y^2+6y = (y+3)^2-9
Fullført kvadrat = x**2 - 4*x + y**2 + 6*y - 12
Sirkelstandardform: (x-2)^2+(y+3)^2=25
Sentrum = (2,-3)
Radius = 5

Fasit: Sentrum \((2,-3)\) og radius \(5\).

Vanlig feil: Å lese y-koordinaten som 3 i stedet for -3; standardformen har \((y-(-3))^2=(y+3)^2\).
Sensorpunkt: Sensor ser etter korrekt kvadratfullføring og avlesning fra standardformen.
Del 1 - Oppgave 12aInnsirkel og tangentsegmenter

Oppgave 12a

Oppgave: I en rettvinklet \(\triangle ABC\) er det innskrevet en sirkel med radius \(r\). Trekantens sider tangerer sirkelen i \(D\), \(E\) og \(F\). Vi setter \(BE=\alpha\) og \(EC=\beta\). Forklar at \(CF=\beta\) og \(BD=\alpha\), og at arealet av trekanten \(ABC\) er gitt ved \[A_{ABC}=(\alpha+\beta)\cdot r+r^2.\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke at tangentsegmenter fra samme ytre punkt er like, og deretter summere arealene av tre trekanter med høyde r eller bruke innradiusformelen.

Steg 1 - Bruk tangentsetningen ved B

Fra punkt B går tangentene BD og BE til samme sirkel. Derfor \[BD=BE=\alpha.\]

Steg 2 - Bruk tangentsetningen ved C

Fra punkt C går tangentene CF og CE. Derfor \[CF=CE=\beta.\]

Steg 3 - Finn tangentsegmentene fra A

Siden vinkelen A er \(90^{\circ}\) og sentrum ligger r fra begge kateter, er \(AD=AF=r\).

Steg 4 - Finn sidelengdene

\[AB=\alpha+r,\quad AC=\beta+r,\quad BC=\alpha+\beta.\]

Steg 5 - Finn halv omkrets

\[s=\frac{AB+AC+BC}{2}=\frac{2\alpha+2\beta+2r}{2}=\alpha+\beta+r.\]

Steg 6 - Bruk arealformelen med innradius

Arealet av en trekant er \(A=rs\), fordi trekanten deles i tre trekanter med høyde r.

Steg 7 - Sett inn s

\[A_{ABC}=r(\alpha+\beta+r)=(\alpha+\beta)r+r^2.\]

Rettvinklet trekant med innsirkel
Tangentpunktene viser de like tangentsegmentene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
BD=BE
alpha
2
CF=CE
beta
3
s=((alpha+r)+(beta+r)+(alpha+beta))/2
\(\alpha+\beta+r\)
4
A=r*s
\((\alpha+\beta)r+r^2\)

Tolkning: CAS forenkler halv omkrets og areal til de oppgitte uttrykkene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
alpha,beta,r = sp.symbols("alpha beta r", positive=True)
perimeter = (alpha+r)+(beta+r)+(alpha+beta)
area = sp.simplify(r*perimeter/2)
print("Tangentsegmenter fra B: BD=BE=alpha")
print("Tangentsegmenter fra C: CF=CE=beta")
print("Fra A i den rette vinkelen: AD=AF=r")
print("Sider: AB=alpha+r, AC=beta+r, BC=alpha+beta")
print("Halv omkrets =", sp.simplify(perimeter/2))
print("Areal = r * halv omkrets =", area)
Utskrift fra Python:
Tangentsegmenter fra B: BD=BE=alpha
Tangentsegmenter fra C: CF=CE=beta
Fra A i den rette vinkelen: AD=AF=r
Sider: AB=alpha+r, AC=beta+r, BC=alpha+beta
Halv omkrets = alpha + beta + r
Areal = r * halv omkrets = r*(alpha + beta + r)

Fasit: \(BD=\alpha\), \(CF=\beta\), og \(A_{ABC}=(\alpha+\beta)r+r^2\).

Vanlig feil: Å anta AD=r uten å knytte det til den rette vinkelen, eller å bruke hele omkretsen i stedet for halv omkrets.
Sensorpunkt: Sensor ser etter tangentsegmentsetningen og en tydelig arealutledning.
Del 1 - Oppgave 12bBevis med Pytagoras

Oppgave 12b

Oppgave: Pytagoras-setningen brukt på \(\triangle ABC\) gir at \[(\alpha+r)^2+(\beta+r)^2=(\alpha+\beta)^2.\] Vis at denne likningen kan omformes til \[r^2+(\alpha+\beta)r=\alpha\beta\] og videre at \[A_{ABC}=\alpha\beta.\]
Vis løsning

Hva spør oppgaven om? Vi skal utvide begge kvadratene, samle ledd og deretter sette den nye identiteten inn i arealformelen fra a.

Steg 1 - Utvid første kvadrat

\[(\alpha+r)^2=\alpha^2+2\alpha r+r^2.\]

Steg 2 - Utvid andre kvadrat

\[(\beta+r)^2=\beta^2+2\beta r+r^2.\]

Steg 3 - Utvid høyresiden

\[(\alpha+\beta)^2=\alpha^2+2\alpha\beta+\beta^2.\]

Steg 4 - Sett alt inn og stryk like ledd

Etter at \(\alpha^2\) og \(\beta^2\) strykes, får vi \[2\alpha r+2\beta r+2r^2=2\alpha\beta.\]

Steg 5 - Divider med 2

\[\alpha r+\beta r+r^2=\alpha\beta.\]

Steg 6 - Faktoriser r-leddene

\[r^2+(\alpha+\beta)r=\alpha\beta.\]

Steg 7 - Bruk arealformelen

Fra a er \(A_{ABC}=r^2+(\alpha+\beta)r\). Venstresiden er derfor akkurat arealet, så \[A_{ABC}=\alpha\beta.\]

Innsirkelbevis
Figuren støtter sammenhengen mellom sidelengdene og innradiusen.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Expand[(alpha+r)^2+(beta+r)^2-(alpha+beta)^2]
\(2(r^2+(\alpha+\beta)r-\alpha\beta)\)
2
Solve[r^2+(alpha+beta)r=alpha*beta,r^2+(alpha+beta)r]
\(\alpha\beta\)

Tolkning: CAS bekrefter den algebraiske identiteten.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
alpha,beta,r = sp.symbols("alpha beta r")
left = (alpha+r)**2 + (beta+r)**2
right = (alpha+beta)**2
diff = sp.expand(left-right)
reduced = sp.factor(diff/2)
area = (alpha+beta)*r+r**2
print("Pytagoras venstre minus høyre =", diff)
print("Divider med 2 =", reduced)
print("Likningen gir r^2+(alpha+beta)r-alpha*beta=0")
print("Dermed r^2+(alpha+beta)r = alpha*beta")
print("Arealuttrykk =", area)
print("Etter innsetting fra likningen: areal = alpha*beta")
Utskrift fra Python:
Pytagoras venstre minus høyre = -2*alpha*beta + 2*alpha*r + 2*beta*r + 2*r**2
Divider med 2 = -alpha*beta + alpha*r + beta*r + r**2
Likningen gir r^2+(alpha+beta)r-alpha*beta=0
Dermed r^2+(alpha+beta)r = alpha*beta
Arealuttrykk = r**2 + r*(alpha + beta)
Etter innsetting fra likningen: areal = alpha*beta

Fasit: \(r^2+(\alpha+\beta)r=\alpha\beta\), og dermed \(A_{ABC}=\alpha\beta\).

Vanlig feil: Å stryke ledd som ikke står på begge sider, eller å glemme faktoren 2 før divisjon.
Sensorpunkt: Sensor ser etter hvert algebraisk steg og en eksplisitt kobling til arealformelen fra a.
Del 1 - Oppgave 12cLikning og geometrisk tolkning

Oppgave 12c

Oppgave: Vi setter \(\alpha=3\) og \(\beta=2\). Bestem \(A_{ABC}\) og \(r\).
Vis løsning

Hva spør oppgaven om? Vi skal bruke arealformelen fra b og løse andregradslikningen for radiusen. En radius må være positiv.

Steg 1 - Beregn arealet direkte

\[A_{ABC}=\alpha\beta=3\cdot2=6.\]

Steg 2 - Sett verdiene inn i radiuslikningen

\[r^2+(3+2)r=3\cdot2.\]

Steg 3 - Skriv på standardform

\[r^2+5r-6=0.\]

Steg 4 - Faktoriser

\[r^2+5r-6=(r+6)(r-1).\]

Steg 5 - Finn de algebraiske løsningene

\[r=-6\quad\text{eller}\quad r=1.\]

Steg 6 - Bruk den geometriske betingelsen

En radius kan ikke være negativ, så \(r=-6\) forkastes.

Steg 7 - Oppgi begge svar med enheter

\[A_{ABC}=6\ \text{arealenheter},\qquad r=1\ \text{lengdeenhet}.\]

Numerisk eksempel med innsirkel
Figuren er tegnet med alpha=3, beta=2 og r=1.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
3*2
6
2
Solve[r^2+5r=6,r]
\(r=-6,1\)

Tolkning: CAS gir to algebraiske røtter; geometrien velger r=1.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
r = sp.symbols("r", real=True)
alpha = sp.Integer(3); beta = sp.Integer(2)
area = alpha*beta
eq = sp.Eq(r**2 + (alpha+beta)*r, alpha*beta)
roots = sp.solve(eq,r)
print("alpha =", alpha, "beta =", beta)
print("Areal A = alpha*beta =", area)
print("Radiuslikning:", eq)
print("Faktorisert venstreside etter flytting =", sp.factor(r**2+5*r-6))
print("Løsninger for r =", roots)
print("Gyldig radius er den positive løsningen r = 1")
Utskrift fra Python:
alpha = 3 beta = 2
Areal A = alpha*beta = 6
Radiuslikning: Eq(r**2 + 5*r, 6)
Faktorisert venstreside etter flytting = (r - 1)*(r + 6)
Løsninger for r = [-6, 1]
Gyldig radius er den positive løsningen r = 1

Fasit: \(A_{ABC}=6\) og \(r=1\).

Vanlig feil: Å beholde den negative roten som en mulig radius.
Sensorpunkt: Sensor ser etter både arealet, hele likningsløsningen og begrunnet forkasting av negativ rot.

Del 2 - med hjelpemidler

Del 2 - Oppgave 1Rasjonal funksjon - asymptoter og kontinuitet

Oppgave 1

Oppgave: Bruk CAS til å skrive funksjonsuttrykket enklere, og tegn grafen til \(f\) med alle asymptoter \[f(x)=\frac{2x+10}{x^2-25}+\frac{x}{x+5}-\frac{2}{x-5}.\] Bestem hvor funksjonen er deriverbar og kontinuerlig.
Vis løsning

Hva spør oppgaven om? Vi skal forenkle uttrykket uten å miste den opprinnelige definisjonsmengden, finne asymptotene og identifisere et eventuelt hull.

Steg 1 - Faktoriser første nevner

\[x^2-25=(x-5)(x+5),\qquad 2x+10=2(x+5).\]

Steg 2 - Forenkle første brøk med domeneadvarsel

For \(x\neq-5\): \[\frac{2(x+5)}{(x-5)(x+5)}=\frac{2}{x-5}.\] Men x=-5 forblir utelukket fra den opprinnelige funksjonen.

Steg 3 - Kanseller de motsatte leddene

\[\frac{2}{x-5}-\frac{2}{x-5}=0.\] Derfor \[f(x)=\frac{x}{x+5}.\]

Steg 4 - Bevar hele definisjonsmengden

Den opprinnelige funksjonen har nevner 0 ved både \(x=-5\) og \(x=5\): \[D_f=\mathbb R\setminus\{-5,5\}.\]

Steg 5 - Finn asymptotene

Skriv \(x/(x+5)=1-5/(x+5)\). Da er \(x=-5\) vertikal asymptote og \(y=1\) horisontal asymptote.

Steg 6 - Finn hullet

Ved \(x=5\) er funksjonen ikke definert, men grenseverdien er \[\frac{5}{10}=\frac12.\] Grafen har et hull i \((5,1/2)\).

Steg 7 - Bestem kontinuitet og deriverbarhet

En rasjonal funksjon er kontinuerlig og deriverbar der den er definert. Derfor gjelder begge deler på \(( -\infty,-5)\cup(-5,5)\cup(5,\infty)\).

Rasjonal funksjon med asymptoter
Den åpne sirkelen markerer den fjernbare diskontinuiteten ved x=5.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Simplify[(2x+10)/(x^2-25)+x/(x+5)-2/(x-5)]
\(x/(x+5)\)
2
Asymptote[x/(x+5)]
\(x=-5,\ y=1\)
3
Limit[f,x,5]
\(1/2\)

Tolkning: CAS forenkler uttrykket; grafen må fortsatt vise hullet som følger av originaldomenet.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x")
f = (2*x+10)/(x**2-25) + x/(x+5) - 2/(x-5)
print("Opprinnelig f(x) =", f)
print("Faktoriser x^2-25 =", sp.factor(x**2-25))
print("Første brøk forenkles til 2/(x-5), men x=-5 er fortsatt utelukket")
print("Samlet og forenklet f(x) =", sp.cancel(f))
print("Alternativ form =", sp.apart(sp.cancel(f)))
print("Derivert av forenklet uttrykk =", sp.diff(x/(x+5),x))
print("Opprinnelig definisjonsmengde: R uten {-5,5}")
print("Hullverdi ved x=5:", sp.limit(f,x,5))
Utskrift fra Python:
Opprinnelig f(x) = x/(x + 5) + (2*x + 10)/(x**2 - 25) - 2/(x - 5)
Faktoriser x^2-25 = (x - 5)*(x + 5)
Første brøk forenkles til 2/(x-5), men x=-5 er fortsatt utelukket
Samlet og forenklet f(x) = x/(x + 5)
Alternativ form = 1 - 5/(x + 5)
Derivert av forenklet uttrykk = -x/(x + 5)**2 + 1/(x + 5)
Opprinnelig definisjonsmengde: R uten {-5,5}
Hullverdi ved x=5: 1/2

Fasit: \(f(x)=\dfrac{x}{x+5}\) med opprinnelig domene \(\mathbb R\setminus\{-5,5\}\). Asymptoter: \(x=-5\) og \(y=1\). Hull: \((5,1/2)\). Funksjonen er kontinuerlig og deriverbar på domenet sitt.

Vanlig feil: Å oppgi domenet som bare \(x eq-5\) etter forkorting og dermed glemme hullet ved x=5.
Sensorpunkt: Sensor ser særlig etter at opprinnelig domene bevares, og at både asymptoter og hull markeres.
Del 2 - Oppgave 2Sirkelgeometri - Pytagoras

Oppgave 2

Oppgave: Figuren ovenfor er fra en leirtavle fra Mesopotamia (ca. 1 700 f.Kr.). Babylonerne regnet ut radius \(r\) i sirkelen ovenfor ved å bruke Pytagoras-setningen. Dette er trolig verdens eldste bruk av Pytagoras-setningen, ca. 1 200 år før Pytagoras selv levde! Bestem radius \(r\) i sirkelen ved hjelp av Pytagoras-setningen.
Vis løsning

Hva spør oppgaven om? Vi skal dele den likebeinte trekanten i to, finne høyden og deretter bruke en rettvinklet trekant med radius som hypotenus.

Steg 1 - Halver grunnlinjen

Korden AB er 60, så halvdelen er \(30\). Høyden fra C går gjennom midtpunktet M.

Steg 2 - Finn trekantens høyde

I den halve trekanten er hypotenusen 50: \[CM=\sqrt{50^2-30^2}=\sqrt{2500-900}=40.\]

Steg 3 - Plasser sentrum O

Punktene C, O og M ligger på samme linje. Siden \(OC=r\), er \(OM=CM-OC=40-r\).

Steg 4 - Bruk Pytagoras i trekant OMA

\[OA^2=OM^2+AM^2.\] Her er \(OA=r\), \(OM=40-r\) og \(AM=30\).

Steg 5 - Sett inn lengdene

\[r^2=(40-r)^2+30^2.\]

Steg 6 - Utvid og forenkle

\[r^2=1600-80r+r^2+900\Rightarrow80r=2500.\]

Steg 7 - Løs for radiusen

\[r=\frac{2500}{80}=31{,}25.\]

Sirkel og korde
Høyden gjennom korden danner den rettvinklede trekanten som brukes i løsningen.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
sqrt(50^2-30^2)
40
2
Solve[r^2=(40-r)^2+30^2,r]
\(r=125/4=31{,}25\)

Tolkning: CAS løser den geometriske Pytagoraslikningen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
r = sp.symbols("r", positive=True)
half_chord = sp.Integer(30)
side = sp.Integer(50)
height = sp.sqrt(side**2-half_chord**2)
print("Halv korde =", half_chord)
print("Høyde i den likebeinte trekanten = sqrt(50^2-30^2) =", height)
print("Avstand fra sentrum til korden = 40-r")
eq = sp.Eq(r**2, half_chord**2 + (height-r)**2)
print("Pytagoraslikning:", eq)
print("Utvidet likning:", sp.expand(eq.lhs-eq.rhs), "= 0")
print("Løsning r =", sp.solve(eq,r))
Utskrift fra Python:
Halv korde = 30
Høyde i den likebeinte trekanten = sqrt(50^2-30^2) = 40
Avstand fra sentrum til korden = 40-r
Pytagoraslikning: Eq(r**2, (40 - r)**2 + 900)
Utvidet likning: 80*r - 2500 = 0
Løsning r = [125/4]

Fasit: \(r=31{,}25\).

Vanlig feil: Å bruke hele korden 60 som katet i den rettvinklede trekanten; kateten er halv korde, 30.
Sensorpunkt: Sensor ser etter konstruksjon av midtpunkt/høyde og riktig Pytagoraslikning.
Del 2 - Oppgave 3aBetinget sannsynlighet

Oppgave 3a

Oppgave: På en skole går det 60 % gutter og 40 % jenter. Alle guttene går med bukser. Halvparten av jentene går med bukser, mens den andre halvparten går med skjørt. Vi definerer to hendelser: \(J\): Eleven er en jente. \(B\): Eleven går med bukse. Bestem sannsynlighetene \(P(B\mid J)\) og \(P(B)\).
Vis løsning

Hva spør oppgaven om? Vi skal lese den betingede sannsynligheten direkte og bruke total sannsynlighet for alle elever som går med bukser.

Steg 1 - Oversett prosentene

\[P(J)=0{,}40,\qquad P(G)=0{,}60.\]

Steg 2 - Finn den betingede sannsynligheten

Halvparten av jentene går med bukse: \[P(B\mid J)=0{,}50.\]

Steg 3 - Finn sannsynligheten for bukse blant gutter

Alle gutter går med bukse: \[P(B\mid G)=1.\]

Steg 4 - Bruk total sannsynlighet

\[P(B)=P(B\mid J)P(J)+P(B\mid G)P(G).\]

Steg 5 - Sett inn tallene

\[P(B)=0{,}50\cdot0{,}40+1\cdot0{,}60.\]

Steg 6 - Regn delbidragene

\[0{,}50\cdot0{,}40=0{,}20,\qquad1\cdot0{,}60=0{,}60.\]

Steg 7 - Summer

\[P(B)=0{,}20+0{,}60=0{,}80.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
P(B|J)
0.5
2
0.5*0.4+1*0.6
0.8

Tolkning: CAS bekrefter sannsynlighetene.

Python-kontroll med SymPy

Python 3 - SymPy
from fractions import Fraction
P_J = Fraction(2,5)
P_G = Fraction(3,5)
P_B_given_J = Fraction(1,2)
P_B_given_G = Fraction(1,1)
P_B = P_B_given_J*P_J + P_B_given_G*P_G
print("P(J) =", P_J)
print("P(G) =", P_G)
print("P(B|J) =", P_B_given_J)
print("P(B|G) =", P_B_given_G)
print("Total sannsynlighet P(B) = P(B|J)P(J)+P(B|G)P(G)")
print("P(B) =", P_B, "=", float(P_B))
Utskrift fra Python:
P(J) = 2/5
P(G) = 3/5
P(B|J) = 1/2
P(B|G) = 1
Total sannsynlighet P(B) = P(B|J)P(J)+P(B|G)P(G)
P(B) = 4/5 = 0.8

Fasit: \(P(B\mid J)=0{,}50\) og \(P(B)=0{,}80\).

Vanlig feil: Å bruke 40 % som P(B|J); 40 % er andelen jenter i hele skolen.
Sensorpunkt: Sensor ser etter korrekt betinget sannsynlighet og total-sannsynlighetsformel.
Del 2 - Oppgave 3bBayes-setningen

Oppgave 3b

Oppgave: Bestem sannsynligheten \(P(J\mid B)\).
Vis løsning

Hva spør oppgaven om? Vi skal finne andelen jenter blant dem som går med bukse ved å bruke definisjonen av betinget sannsynlighet eller Bayes-setningen.

Steg 1 - Skriv definisjonen

\[P(J\mid B)=\frac{P(J\cap B)}{P(B)}.\]

Steg 2 - Finn snittsannsynligheten

\[P(J\cap B)=P(B\mid J)P(J).\]

Steg 3 - Sett inn kjente verdier

\[P(J\cap B)=0{,}50\cdot0{,}40=0{,}20.\]

Steg 4 - Bruk P(B) fra a

\[P(B)=0{,}80.\]

Steg 5 - Sett opp brøken

\[P(J\mid B)=\frac{0{,}20}{0{,}80}.\]

Steg 6 - Regn ut

\[P(J\mid B)=0{,}25.\]

Steg 7 - Tolk svaret

Blant elever som går med bukse, er 25 % jenter.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Bayes: (0.5*0.4)/0.8
0.25

Tolkning: CAS bekrefter Bayes-beregningen.

Python-kontroll med SymPy

Python 3 - SymPy
from fractions import Fraction
P_J = Fraction(2,5)
P_B_given_J = Fraction(1,2)
P_B = Fraction(4,5)
intersection = P_B_given_J*P_J
posterior = intersection/P_B
print("P(J) =", P_J)
print("P(B|J) =", P_B_given_J)
print("P(B) =", P_B)
print("P(J og B) = P(B|J)*P(J) =", intersection)
print("Bayes: P(J|B) = P(J og B)/P(B)")
print("P(J|B) =", posterior, "=", float(posterior))
Utskrift fra Python:
P(J) = 2/5
P(B|J) = 1/2
P(B) = 4/5
P(J og B) = P(B|J)*P(J) = 1/5
Bayes: P(J|B) = P(J og B)/P(B)
P(J|B) = 1/4 = 0.25

Fasit: \(P(J\mid B)=0{,}25=25\%\).

Vanlig feil: Å snu den betingede sannsynligheten og bruke P(B|J)=0,5 som svar.
Sensorpunkt: Sensor ser etter korrekt teller P(J∩B), riktig nevner P(B) og en tolkning.
Del 2 - Oppgave 4aModellering - geometri

Oppgave 4a

Oppgave: En drake har målene 5,0 dm og 12,0 dm. Se figuren nedenfor. Vis at arealet av draken kan beskrives ved funksjonen \(A\) gitt ved \[A(x)=x\left(\sqrt{25-x^2}+\sqrt{144-x^2}\right).\]
Vis løsning

Hva spør oppgaven om? Vi skal bruke Pytagoras i de øvre og nedre rettvinklede deltrekantene og arealformelen for en drage med vinkelrette diagonaler.

Steg 1 - Identifiser diagonalene

Den vannrette diagonalen består av to like deler x og er derfor \(2x\). Den loddrette diagonalen har lengde h.

Steg 2 - Finn øvre del av høyden

I den øvre trekanten er hypotenusen 5: \[x^2+y^2=5^2\Rightarrow y=\sqrt{25-x^2}.\]

Steg 3 - Finn nedre del av høyden

I den nedre trekanten er hypotenusen 12: \[x^2+(h-y)^2=12^2\Rightarrow h-y=\sqrt{144-x^2}.\]

Steg 4 - Finn hele høyden

\[h=y+(h-y)=\sqrt{25-x^2}+\sqrt{144-x^2}.\]

Steg 5 - Bruk arealformelen for vinkelrette diagonaler

\[A=\frac12 d_1d_2=\frac12(2x)h.\]

Steg 6 - Forkort faktoren 2

\[A=xh.\]

Steg 7 - Sett inn h

\[A(x)=x\left(\sqrt{25-x^2}+\sqrt{144-x^2}\right).\]

Drake med diagonaler
De vinkelrette diagonalene deler draken i fire rettvinklede trekanter.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
y=sqrt(25-x^2)
2
h-y=sqrt(144-x^2)
3
Simplify[(1/2)*(2x)*(y+(h-y))]
\(x(\sqrt{25-x^2}+\sqrt{144-x^2})\)

Tolkning: CAS forenkler arealmodellen til det oppgitte uttrykket.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", positive=True)
y = sp.sqrt(25-x**2)
lower = sp.sqrt(144-x**2)
h = y+lower
A = sp.simplify(x*h)
print("Øvre høyde y =", y)
print("Nedre høyde h-y =", lower)
print("Hele vertikale diagonal h =", h)
print("Horisontal diagonal = 2x")
print("Areal = (1/2)*(2x)*h =", A)
Utskrift fra Python:
Øvre høyde y = sqrt(25 - x**2)
Nedre høyde h-y = sqrt(144 - x**2)
Hele vertikale diagonal h = sqrt(25 - x**2) + sqrt(144 - x**2)
Horisontal diagonal = 2x
Areal = (1/2)*(2x)*h = x*(sqrt(25 - x**2) + sqrt(144 - x**2))

Fasit: \(A(x)=x(\sqrt{25-x^2}+\sqrt{144-x^2})\), med \(0\leq x\leq5\).

Vanlig feil: Å bruke 5 og 12 som diagonalene; de er sidelengdene i de rettvinklede deltrekantene.
Sensorpunkt: Sensor ser etter begge Pytagoras-utledningene og korrekt diagonalareal.
Del 2 - Oppgave 4bOptimering med graftegner

Oppgave 4b

Oppgave: Bruk graftegner til å bestemme det største arealet draken kan ha.
Vis løsning

Hva spør oppgaven om? Vi skal tegne arealfunksjonen på dens geometriske definisjonsintervall og bruke ekstremalpunktverktøyet til å finne maksimum.

Steg 1 - Bestem intervallet

Kvadratroten \(\sqrt{25-x^2}\) krever \(0\leq x\leq5\).

Steg 2 - Skriv inn funksjonen i graftegneren

\[A(x)=x(\sqrt{25-x^2}+\sqrt{144-x^2}).\]

Steg 3 - Avgrens grafvinduet

Bruk for eksempel \(0\leq x\leq5\) og \(0\leq A\leq65\).

Steg 4 - Finn toppunktet digitalt

Graftegneren gir maksimum ved omtrent \(x=4{,}615\).

Steg 5 - Les av maksimalverdien

Ved dette punktet er \[A\approx60{,}0.\]

Steg 6 - Kontroller eksakt verdi

Den kritiske x-verdien er \(x=60/13\). Da blir de vertikale delene \(25/13\) og \(144/13\), med sum 13.

Steg 7 - Regn arealet eksakt

\[A=\frac{60}{13}\cdot13=60\ \text{dm}^2.\]

Optimal drake
Figuren er vist ved den optimale x-verdien 60/13.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
A(x)=x(sqrt(25-x^2)+sqrt(144-x^2))
2
Extremum[A,0,5]
\((4{,}615\ldots,60)\)

Tolkning: Graftegneren viser et entydig globalt maksimum på intervallet.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
A = x*(sp.sqrt(25-x**2)+sp.sqrt(144-x**2))
dA = sp.diff(A,x)
critical = sp.nsolve(dA, 4.5)
exact = sp.Rational(60,13)
print("A(x) =", A)
print("Definisjonsintervall: 0 <= x <= 5")
print("A'(x) =", dA)
print("Numerisk kritisk punkt x =", critical)
print("Eksakt x =", exact)
print("A(60/13) =", sp.simplify(A.subs(x,exact)))
print("A(0) =", A.subs(x,0))
print("A(5) =", sp.N(A.subs(x,5),12))
print("Største areal = 60 dm^2")
Utskrift fra Python:
A(x) = x*(sqrt(25 - x**2) + sqrt(144 - x**2))
Definisjonsintervall: 0 <= x <= 5
A'(x) = x*(-x/sqrt(144 - x**2) - x/sqrt(25 - x**2)) + sqrt(25 - x**2) + sqrt(144 - x**2)
Numerisk kritisk punkt x = 4.61538461538461
Eksakt x = 60/13
A(60/13) = 60
A(0) = 0
A(5) = 54.5435605732
Største areal = 60 dm^2

Fasit: Det største arealet er \(60\ \text{dm}^2\), ved \(x\approx4{,}615\ \text{dm}\).

Vanlig feil: Å søke etter maksimum uten å begrense x til det geometrisk gyldige intervallet.
Sensorpunkt: Sensor ser etter graf/ekstremalpunkt, riktig enhet og en rimelig kontroll av maksimumet.
Del 2 - Oppgave 5aVektorfunksjon - landingstid

Oppgave 5a

Oppgave: Posisjonen til et fly A og posisjonen til et fly B beskrives av vektorfunksjonene \[\vec a(t)=[70t+2,\ 140t^2],\qquad t\in[0,t_1],\] \[\vec b(t)=[-204t+17,\ 432t^2-72t+3],\qquad t\in[0,t_1].\] Fly A skal lette, mens fly B skal lande ved tidspunkt \(t_1\). Tiden måles i timer, og alle avstander måles i kilometer. Bestem tidspunktet \(t_1\) for når fly B lander.
Vis løsning

Hva spør oppgaven om? Fly B lander når høydekomponenten, altså andre koordinat i \(\vec b(t)\), er 0.

Steg 1 - Velg høydekomponenten

\[y_B(t)=432t^2-72t+3.\]

Steg 2 - Sett høyden lik null

\[432t^2-72t+3=0.\]

Steg 3 - Forenkle ved å dele med 3

\[144t^2-24t+1=0.\]

Steg 4 - Gjenkjenn et fullstendig kvadrat

\[144t^2-24t+1=(12t-1)^2.\]

Steg 5 - Løs likningen

\[(12t-1)^2=0\Rightarrow12t-1=0.\]

Steg 6 - Finn tiden i timer

\[t_1=\frac1{12}\ \text{time}.\]

Steg 7 - Omregn til minutter

\[\frac1{12}\cdot60=5\ \text{minutter}.\]

Flybaner
Fly B når y=0 ved enden av parameterintervallet.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[432t^2-72t+3=0,t]
\(t=1/12\)
2
1/12*60
5

Tolkning: CAS viser et dobbelt nullpunkt: flyet berører landingsbanen ved t=1/12.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
yB = 432*t**2 - 72*t + 3
roots = sp.solve(sp.Eq(yB,0),t)
print("Høyden til fly B:", yB)
print("Faktorisert høyde =", sp.factor(yB))
print("Løs y_B(t)=0:", roots)
print("t1 = 1/12 time")
print("I minutter:", sp.Rational(1,12)*60)
Utskrift fra Python:
Høyden til fly B: 432*t**2 - 72*t + 3
Faktorisert høyde = 3*(12*t - 1)**2
Løs y_B(t)=0: [1/12]
t1 = 1/12 time
I minutter: 5

Fasit: \(t_1=\dfrac1{12}\) time = 5 minutter.

Vanlig feil: Å sette x-koordinaten lik 0 i stedet for høyden.
Sensorpunkt: Sensor ser etter riktig koordinat, likningsløsning og tidsenhet.
Del 2 - Oppgave 5bVektorfunksjon - fart

Oppgave 5b

Oppgave: Bestem farten til fly B når \(t=0{,}08\).
Vis løsning

Hva spør oppgaven om? Vi skal derivere posisjonsvektoren for å få fartsvektoren og deretter beregne lengden av denne vektoren.

Steg 1 - Deriver x-koordinaten

\[\frac{d}{dt}(-204t+17)=-204.\]

Steg 2 - Deriver y-koordinaten

\[\frac{d}{dt}(432t^2-72t+3)=864t-72.\]

Steg 3 - Skriv fartsvektoren

\[\vec b'(t)=[-204,\ 864t-72].\]

Steg 4 - Sett inn t=0,08

\[864\cdot0{,}08-72=69{,}12-72=-2{,}88.\]

Steg 5 - Finn vektoren ved tidspunktet

\[\vec b'(0{,}08)=[-204,-2{,}88].\]

Steg 6 - Beregn vektorlengden

\[|\vec b'|=\sqrt{(-204)^2+(-2{,}88)^2}.\]

Steg 7 - Regn ut og tolk

\[|\vec b'(0{,}08)|\approx204{,}02\ \text{km/h}.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[b(t),t]
\([-204,864t-72]\)
2
Length[(-204,864*0.08-72)]
\(204{,}0203\ldots\)

Tolkning: CAS beregner lengden av fartsvektoren.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t")
b = sp.Matrix([-204*t+17, 432*t**2-72*t+3])
v = b.diff(t)
t0 = sp.Rational(8,100)
v0 = v.subs(t,t0)
speed = sp.sqrt(v0.dot(v0))
print("b(t) =", list(b))
print("Fartsvektor b'(t) =", list(v))
print("Ved t=0.08 er b'(t) =", list(v0))
print("Fart = sqrt(vx^2+vy^2) =", speed)
print("Numerisk fart =", sp.N(speed,12), "km/h")
Utskrift fra Python:
b(t) = [17 - 204*t, 432*t**2 - 72*t + 3]
Fartsvektor b'(t) = [-204, 864*t - 72]
Ved t=0.08 er b'(t) = [-204, -72/25]
Fart = sqrt(vx^2+vy^2) = 156*sqrt(1069)/25
Numerisk fart = 204.020328399 km/h

Fasit: Farten er omtrent \(204{,}0\ \text{km/h}\).

Vanlig feil: Å oppgi bare x-komponenten -204 som fart; fart er lengden av fartsvektoren og er ikke negativ.
Sensorpunkt: Sensor ser etter komponentvis derivasjon og korrekt norm med enhet.
Del 2 - Oppgave 5cParameterkurver - kollisjonsanalyse

Oppgave 5c

Oppgave: Vi ser at flyenes kurs krysser hverandre i punkt \(P\). Avgjør om flyene vil kollidere.
Vis løsning

Hva spør oppgaven om? Banene krysser samme geometriske punkt, men kollisjon krever også at flyene er der på samme tidspunkt. Vi må derfor finne parameterverdien for hvert fly i P.

Steg 1 - Skill mellom tidene

La fly A være i P ved tid \(u\), og fly B ved tid \(v\). Vi løser \(\vec a(u)=\vec b(v)\).

Steg 2 - Sett opp x-likningen

\[70u+2=-204v+17.\]

Steg 3 - Sett opp y-likningen

\[140u^2=432v^2-72v+3.\]

Steg 4 - Løs systemet digitalt

Den fysiske løsningen innen \([0,1/12]\) er \[u\approx0{,}04335,\qquad v\approx0{,}05865.\]

Steg 5 - Finn krysspunktet

Begge banene går gjennom omtrent \[P=(5{,}0348,\ 0{,}2631).\]

Steg 6 - Sammenlign tidene

Fly A passerer P først. Tidsforskjellen er omtrent \(0{,}01530\) timer, altså \(0{,}918\) minutter.

Steg 7 - Konkluder om kollisjon

Siden \(u\neq v\), er flyene ikke i P samtidig. De kolliderer derfor ikke.

Kryssende flybaner
Banene krysser i P, men parameterverdiene er forskjellige.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Intersect[Curve[70u+2,140u^2,u,0,1/12],Curve[-204v+17,432v^2-72v+3,v,0,1/12]]
\(P\approx(5{,}0348,0{,}2631)\)
2
Solve[a(u)=b(v),{u,v}]
\(u\approx0{,}04335,\ v\approx0{,}05865\)

Tolkning: CAS viser at samme punkt nås ved ulike tider.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
u,v,t = sp.symbols("u v t", real=True)
a = sp.Matrix([70*u+2, 140*u**2])
b = sp.Matrix([-204*v+17, 432*v**2-72*v+3])
solutions = sp.solve([sp.Eq(a[0],b[0]),sp.Eq(a[1],b[1])],[u,v], dict=True)
print("Løs a(u)=b(v) for banekrysset:")
for s in solutions:
    print("u =", sp.N(s[u],10), "v =", sp.N(s[v],10))
valid = [s for s in solutions if 0 <= float(s[u]) <= 1/12 and 0 <= float(s[v]) <= 1/12][0]
P = a.subs(u,valid[u])
print("Gyldig kryss i tidsintervallene:")
print("t_A =", sp.N(valid[u],10), "timer")
print("t_B =", sp.N(valid[v],10), "timer")
print("P =", [sp.N(z,10) for z in P])
print("Tidsforskjell =", sp.N(valid[v]-valid[u],10), "timer")
print("Samme tidspunkt?", sp.simplify(valid[u]-valid[v])==0)
print("Konklusjon: ingen kollisjon")
Utskrift fra Python:
Løs a(u)=b(v) for banekrysset:
u = -0.01074505637 v = 0.07721644091
u = 0.04335375202 v = 0.05865312431
Gyldig kryss i tidsintervallene:
t_A = 0.04335375202 timer
t_B = 0.05865312431 timer
P = [5.034762642, 0.2631366940]
Tidsforskjell = 0.01529937228 timer
Samme tidspunkt? False
Konklusjon: ingen kollisjon

Fasit: Flyene kolliderer ikke. Fly A passerer P ved \(t\approx0{,}04335\), mens fly B passerer P ved \(t\approx0{,}05865\).

Vanlig feil: Å konkludere med kollisjon bare fordi de geometriske kurvene krysser. Tidspunktet må også være det samme.
Sensorpunkt: Sensor ser etter to separate parametere, gyldig løsning i tidsintervallet og tydelig sammenligning.
Del 2 - Oppgave 6CAS-bevis - tredjegradsfunksjon

Oppgave 6

Oppgave: En funksjon \(f\) er gitt ved \[f(x)=ax^3+bx^2+cx+d,\qquad D_f=\mathbb R.\] Grafen til \(f\) har toppunkt \(T\) når \(x=p\) og bunnpunkt \(B\) når \(x=q\). Bruk CAS til å vise at x-koordinaten til vendepunktet \(V\) (infleksjonspunktet) ligger midt mellom x-koordinaten til toppunktet og x-koordinaten til bunnpunktet.
Vis løsning

Hva spør oppgaven om? Vi skal uttrykke summen av nullpunktene p og q til den deriverte, finne nullpunktet til andrederiverten og sammenligne uttrykkene symbolsk.

Steg 1 - Deriver tredjegradsfunksjonen

\[f'(x)=3ax^2+2bx+c.\] Topp- og bunnpunktene betyr at \(p\) og \(q\) er røttene til denne andregradslikningen.

Steg 2 - Bruk Viete på den deriverte

For \(3ax^2+2bx+c=0\) er summen av røttene \[p+q=-\frac{2b}{3a}.\]

Steg 3 - Finn midtpunktet mellom p og q

\[\frac{p+q}{2}=\frac{-2b/(3a)}{2}=-\frac{b}{3a}.\]

Steg 4 - Finn andrederiverten

\[f''(x)=6ax+2b.\]

Steg 5 - Finn vendepunktets x-koordinat

\[6ax+2b=0\Rightarrow x_V=-\frac{2b}{6a}=-\frac{b}{3a}.\]

Steg 6 - Sammenlign uttrykkene

Både \(x_V\) og \((p+q)/2\) er lik \(-b/(3a)\).

Steg 7 - Konkluder

\[x_V=\frac{p+q}{2}.\] Vendepunktet ligger derfor nøyaktig midt mellom ekstremalpunktenes x-koordinater.

Tredjegradsfunksjon med topp bunn og vendepunkt
Den stiplete linjen viser midtpunktet mellom p og q.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
f(x):=a*x^3+b*x^2+c*x+d
2
Solve[Derivative[f,x]=0,x]
\(p,q\), med \(p+q=-2b/(3a)\)
3
Solve[Derivative[f,x,2]=0,x]
\(x=-b/(3a)\)
4
Simplify[(p+q)/2]
\(-b/(3a)\)

Tolkning: CAS viser at differansen mellom vendepunktets x-koordinat og midtpunktet er 0.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a,b,c,d,x,p,q = sp.symbols("a b c d x p q", nonzero=True)
f = a*x**3+b*x**2+c*x+d
fp = sp.diff(f,x); fpp = sp.diff(f,x,2)
roots = sp.solve(sp.Eq(fp,0),x)
sum_roots = sp.simplify(sum(roots))
x_inf = sp.solve(sp.Eq(fpp,0),x)[0]
print("f'(x) =", fp)
print("Røttene p og q til f'(x)=0 har sum =", sum_roots)
print("Etter Vieta: p+q = -2b/(3a)")
print("f''(x) =", fpp)
print("Vendepunktets x-koordinat =", x_inf)
print("(p+q)/2 =", sp.simplify(sum_roots/2))
print("Differanse =", sp.simplify(x_inf-sum_roots/2))
Utskrift fra Python:
f'(x) = 3*a*x**2 + 2*b*x + c
Røttene p og q til f'(x)=0 har sum = -2*b/(3*a)
Etter Vieta: p+q = -2b/(3a)
f''(x) = 2*(3*a*x + b)
Vendepunktets x-koordinat = -b/(3*a)
(p+q)/2 = -b/(3*a)
Differanse = 0

Fasit: \(x_V=-\dfrac{b}{3a}=\dfrac{p+q}{2}\).

Vanlig feil: Å ta gjennomsnittet av y-koordinatene eller å bruke røttene til f i stedet for røttene til f-prime.
Sensorpunkt: Sensor ser etter CAS-uttrykk for begge sider og en symbolsk likhetskontroll, ikke bare et numerisk eksempel.
Kildegrunnlag: Oppgavetekstene er transkribert fra Utdanningsdirektoratets eksempeloppgave REA3022 Matematikk R1, eksempel på eksamen våren 2015 etter ny ordning. Løsningene og kontrollene er utarbeidet for ifingo.