R1 eksamenVår 2021

Matematikk R1 eksamen – vår 2021

ifingo
Norsk (Bokmål)

ifingo · Matematikk R1

Matematikk R1 - våren 2021 (REA3022)

Løsningsforslag til eksamenssettet fra Utdanningsdirektoratet.

Del 1 - uten hjelpemidler

Del 1 - Oppgave 1aDerivasjon av potens og brøk

Oppgave 1a

Oppgave: Deriver funksjonen \[f(x)=3x^3-4x+\frac{1}{x}.\]
Vis løsning

Hva spør oppgaven om? Vi skal derivere hvert ledd og samtidig ta vare på at originalfunksjonen ikke er definert for \(x=0\).

Steg 1 - Skriv brøken som potens

\(1/x=x^{-1}\).

Steg 2 - Deriver første ledd

\((3x^3)^\prime=9x^2\).

Steg 3 - Deriver det lineære leddet

\((-4x)^\prime=-4\).

Steg 4 - Deriver brøkleddet

\((x^{-1})^\prime=-x^{-2}=-1/x^2\).

Steg 5 - Samle leddene

\[f^\prime(x)=9x^2-4-\frac{1}{x^2}.\]

Steg 6 - Oppgi definisjonsbegrensningen

Derivasjonsformelen gjelder for \(x\neq0\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[3x^3-4x+1/x]
\(9x^2-4-1/x^2\)

Tolkning: CAS deriverer alle tre ledd og beholder nevneren x^2.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True, nonzero=True)
f = 3*x**3 - 4*x + 1/x
f_prime = sp.diff(f, x)
expected = 9*x**2 - 4 - 1/x**2
print("f(x) =", f)
print("f'(x) =", f_prime)
print("Expected =", expected)
print("Difference =", sp.simplify(f_prime-expected))
print("Excluded x-value = 0")
Utskrift fra Python:
f(x) = 3*x**3 - 4*x + 1/x
f'(x) = 9*x**2 - 4 - 1/x**2
Expected = 9*x**2 - 4 - 1/x**2
Difference = 0
Excluded x-value = 0

Fasit: \(f^\prime(x)=9x^2-4-\dfrac{1}{x^2}\), \(x\neq0\).

Vanlig feil: Å derivere \(1/x\) som \(1\) eller som \(+1/x^2\).
Sensorpunkt: Potensregelen må brukes med eksponenten \(-1\), og domenet skal nevnes.
Del 1 - Oppgave 1bProduktregelen

Oppgave 1b

Oppgave: Deriver funksjonen \[g(x)=3x^2\ln x.\]
Vis løsning

Hva spør oppgaven om? Funksjonen er et produkt av \(3x^2\) og \(\ln x\), så vi bruker produktregelen.

Steg 1 - Domene

Logaritmen krever \(x>0\).

Steg 2 - Velg faktorer

Sett \(u=3x^2\) og \(v=\ln x\).

Steg 3 - Deriver faktorene

\(u^\prime=6x\) og \(v^\prime=1/x\).

Steg 4 - Produktregelen

\[g^\prime=u^\prime v+uv^\prime=6x\ln x+3x^2\frac1x.\]

Steg 5 - Forenkle

\[g^\prime(x)=6x\ln x+3x.\]

Steg 6 - Faktoriser om ønskelig

\[g^\prime(x)=3x(2\ln x+1).\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[3x^2 ln(x)]
\(6x\ln(x)+3x\)

Tolkning: GeoGebra bruker produktregelen og den deriverte av ln(x).

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", positive=True)
g = 3*x**2*sp.log(x)
g_prime = sp.diff(g, x)
factored = sp.factor(g_prime)
expected = 6*x*sp.log(x) + 3*x
print("g(x) =", g)
print("g'(x) =", g_prime)
print("Factored form =", factored)
print("Expected =", expected)
print("Difference =", sp.simplify(g_prime-expected))
print("Domain: x > 0")
Utskrift fra Python:
g(x) = 3*x**2*log(x)
g'(x) = 6*x*log(x) + 3*x
Factored form = 3*x*(2*log(x) + 1)
Expected = 6*x*log(x) + 3*x
Difference = 0
Domain: x > 0

Fasit: \(g^\prime(x)=6x\ln x+3x=3x(2\ln x+1)\), for \(x>0\).

Vanlig feil: Å derivere bare én av faktorene.
Sensorpunkt: Produktregelen og logaritmens domene må komme tydelig fram.
Del 1 - Oppgave 1cKjerneregelen for kvadratrot

Oppgave 1c

Oppgave: Deriver funksjonen \[h(x)=\sqrt{4x^2-5}.\]
Vis løsning

Hva spør oppgaven om? Vi skriver kvadratroten som en halv potens og bruker kjerneregelen.

Steg 1 - Skriv som potens

\(h(x)=(4x^2-5)^{1/2}\).

Steg 2 - Ytre funksjon

Den deriverte av \(u^{1/2}\) er \(\frac12u^{-1/2}\).

Steg 3 - Indre funksjon

For \(u=4x^2-5\) er \(u^\prime=8x\).

Steg 4 - Kjerneregelen

\[h^\prime(x)=\frac12(4x^2-5)^{-1/2}\cdot8x.\]

Steg 5 - Forenkle

\[h^\prime(x)=\frac{4x}{\sqrt{4x^2-5}}.\]

Steg 6 - Domene for den deriverte

Den deriverte er definert når \(4x^2-5>0\), altså \(|x|>\sqrt5/2\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[sqrt(4x^2-5)]
\(4x/\sqrt{4x^2-5}\)

Tolkning: CAS viser både kjerneregel-faktoren 8x og rotnevneren.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
h = sp.sqrt(4*x**2-5)
h_prime = sp.diff(h, x)
expected = 4*x/sp.sqrt(4*x**2-5)
critical = sp.sqrt(5)/2
print("h(x) =", h)
print("h'(x) =", h_prime)
print("Expected =", expected)
print("Difference =", sp.simplify(h_prime-expected))
print("Boundary value sqrt(5)/2 =", sp.N(critical, 10))
print("Derivative domain: x < -sqrt(5)/2 or x > sqrt(5)/2")
Utskrift fra Python:
h(x) = sqrt(4*x**2 - 5)
h'(x) = 4*x/sqrt(4*x**2 - 5)
Expected = 4*x/sqrt(4*x**2 - 5)
Difference = 0
Boundary value sqrt(5)/2 = 1.118033989
Derivative domain: x < -sqrt(5)/2 or x > sqrt(5)/2

Fasit: \(h^\prime(x)=\dfrac{4x}{\sqrt{4x^2-5}}\), der \(|x|>\sqrt5/2\).

Vanlig feil: Å glemme å derivere uttrykket \(4x^2-5\) inne i roten.
Sensorpunkt: Kjerneregelen og skillet mellom funksjonens og den derivertes domene bør vises.
Del 1 - Oppgave 2aForenkling av rasjonalt uttrykk

Oppgave 2a

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

Hva spør oppgaven om? Vi faktoriserer den første nevneren, finner felles nevner og forkorter til slutt.

Steg 1 - Faktoriser

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

Steg 2 - Felles nevner

Alle ledd skrives over \((x-2)(x+1)\).

Steg 3 - Samle telleren

\[3x-2x(x-2)-2(x+1).\]

Steg 4 - Regn ut

\[3x-2x^2+4x-2x-2=-2x^2+5x-2.\]

Steg 5 - Faktoriser telleren

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

Steg 6 - Forkort

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

Steg 7 - Behold opprinnelig domene

Vi må fortsatt ha \(x\neq2\) og \(x\neq-1\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Factor[3x/(x^2-x-2)-2x/(x+1)-2/(x-2)]
\(-(2x-1)/(x+1)\)

Tolkning: CAS forkorter faktoren x-2, men den opprinnelige begrensningen x≠2 må beholdes.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x")
expr = 3*x/(x**2-x-2) - 2*x/(x+1) - 2/(x-2)
together = sp.together(expr)
factored = sp.factor(together)
expected = (1-2*x)/(x+1)
print("Original expression =", expr)
print("Common denominator form =", together)
print("Factored form =", factored)
print("Expected simplified form =", expected)
print("Difference =", sp.simplify(expr-expected))
print("Original exclusions: x != -1 and x != 2")
Utskrift fra Python:
Original expression = 3*x/(x**2 - x - 2) - 2*x/(x + 1) - 2/(x - 2)
Common denominator form = (3*x*(x - 2)*(x + 1) - 2*x*(x - 2)*(x**2 - x - 2) - 2*(x + 1)*(x**2 - x - 2))/((x - 2)*(x + 1)*(x**2 - x - 2))
Factored form = -(2*x - 1)/(x + 1)
Expected simplified form = (1 - 2*x)/(x + 1)
Difference = 0
Original exclusions: x != -1 and x != 2

Fasit: \(\dfrac{1-2x}{x+1}\), med \(x\neq-1,2\).

Vanlig feil: Å glemme at \(x=2\) fortsatt er ulovlig etter forkorting.
Sensorpunkt: Felles nevner, faktorisering og opprinnelig definisjonsmengde må være korrekte.
Del 1 - Oppgave 2bLogaritmeregler

Oppgave 2b

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

Hva spør oppgaven om? Vi bruker produkt-, kvotient- og potensreglene for logaritmer. Vi forutsetter \(a>0\) og \(b>0\).

Steg 1 - Utvid første ledd

\(\ln(ab^2)=\ln a+2\ln b\).

Steg 2 - Potensregelen

\(2\ln a^3=2\cdot3\ln a=6\ln a\).

Steg 3 - Kvotientregelen

\[\ln(a^2/b^2)=2\ln a-2\ln b.\]

Steg 4 - Multipliser siste parentes

\[-3(2\ln a-2\ln b)=-6\ln a+6\ln b.\]

Steg 5 - Samle a-ledd

\(\ln a+6\ln a-6\ln a=\ln a\).

Steg 6 - Samle b-ledd

\(2\ln b-8\ln b+6\ln b=0\).

Steg 7 - Konklusjon

Hele uttrykket blir \(\ln a\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Expand[ln(a b^2)-8ln(b)+2ln(a^3)-3ln(a^2/b^2)]
\(\ln(a)\)

Tolkning: Med a>0 og b>0 kanselleres alle b-leddene.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
a, b = sp.symbols("a b", positive=True)
expr = sp.log(a*b**2)-8*sp.log(b)+2*sp.log(a**3)-3*sp.log(a**2/b**2)
expanded = sp.expand_log(expr, force=True)
simplified = sp.simplify(expanded)
print("Original expression =", expr)
print("Expanded logarithms =", expanded)
print("Simplified =", simplified)
print("Expected =", sp.log(a))
print("Difference =", sp.simplify(simplified-sp.log(a)))
print("Assumptions: a > 0 and b > 0")
Utskrift fra Python:
Original expression = 2*log(a**3) - 8*log(b) + log(a*b**2) - 3*log(a**2/b**2)
Expanded logarithms = log(a)
Simplified = log(a)
Expected = log(a)
Difference = 0
Assumptions: a > 0 and b > 0

Fasit: \(\ln a\).

Vanlig feil: Å fordele minusfortegnet feil i \(-3\ln(a^2/b^2)\).
Sensorpunkt: Alle logaritmeregler og positivt domene skal brukes konsekvent.
Del 1 - Oppgave 3aSkalarprodukt og ortogonalitet

Oppgave 3a

Oppgave: Vi har \(\vec a=[4,1]\) og \(\vec b=[-1,3]\). Undersøk om \(\vec a\perp\vec b\).
Vis løsning

Hva spør oppgaven om? To ikke-null vektorer er vinkelrette akkurat når skalarproduktet er null.

Steg 1 - Sett opp skalarproduktet

\[\vec a\cdot\vec b=4\cdot(-1)+1\cdot3.\]

Steg 2 - Regn ut

\[\vec a\cdot\vec b=-4+3=-1.\]

Steg 3 - Sammenlikn med null

Resultatet er \(-1\), ikke \(0\).

Steg 4 - Konklusjon

Vektorene er derfor ikke vinkelrette.

Steg 5 - Ekstra kontroll

Begge vektorene er ikke-null, så ortogonalitetskriteriet kan brukes direkte.

Steg 6 - Svar med symbol

\(\vec a\not\perp\vec b\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Dot[(4,1),(-1,3)]
\(-1\)

Tolkning: Skalarproduktet er ikke null, så vektorene er ikke ortogonale.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
a = sp.Matrix([4, 1])
b = sp.Matrix([-1, 3])
dot_product = a.dot(b)
print("a =", a.T)
print("b =", b.T)
print("a dot b =", dot_product)
print("Is dot product zero?", sp.simplify(dot_product)==0)
print("Conclusion: vectors are not perpendicular")
Utskrift fra Python:
a = Matrix([[4, 1]])
b = Matrix([[-1, 3]])
a dot b = -1
Is dot product zero? False
Conclusion: vectors are not perpendicular

Fasit: Nei. \(\vec a\cdot\vec b=-1\neq0\), så \(\vec a\not\perp\vec b\).

Vanlig feil: Å se på komponentene hver for seg i stedet for skalarproduktet.
Sensorpunkt: Kriteriet \(ec a\cdotec b=0\) må brukes og vurderes korrekt.
Del 1 - Oppgave 3bLineærkombinasjon av vektorer

Oppgave 3b

Oppgave: Bestem tallene \(r\) og \(s\) slik at \(\vec c=r\vec a+s\vec b\), når \(\vec c=[4,14]\).
Vis løsning

Hva spør oppgaven om? Vi sammenlikner første- og andrekomponenten og løser et lineært likningssystem.

Steg 1 - Skriv lineærkombinasjonen

\[r[4,1]+s[-1,3]=[4r-s,\,r+3s].\]

Steg 2 - Sammenlikn komponentene

\[4r-s=4,\qquad r+3s=14.\]

Steg 3 - Isoler s

Fra første likning får vi \(s=4r-4\).

Steg 4 - Sett inn

\[r+3(4r-4)=14.\]

Steg 5 - Løs for r

\(13r-12=14\), altså \(13r=26\) og \(r=2\).

Steg 6 - Finn s

\(s=4\cdot2-4=4\).

Steg 7 - Kontroller

\(2[4,1]+4[-1,3]=[8,2]+[-4,12]=[4,14]\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[{4r-s=4,r+3s=14},{r,s}]
\(r=2,\ s=4\)

Tolkning: CAS løser komponentlikningene samtidig.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
r, s = sp.symbols("r s", real=True)
a = sp.Matrix([4, 1])
b = sp.Matrix([-1, 3])
c = sp.Matrix([4, 14])
solution = sp.solve([sp.Eq(4*r-s,4), sp.Eq(r+3*s,14)], [r,s])
check = solution[r]*a + solution[s]*b
print("Equation system: 4r-s=4 and r+3s=14")
print("Solution =", solution)
print("r*a =", (solution[r]*a).T)
print("s*b =", (solution[s]*b).T)
print("r*a+s*b =", check.T)
print("Matches c =", check==c)
Utskrift fra Python:
Equation system: 4r-s=4 and r+3s=14
Solution = {r: 2, s: 4}
r*a = Matrix([[8, 2]])
s*b = Matrix([[-4, 12]])
r*a+s*b = Matrix([[4, 14]])
Matches c = True

Fasit: \(r=2\) og \(s=4\).

Vanlig feil: Å løse bare én av komponentlikningene.
Sensorpunkt: Begge komponenter må oppfylles, og sluttkontrollen bør vises.
Del 1 - Oppgave 4aTotal sannsynlighet

Oppgave 4a

Oppgave: Maskin A lager 40 % av dekslene og har 20 % feil. Maskin B lager 60 % og har 10 % feil. Hva er sannsynligheten for feil på et tilfeldig deksel?
Vis løsning

Hva spør oppgaven om? Vi deler hendelsen «feil» i to gjensidig utelukkende tilfeller: produsert av A eller produsert av B.

Steg 1 - Definer hendelser

La \(F\) være feil, og \(A\), \(B\) være maskinene.

Steg 2 - Bidrag fra A

\[P(A\cap F)=P(A)P(F\mid A)=0.40\cdot0.20=0.08.\]

Steg 3 - Bidrag fra B

\[P(B\cap F)=0.60\cdot0.10=0.06.\]

Steg 4 - Summer

\[P(F)=0.08+0.06=0.14.\]

Steg 5 - Gjør om til prosent

\(0.14=14\,\%\).

Steg 6 - Rimelighetskontroll

Svaret ligger mellom 10 % og 20 %, slik en vektet gjennomsnittsverdi skal.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
0.4*0.2+0.6*0.1
\(0.14\)

Tolkning: Summen av de to produksjonsgrenene gir total feilrate.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
from fractions import Fraction
p_A = Fraction(40, 100)
p_B = Fraction(60, 100)
p_error_given_A = Fraction(20, 100)
p_error_given_B = Fraction(10, 100)
from_A = p_A*p_error_given_A
from_B = p_B*p_error_given_B
total = from_A+from_B
print("P(A and error) =", from_A, "=", float(from_A))
print("P(B and error) =", from_B, "=", float(from_B))
print("P(error) =", total)
print("Decimal =", float(total))
print("Percent =", 100*float(total))
Utskrift fra Python:
P(A and error) = 2/25 = 0.08
P(B and error) = 3/50 = 0.06
P(error) = 7/50
Decimal = 0.14
Percent = 14.000000000000002

Fasit: \(P(F)=0.14=14\,\%\).

Vanlig feil: Å legge 20 % og 10 % direkte sammen uten å vekte med produksjonsandelene.
Sensorpunkt: De to grenene må vektes og summeres med total sannsynlighet.
Del 1 - Oppgave 4bBayes’ setning

Oppgave 4b

Oppgave: Et deksel har en feil. Hva er sannsynligheten for at det er produsert av maskin A?
Vis løsning

Hva spør oppgaven om? Nå kjenner vi at feil har skjedd og skal snu den betingede sannsynligheten med Bayes’ setning.

Steg 1 - Skriv det vi søker

Vi skal finne \(P(A\mid F)\).

Steg 2 - Bruk Bayes

\[P(A\mid F)=\frac{P(A\cap F)}{P(F)}.\]

Steg 3 - Sett inn telleren

Fra del a er \(P(A\cap F)=0.40\cdot0.20=0.08\).

Steg 4 - Sett inn nevneren

Fra del a er \(P(F)=0.14\).

Steg 5 - Regn ut

\[P(A\mid F)=\frac{0.08}{0.14}=\frac{8}{14}=\frac47.\]

Steg 6 - Desimal og prosent

\[\frac47\approx0.5714=57.1\,\%.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
(0.4*0.2)/(0.4*0.2+0.6*0.1)
\(4/7\approx0.571429\)

Tolkning: Bayes-brøken deler A-feil på alle feil.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
from fractions import Fraction
p_A_and_error = Fraction(4,10)*Fraction(2,10)
p_B_and_error = Fraction(6,10)*Fraction(1,10)
p_error = p_A_and_error+p_B_and_error
posterior = p_A_and_error/p_error
print("P(A and error) =", p_A_and_error)
print("P(B and error) =", p_B_and_error)
print("P(error) =", p_error)
print("P(A | error) =", posterior)
print("Decimal =", float(posterior))
print("Percent =", 100*float(posterior))
Utskrift fra Python:
P(A and error) = 2/25
P(B and error) = 3/50
P(error) = 7/50
P(A | error) = 4/7
Decimal = 0.5714285714285714
Percent = 57.14285714285714

Fasit: \(P(A\mid F)=\dfrac47\approx57.1\,\%\).

Vanlig feil: Å svare 20 %, som er \(P(F\mid A)\), ikke \(P(A\mid F)\).
Sensorpunkt: Betingelsen må snus korrekt med Bayes’ setning.
Del 1 - Oppgave 5aEkstremalpunkter for tredjegradsfunksjon

Oppgave 5a

Oppgave: For \(f(x)=x^3-14x+15\), bestem eksakte x-koordinater til toppunktet og bunnpunktet.
Vis løsning

Hva spør oppgaven om? Ekstremalpunktene finnes ved å løse \(f^\prime(x)=0\) og klassifisere punktene.

Steg 1 - Deriver

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

Steg 2 - Sett lik null

\[3x^2-14=0.\]

Steg 3 - Løs

\[x^2=\frac{14}{3},\qquad x=\pm\sqrt{\frac{14}{3}}=\pm\frac{\sqrt{42}}{3}.\]

Steg 4 - Andrederivert

\[f^{\prime\prime}(x)=6x.\]

Steg 5 - Klassifiser negativ løsning

Ved \(x=-\sqrt{42}/3\) er \(f^{\prime\prime}<0\), så dette er toppunktets x-koordinat.

Steg 6 - Klassifiser positiv løsning

Ved \(x=\sqrt{42}/3\) er \(f^{\prime\prime}>0\), så dette er bunnpunktets x-koordinat.

Illustrasjon til Oppgave 5a
Grafen med nullpunkter og de to ekstremalpunktene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Extremum[x^3-14x+15]
\(x=-\sqrt{42}/3\) og \(x=\sqrt{42}/3\)

Tolkning: Den negative kritiske x-verdien gir lokalt maksimum, den positive lokalt minimum.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
f = x**3-14*x+15
f_prime = sp.diff(f,x)
f_second = sp.diff(f_prime,x)
critical = sp.solve(sp.Eq(f_prime,0),x)
print("f(x) =", f)
print("f'(x) =", f_prime)
print("f''(x) =", f_second)
print("Critical x-values =", critical)
for value in critical:
    print("x =", value, ", f''(x) =", sp.simplify(f_second.subs(x,value)), ", f(x) =", sp.simplify(f.subs(x,value)))
Utskrift fra Python:
f(x) = x**3 - 14*x + 15
f'(x) = 3*x**2 - 14
f''(x) = 6*x
Critical x-values = [-sqrt(42)/3, sqrt(42)/3]
x = -sqrt(42)/3 , f''(x) = -2*sqrt(42) , f(x) = 15 + 28*sqrt(42)/9
x = sqrt(42)/3 , f''(x) = 2*sqrt(42) , f(x) = 15 - 28*sqrt(42)/9

Fasit: Toppunkt: \(x=-\dfrac{\sqrt{42}}3\). Bunnpunkt: \(x=\dfrac{\sqrt{42}}3\).

Vanlig feil: Å oppgi omtrentlige x-verdier når oppgaven krever eksakte verdier.
Sensorpunkt: Begge kritiske punkter må finnes og klassifiseres.
Del 1 - Oppgave 5bPolynomulikhet

Oppgave 5b

Oppgave: Løs ulikheten \(f(x)>0\) eksakt når \(f(x)=x^3-14x+15\).
Vis løsning

Hva spør oppgaven om? Vi faktoriserer polynomet, ordner nullpunktene og bruker fortegnsskifte.

Steg 1 - Finn et heltallig nullpunkt

\(f(3)=27-42+15=0\), så \(x-3\) er en faktor.

Steg 2 - Faktoriser

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

Steg 3 - Løs andregradslikningen

\[x=\frac{-3\pm\sqrt{9+20}}2=\frac{-3\pm\sqrt{29}}2.\]

Steg 4 - Ordne nullpunktene

\[\frac{-3-\sqrt{29}}2<\frac{-3+\sqrt{29}}2<3.\]

Steg 5 - Fortegn

En tredjegradsfunksjon med positivt ledende ledd og tre enkle nullpunkter skifter fortegn ved hvert nullpunkt.

Steg 6 - Velg positive intervaller

Funksjonen er positiv mellom de to første nullpunktene og til høyre for 3.

Steg 7 - Streng ulikhet

Nullpunktene tas ikke med.

Illustrasjon til Oppgave 5b
Grafen viser hvor funksjonen ligger over x-aksen.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[x^3-14x+15>0,x]
\(((-3-\sqrt{29})/2,(-3+\sqrt{29})/2)\cup(3,\infty)\)

Tolkning: CAS gir de samme åpne intervallene.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
x = sp.symbols("x", real=True)
f = x**3-14*x+15
factorization = sp.factor(f)
roots = sp.solve(sp.Eq(f,0),x)
solution = sp.solve_univariate_inequality(f>0,x)
print("f(x) =", f)
print("Factorization =", factorization)
print("Exact roots =", roots)
print("Ordered decimal roots =", sorted([sp.N(r,10) for r in roots]))
print("Solution set =", solution)
for test in [-5,-2,2,4]:
    print("f(",test,") =", f.subs(x,test))
Utskrift fra Python:
f(x) = x**3 - 14*x + 15
Factorization = (x - 3)*(x**2 + 3*x - 5)
Exact roots = [3, -3/2 + sqrt(29)/2, -sqrt(29)/2 - 3/2]
Ordered decimal roots = [-4.192582404, 1.192582404, 3.000000000]
Solution set = (3 < x) | ((x < -3/2 + sqrt(29)/2) & (-sqrt(29)/2 - 3/2 < x))
f( -5 ) = -40
f( -2 ) = 35
f( 2 ) = -5
f( 4 ) = 23

Fasit: \(x\in\left(\dfrac{-3-\sqrt{29}}2,\dfrac{-3+\sqrt{29}}2\right)\cup(3,\infty)\).

Vanlig feil: Å inkludere nullpunktene selv om ulikheten er streng.
Sensorpunkt: Faktorisering, korrekt rekkefølge og åpne intervaller må vises.
Del 1 - Oppgave 6Optimering av rektangelareal

Oppgave 6

Oppgave: For \(f(x)=\dfrac8{x^2+4}\), \(x>0\), har rektangelet bredde \(t\) og høyde \(f(t)\). Bestem \(t\) slik at arealet blir størst mulig.
Vis løsning

Hva spør oppgaven om? Vi uttrykker arealet som en funksjon av \(t\), deriverer og undersøker fortegnet.

Steg 1 - Arealfunksjonen

\[A(t)=t\cdot f(t)=\frac{8t}{t^2+4},\qquad t>0.\]

Steg 2 - Deriver med kvotientregelen

\[A^\prime(t)=\frac{8(t^2+4)-8t(2t)}{(t^2+4)^2}.\]

Steg 3 - Forenkle

\[A^\prime(t)=\frac{8(4-t^2)}{(t^2+4)^2}.\]

Steg 4 - Finn kritisk verdi

\(4-t^2=0\) gir \(t=2\), siden \(t>0\).

Steg 5 - Fortegn

For \(0<t<2\) er \(A^\prime>0\), og for \(t>2\) er \(A^\prime<0\).

Steg 6 - Maksimum

Arealfunksjonen vokser før 2 og avtar etter 2, derfor er \(t=2\) globalt maksimum.

Steg 7 - Kontroll av arealet

\(A(2)=16/8=2\).

Illustrasjon til Oppgave 6
Rektangelet med maksimal bredde t=2 og høyde 1.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
A(t):=8t/(t^2+4)
\(A(t)=8t/(t^2+4)\)
2
Extremum[A,0,10]
\((2,2)\)

Tolkning: Grafverktøyet viser maksimumspunktet (2,2).

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", positive=True)
A = 8*t/(t**2+4)
A_prime = sp.factor(sp.diff(A,t))
critical = sp.solve(sp.Eq(sp.factor(sp.together(A_prime).as_numer_denom()[0]),0),t)
print("A(t) =", A)
print("A'(t) =", A_prime)
print("Positive critical values =", critical)
for value in [sp.Rational(1,1),sp.Rational(2,1),sp.Rational(3,1)]:
    print("A(",value,") =", sp.simplify(A.subs(t,value)), ", A' =", sp.simplify(A_prime.subs(t,value)))
print("Maximum area =", sp.simplify(A.subs(t,2)))
Utskrift fra Python:
A(t) = 8*t/(t**2 + 4)
A'(t) = -8*(t - 2)*(t + 2)/(t**2 + 4)**2
Positive critical values = [2]
A( 1 ) = 8/5 , A' = 24/25
A( 2 ) = 2 , A' = 0
A( 3 ) = 24/13 , A' = -40/169
Maximum area = 2

Fasit: \(t=2\), og maksimalarealet er \(2\).

Vanlig feil: Å maksimere bare høyden \(f(t)\) i stedet for produktet \(t\cdot f(t)\).
Sensorpunkt: Arealfunksjon, kritisk punkt og fortegnsskifte må dokumenteres.
Del 1 - Oppgave 7Geometrisk konstruksjon

Oppgave 7

Oppgave: I firkanten \(ABCD\) er \(AB=3\,\text{cm}\), \(AC=10\,\text{cm}\), \(CD=9\,\text{cm}\), \(\angle ADC=90^{\circ}\) og \(\angle BAC=75^{\circ}\). Konstruer firkanten og forklar konstruksjonen.
Vis løsning

Hva spør oppgaven om? Vi bygger først trekantdelen som bestemmer A, B og C. Deretter bruker vi Thales’ setning for å plassere D.

Steg 1 - Konstruer grunnlinjen

Tegn linjestykket \(AB=3\,\text{cm}\).

Steg 2 - Konstruer vinkelen

Konstruer en stråle fra A som danner \(75^{\circ}\) med AB.

Steg 3 - Plasser C

Slå en sirkel med sentrum A og radius 10 cm. Skjæringen med strålen er C.

Steg 4 - Bruk rettvinkelbetingelsen

Alle punkter D med \(\angle ADC=90^{\circ}\) ligger på sirkelen med AC som diameter.

Steg 5 - Bruk lengden CD

Slå en sirkel med sentrum C og radius 9 cm.

Steg 6 - Plasser D

Et skjæringspunkt mellom de to sirklene er D. Det kan finnes to speilvendte løsninger; velg den som gir ønsket firkantrekkefølge.

Steg 7 - Fullfør firkanten

Tegn BC, CD og DA.

Steg 8 - Kontroll

Thales gir rett vinkel ved D, og radiuskonstruksjonene sikrer alle oppgitte lengder.

Illustrasjon til Oppgave 7
Én av de to mulige speilvendte konstruksjonene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
A=(0,0)
\(A=(0,0)\)
2
B=(3,0)
\(B=(3,0)\)
3
C=Rotate[(10,0),75°,A]
\(AC=10,\ \angle BAC=75^\circ\)
4
Intersect[Circle[Midpoint[A,C],Distance[A,C]/2],Circle[C,9]]
To mulige punkter D

Tolkning: Kommandoene gjenskaper passer-og-linjal-konstruksjonen digitalt.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
angle = sp.pi*75/180
A = sp.Point(0,0)
B = sp.Point(3,0)
C = sp.Point(10*sp.cos(angle),10*sp.sin(angle))
AD = sp.sqrt(10**2-9**2)
print("A =", A)
print("B =", B)
print("C =", C)
print("AB =", A.distance(B))
print("AC =", sp.simplify(A.distance(C)))
print("Required CD = 9")
print("From Pythagoras, AD =", AD)
print("Check: AD^2+CD^2 =", sp.simplify(AD**2+9**2))
Utskrift fra Python:
A = Point2D(0, 0)
B = Point2D(3, 0)
C = Point2D(-5*sqrt(2)/2 + 5*sqrt(6)/2, 5*sqrt(2)/2 + 5*sqrt(6)/2)
AB = 3
AC = 10
Required CD = 9
From Pythagoras, AD = sqrt(19)
Check: AD^2+CD^2 = 100

Fasit: Konstruksjonen utføres med \(AB=3\), en \(75^{\circ}\)-stråle, \(AC=10\), sirkelen med AC som diameter og sirkelen med sentrum C og radius 9.

Vanlig feil: Å konstruere en rett vinkel ved D uten samtidig å sikre at D ligger riktig i forhold til A og C.
Sensorpunkt: Konstruksjonsrekkefølge og begrunnelse med Thales’ setning må være med.
Del 1 - Oppgave 8aInnskrevet vinkel

Oppgave 8a

Oppgave: I sirkelen er sirkelbuen \(BD=108^{\circ}\). Bestem \(\angle BED\).
Vis løsning

Hva spør oppgaven om? Vinkelen BED er en innskrevet vinkel som spenner over buen BD.

Steg 1 - Identifiser buen

Vinkelbeina EB og ED treffer sirkelen i B og D.

Steg 2 - Bruk periferivinkelsetningen

En innskrevet vinkel er halvparten av den tilhørende sirkelbuen.

Steg 3 - Sett inn buevinkelen

\[\angle BED=\frac12\cdot108^{\circ}.\]

Steg 4 - Regn ut

\[\angle BED=54^{\circ}.\]

Steg 5 - Kontroller plasseringen

E ligger på den andre buen enn den buen BD som vinkelen spenner over.

Steg 6 - Konklusjon

Den innskrevne vinkelen er 54 grader.

Illustrasjon til Oppgave 8a
Vinkelen BED spenner over buen BD.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
108°/2
\(54^{\circ}\)

Tolkning: Periferivinkelen er halvparten av den målte buen.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
from fractions import Fraction
arc_BD = Fraction(108,1)
angle_BED = arc_BD/2
print("Arc BD =", arc_BD, "degrees")
print("Inscribed-angle factor = 1/2")
print("Angle BED =", angle_BED, "degrees")
print("Double angle BED =", 2*angle_BED, "degrees")
print("Check equals arc BD =", 2*angle_BED==arc_BD)
Utskrift fra Python:
Arc BD = 108 degrees
Inscribed-angle factor = 1/2
Angle BED = 54 degrees
Double angle BED = 108 degrees
Check equals arc BD = True

Fasit: \(\angle BED=54^{\circ}\).

Vanlig feil: Å bruke 108° direkte som innskrevet vinkel.
Sensorpunkt: Periferivinkelsetningen skal kobles til riktig bue.
Del 1 - Oppgave 8bVinkler i trekant og toppvinkler

Oppgave 8b

Oppgave: Trekanten ABC er likesidet. Linjen ED skjærer BC i F. Bestem \(\angle CFD\).
Vis løsning

Hva spør oppgaven om? Vi bruker først vinkelsummen i trekanten EBF og deretter toppvinkler i skjæringspunktet F.

Steg 1 - Likesidet trekant

\(\angle ABC=60^{\circ}\).

Steg 2 - Overfør til trekant EBF

Fordi E ligger på AB og F ligger på BC, er \(\angle EBF=60^{\circ}\).

Steg 3 - Bruk del a

F ligger på ED, så \(\angle BEF=\angle BED=54^{\circ}\).

Steg 4 - Vinkelsum i trekanten

\[\angle EFB=180^{\circ}-60^{\circ}-54^{\circ}=66^{\circ}.\]

Steg 5 - Toppvinkler

Linjeparene ED og BC skjærer hverandre i F. Dermed er \(\angle CFD\) toppvinkel til \(\angle EFB\).

Steg 6 - Konklusjon

\[\angle CFD=66^{\circ}.\]

Illustrasjon til Oppgave 8b
Skjæringspunktet F gir et par like toppvinkler.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
180°-60°-54°
\(66^{\circ}\)

Tolkning: Vinkelsummen gir EFB=66°, og toppvinkelen CFD er like stor.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
from fractions import Fraction
angle_ABC = Fraction(60,1)
angle_BED = Fraction(54,1)
angle_EBF = angle_ABC
angle_BEF = angle_BED
angle_EFB = 180-angle_EBF-angle_BEF
angle_CFD = angle_EFB
print("Angle EBF =", angle_EBF, "degrees")
print("Angle BEF =", angle_BEF, "degrees")
print("Angle EFB =", angle_EFB, "degrees")
print("Angle CFD (vertical angle) =", angle_CFD, "degrees")
print("Triangle angle sum =", angle_EBF+angle_BEF+angle_EFB)
Utskrift fra Python:
Angle EBF = 60 degrees
Angle BEF = 54 degrees
Angle EFB = 66 degrees
Angle CFD (vertical angle) = 66 degrees
Triangle angle sum = 180

Fasit: \(\angle CFD=66^{\circ}\).

Vanlig feil: Å blande sammen nabovinkler og toppvinkler ved F.
Sensorpunkt: Vinkelsummen i EBF og toppvinkelargumentet må begge være tydelige.
Del 1 - Oppgave 9aParameterframstilling for linje

Oppgave 9a

Oppgave: En linje \(\ell\) går gjennom \(A(-2,1)\) og \(B(4,3)\). Bestem en parameterframstilling for \(\ell\).
Vis løsning

Hva spør oppgaven om? En parameterframstilling trenger ett punkt på linjen og en retningsvektor.

Steg 1 - Finn retningsvektor

\[\overrightarrow{AB}=(4-(-2),3-1)=(6,2).\]

Steg 2 - Forkort retningsvektoren

\((6,2)=2(3,1)\), så vi kan bruke \((3,1)\).

Steg 3 - Bruk punkt A

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

Steg 4 - Skriv komponentvis

\[x=-2+3t,\qquad y=1+t.\]

Steg 5 - Parameterområde

For hele linjen lar vi \(t\in\mathbb R\).

Steg 6 - Kontroller B

Når \(t=2\), får vi \((x,y)=(4,3)=B\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Line[(-2,1),(4,3)]
Linjen gjennom A og B
2
Curve[-2+3t,1+t,t,-10,10]
Parameterkurven ligger på samme linje

Tolkning: Retningsvektoren (3,1) går fra A til B på to parameterenheter.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
A = sp.Matrix([-2,1])
B = sp.Matrix([4,3])
direction = B-A
reduced = direction/2
param = A+t*reduced
print("A =", A.T)
print("B =", B.T)
print("AB direction =", direction.T)
print("Reduced direction =", reduced.T)
print("Parametric point =", param.T)
print("At t=2 =", param.subs(t,2).T)
print("Check B =", param.subs(t,2)==B)
Utskrift fra Python:
A = Matrix([[-2, 1]])
B = Matrix([[4, 3]])
AB direction = Matrix([[6, 2]])
Reduced direction = Matrix([[3, 1]])
Parametric point = Matrix([[3*t - 2, t + 1]])
At t=2 = Matrix([[4, 3]])
Check B = True

Fasit: \((x,y)=(-2,1)+t(3,1)\), \(t\in\mathbb R\).

Vanlig feil: Å bruke punktkoordinatene som retningsvektor.
Sensorpunkt: Et korrekt punkt, en parallell retningsvektor og kontroll av B er tilstrekkelig.
Del 1 - Oppgave 9bSkjæring med koordinataksene

Oppgave 9b

Oppgave: Bestem skjæringspunktene mellom \(\ell\) og koordinataksene.
Vis løsning

Hva spør oppgaven om? Vi bruker parameterframstillingen og setter én koordinat lik null om gangen.

Steg 1 - Parameterframstilling

\(x=-2+3t\), \(y=1+t\).

Steg 2 - Skjæring med x-aksen

På x-aksen er \(y=0\), så \(1+t=0\) og \(t=-1\).

Steg 3 - Finn x-koordinaten

\(x=-2+3(-1)=-5\), altså \((-5,0)\).

Steg 4 - Skjæring med y-aksen

På y-aksen er \(x=0\), så \(-2+3t=0\) og \(t=2/3\).

Steg 5 - Finn y-koordinaten

\(y=1+2/3=5/3\), altså \((0,5/3)\).

Steg 6 - Kontroll med linjelikning

Begge punktene oppfyller \(x-3y+5=0\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Intersect[Line[(-2,1),(4,3)],xAxis]
\((-5,0)\)
2
Intersect[Line[(-2,1),(4,3)],yAxis]
\((0,5/3)\)

Tolkning: GeoGebra finner begge aksekryssene direkte.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
x_t = -2+3*t
y_t = 1+t
t_xaxis = sp.solve(sp.Eq(y_t,0),t)[0]
t_yaxis = sp.solve(sp.Eq(x_t,0),t)[0]
point_xaxis = (sp.simplify(x_t.subs(t,t_xaxis)),0)
point_yaxis = (0,sp.simplify(y_t.subs(t,t_yaxis)))
print("t for x-axis =", t_xaxis)
print("Intersection with x-axis =", point_xaxis)
print("t for y-axis =", t_yaxis)
print("Intersection with y-axis =", point_yaxis)
print("Line check x-3y+5 at x-axis point =", point_xaxis[0]-3*point_xaxis[1]+5)
print("Line check x-3y+5 at y-axis point =", point_yaxis[0]-3*point_yaxis[1]+5)
Utskrift fra Python:
t for x-axis = -1
Intersection with x-axis = (-5, 0)
t for y-axis = 2/3
Intersection with y-axis = (0, 5/3)
Line check x-3y+5 at x-axis point = 0
Line check x-3y+5 at y-axis point = 0

Fasit: Skjæringspunktene er \((-5,0)\) og \((0,5/3)\).

Vanlig feil: Å bytte om betingelsene: x-aksen betyr y=0, y-aksen betyr x=0.
Sensorpunkt: Begge punkter skal gis med eksakte koordinater.
Del 1 - Oppgave 9cAvstand fra punkt til linje

Oppgave 9c

Oppgave: En sirkel har sentrum \(S(1,0)\) og tangerer \(\ell\). Bestem sirkelens radius.
Vis løsning

Hva spør oppgaven om? Radiusen er den vinkelrette avstanden fra sentrum S til tangentlinjen.

Steg 1 - Finn linjens likning

Fra stigning \(1/3\) får vi \(y=(x+5)/3\), altså \(x-3y+5=0\).

Steg 2 - Avstandsformelen

For linjen \(Ax+By+C=0\) er avstanden fra \((x_0,y_0)\) \(\frac{|Ax_0+By_0+C|}{\sqrt{A^2+B^2}}\).

Steg 3 - Sett inn koeffisientene

Her er \(A=1\), \(B=-3\), \(C=5\) og \(S=(1,0)\).

Steg 4 - Regn ut

\[r=\frac{|1\cdot1-3\cdot0+5|}{\sqrt{1^2+(-3)^2}}=\frac6{\sqrt{10}}.\]

Steg 5 - Rasjonaliser

\[r=\frac{6\sqrt{10}}{10}=\frac{3\sqrt{10}}5.\]

Steg 6 - Desimal

\(r\approx1.897\).

Illustrasjon til Oppgave 9c
Sirkelen med sentrum S og radius lik avstanden til linjen.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Distance[(1,0),Line[(-2,1),(4,3)]]
\(3\sqrt{10}/5\)

Tolkning: Punkt-linje-avstanden er tangentcirkelens radius.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
A, B, C = 1, -3, 5
x0, y0 = 1, 0
numerator = abs(A*x0+B*y0+C)
denominator = sp.sqrt(A**2+B**2)
radius = sp.simplify(sp.Rational(numerator,1)/denominator)
print("Line equation: x-3y+5=0")
print("Center S = (1,0)")
print("Distance numerator =", numerator)
print("Distance denominator =", denominator)
print("Exact radius =", radius)
print("Equivalent form =", sp.radsimp(radius))
print("Decimal radius =", sp.N(radius,10))
Utskrift fra Python:
Line equation: x-3y+5=0
Center S = (1,0)
Distance numerator = 6
Distance denominator = sqrt(10)
Exact radius = 3*sqrt(10)/5
Equivalent form = 3*sqrt(10)/5
Decimal radius = 1.897366596

Fasit: \(r=\dfrac6{\sqrt{10}}=\dfrac{3\sqrt{10}}5\approx1.897\).

Vanlig feil: Å bruke avstanden fra S til et vilkårlig punkt på linjen i stedet for den vinkelrette avstanden.
Sensorpunkt: Linjelikning og punkt-linje-avstandsformel må brukes korrekt.

Del 2 - med hjelpemidler

Del 2 - Oppgave 1aHypergeometrisk sannsynlighet

Oppgave 1a

Oppgave: Av 20 ministre er 12 fra Høyre. Seks ministre trekkes tilfeldig uten tilbakelegging. Hva er sannsynligheten for at alle seks er fra Høyre?
Vis løsning

Hva spør oppgaven om? Trekkingen skjer uten tilbakelegging, så vi bruker kombinasjoner og hypergeometrisk sannsynlighet.

Steg 1 - Antall mulige utvalg

Antall måter å velge 6 av 20 på er \(\binom{20}{6}\).

Steg 2 - Gunstige utvalg

Alle seks skal være blant de 12 fra Høyre, så antallet er \(\binom{12}{6}\).

Steg 3 - Sett opp sannsynligheten

\[P=\frac{\binom{12}{6}}{\binom{20}{6}}.\]

Steg 4 - Regn ut kombinasjonene

\(\binom{12}{6}=924\) og \(\binom{20}{6}=38760\).

Steg 5 - Forkort

\[P=\frac{924}{38760}=\frac{77}{3230}.\]

Steg 6 - Desimal og prosent

\[P\approx0.023839=2.38\,\%.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
nCr(12,6)/nCr(20,6)
\(77/3230\approx0.023839\)

Tolkning: Kombinasjonsbrøken teller alle gunstige utvalg over alle mulige utvalg.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import math
from fractions import Fraction
favorable = math.comb(12,6)
total = math.comb(20,6)
probability = Fraction(favorable,total)
print("C(12,6) =", favorable)
print("C(20,6) =", total)
print("Exact probability =", probability)
print("Decimal probability =", float(probability))
print("Percent =", 100*float(probability))
Utskrift fra Python:
C(12,6) = 924
C(20,6) = 38760
Exact probability = 77/3230
Decimal probability = 0.023839009287925695
Percent = 2.3839009287925697

Fasit: \(P=\dfrac{\binom{12}{6}}{\binom{20}{6}}=\dfrac{77}{3230}\approx2.38\,\%\).

Vanlig feil: Å bruke en binomisk modell som om trekkene var uavhengige.
Sensorpunkt: Utvalg uten tilbakelegging krever kombinasjoner eller hypergeometrisk modell.
Del 2 - Oppgave 1bSannsynlighet for én bestemt person

Oppgave 1b

Oppgave: Bestem sannsynligheten for at statsministeren er blant de seks som trekkes ut av 20.
Vis løsning

Hva spør oppgaven om? Alle 20 personer har samme sannsynlighet for å bli inkludert i et tilfeldig utvalg på seks.

Steg 1 - Symmetriargument

Et utvalg inneholder 6 av 20 personer.

Steg 2 - Direkte sannsynlighet

For én bestemt person er inkluderingssannsynligheten derfor \(6/20\).

Steg 3 - Forkort

\[\frac6{20}=\frac3{10}.\]

Steg 4 - Kombinasjonskontroll

Gunstige utvalg: velg statsministeren og 5 av de 19 andre, altså \(\binom{19}{5}\).

Steg 5 - Kontroller brøken

\[\frac{\binom{19}{5}}{\binom{20}{6}}=\frac3{10}.\]

Steg 6 - Prosent

\(3/10=30\,\%\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
nCr(19,5)/nCr(20,6)
\(3/10=0.3\)

Tolkning: Vi låser statsministeren inne i utvalget og velger de fem andre.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import math
from fractions import Fraction
favorable = math.comb(19,5)
total = math.comb(20,6)
by_counting = Fraction(favorable,total)
by_symmetry = Fraction(6,20)
print("Favorable selections C(19,5) =", favorable)
print("Total selections C(20,6) =", total)
print("Probability by counting =", by_counting)
print("Probability by symmetry =", by_symmetry)
print("Methods agree =", by_counting==by_symmetry)
print("Percent =", 100*float(by_counting))
Utskrift fra Python:
Favorable selections C(19,5) = 11628
Total selections C(20,6) = 38760
Probability by counting = 3/10
Probability by symmetry = 3/10
Methods agree = True
Percent = 30.0

Fasit: \(P=\dfrac3{10}=30\,\%\).

Vanlig feil: Å regne sannsynligheten som \(1/20\), som gjelder én bestemt plass, ikke seks plasser.
Sensorpunkt: Enten symmetriargument eller korrekt kombinasjonsbrøk må dokumenteres.
Del 2 - Oppgave 1cFlerkategori-hypergeometrisk sannsynlighet

Oppgave 1c

Oppgave: Bestem sannsynligheten for at utvalget består av 2 fra Høyre, 2 fra Venstre og 2 fra Kristelig Folkeparti, når gruppestørrelsene er 12, 4 og 4.
Vis løsning

Hva spør oppgaven om? Vi velger ønsket antall fra hver av de tre partigruppene og dividerer med alle seksmannsutvalg.

Steg 1 - Velg fra Høyre

Antall måter er \(\binom{12}{2}\).

Steg 2 - Velg fra Venstre

Antall måter er \(\binom{4}{2}\).

Steg 3 - Velg fra KrF

Antall måter er \(\binom{4}{2}\).

Steg 4 - Multipliser gunstige valg

\[N_g=\binom{12}{2}\binom42\binom42.\]

Steg 5 - Divider med alle utvalg

\[P=\frac{\binom{12}{2}\binom42\binom42}{\binom{20}{6}}.\]

Steg 6 - Regn ut

\[P=\frac{66\cdot6\cdot6}{38760}=\frac{99}{1615}.\]

Steg 7 - Prosent

\(P\approx0.06130=6.13\,\%\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
nCr(12,2)*nCr(4,2)*nCr(4,2)/nCr(20,6)
\(99/1615\approx0.0613003\)

Tolkning: Produktet i telleren velger nøyaktig to fra hver kategori.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import math
from fractions import Fraction
choose_H = math.comb(12,2)
choose_V = math.comb(4,2)
choose_K = math.comb(4,2)
favorable = choose_H*choose_V*choose_K
total = math.comb(20,6)
probability = Fraction(favorable,total)
print("C(12,2) =", choose_H)
print("C(4,2) for Venstre =", choose_V)
print("C(4,2) for KrF =", choose_K)
print("Favorable selections =", favorable)
print("Total selections =", total)
print("Exact probability =", probability)
print("Decimal probability =", float(probability))
print("Percent =", 100*float(probability))
Utskrift fra Python:
C(12,2) = 66
C(4,2) for Venstre = 6
C(4,2) for KrF = 6
Favorable selections = 2376
Total selections = 38760
Exact probability = 99/1615
Decimal probability = 0.06130030959752322
Percent = 6.130030959752323

Fasit: \(P=\dfrac{99}{1615}\approx0.06130=6.13\,\%\).

Vanlig feil: Å summere kombinasjonstallene i stedet for å multiplisere dem.
Sensorpunkt: Valgene fra de tre kategoriene skjer samtidig og må derfor multipliseres.
Del 2 - Oppgave 2aParameterkurve

Oppgave 2a

Oppgave: Posisjonen er \(\vec r(t)=[t^2-7t+11,\ t^3-6t^2+8t-1]\), \(0\le t\le5\). Tegn grafen til \(\vec r\) i et koordinatsystem.
Vis løsning

Hva spør oppgaven om? Vi tegner en parameterkurve ved å bruke første komponent som x-koordinat og andre komponent som y-koordinat.

Steg 1 - Identifiser komponentene

\(x(t)=t^2-7t+11\) og \(y(t)=t^3-6t^2+8t-1\).

Steg 2 - Bruk riktig parameterintervall

Bare \(0\le t\le5\) skal tegnes.

Steg 3 - Finn startpunktet

\(\vec r(0)=[11,-1]\).

Steg 4 - Finn endepunktet

\(\vec r(5)=[1,14]\).

Steg 5 - Finn noen støttepunkter

For eksempel \(\vec r(1)=[5,2]\), \(\vec r(2)=[1,-1]\), \(\vec r(3)=[-1,-4]\), \(\vec r(4)=[-1,-1]\).

Steg 6 - Tegn i riktig retning

Kurven går fra \((11,-1)\) ved \(t=0\) til \((1,14)\) ved \(t=5\).

Steg 7 - Dokumenter verktøyet

En graftegner skal vise selve parameterkommandoen og intervallet.

Illustrasjon til Oppgave 2a
Parameterkurven med startpunkt, endepunkt og punktet med lavest fart.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Curve[t^2-7t+11,t^3-6t^2+8t-1,t,0,5]
Parameterkurven fra \((11,-1)\) til \((1,14)\)

Tolkning: Curve-kommandoen bruker begge koordinatfunksjonene og riktig tidsintervall.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
x_t = t**2-7*t+11
y_t = t**3-6*t**2+8*t-1
r = sp.Matrix([x_t,y_t])
print("r(t) =", r.T)
for value in range(0,6):
    point = r.subs(t,value)
    print("t =", value, "-> point =", tuple(point))
print("Start point =", tuple(r.subs(t,0)))
print("End point =", tuple(r.subs(t,5)))
Utskrift fra Python:
r(t) = Matrix([[t**2 - 7*t + 11, t**3 - 6*t**2 + 8*t - 1]])
t = 0 -> point = (11, -1)
t = 1 -> point = (5, 2)
t = 2 -> point = (1, -1)
t = 3 -> point = (-1, -4)
t = 4 -> point = (-1, -1)
t = 5 -> point = (1, 14)
Start point = (11, -1)
End point = (1, 14)

Fasit: Grafen er parameterkurven \((x,y)=(t^2-7t+11,\ t^3-6t^2+8t-1)\) for \(0\le t\le5\).

Vanlig feil: Å tegne de to komponentfunksjonene hver for seg mot t i stedet for en bane i xy-planet.
Sensorpunkt: Kurven, parameterintervallet og retningen må dokumenteres.
Del 2 - Oppgave 2bBanefart fra fartsvektor

Oppgave 2b

Oppgave: Bestem banefarten til partikkelen etter 1 sekund.
Vis løsning

Hva spør oppgaven om? Banefarten er lengden av fartsvektoren \(ec v(t)=ec r\,^\prime(t)\).

Steg 1 - Deriver x-komponenten

\(x^\prime(t)=2t-7\).

Steg 2 - Deriver y-komponenten

\(y^\prime(t)=3t^2-12t+8\).

Steg 3 - Fartsvektor

\[\vec v(t)=[2t-7,\ 3t^2-12t+8].\]

Steg 4 - Sett inn t=1

\[\vec v(1)=[-5,-1].\]

Steg 5 - Finn lengden

\[|\vec v(1)|=\sqrt{(-5)^2+(-1)^2}=\sqrt{26}.\]

Steg 6 - Desimal

\(\sqrt{26}\approx5.10\) enheter per sekund.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
r(t)=(t^2-7t+11,t^3-6t^2+8t-1)
Posisjonsvektor
2
Length[Derivative[r](1)]
\(\sqrt{26}\)

Tolkning: Den deriverte gir fartsvektoren, og Length gir banefarten.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
r = sp.Matrix([t**2-7*t+11,t**3-6*t**2+8*t-1])
v = r.diff(t)
v_at_1 = v.subs(t,1)
speed_at_1 = sp.sqrt(v_at_1.dot(v_at_1))
print("r(t) =", r.T)
print("v(t) =", v.T)
print("v(1) =", v_at_1.T)
print("v(1) dot v(1) =", v_at_1.dot(v_at_1))
print("Exact speed at t=1 =", speed_at_1)
print("Decimal speed =", sp.N(speed_at_1,10))
Utskrift fra Python:
r(t) = Matrix([[t**2 - 7*t + 11, t**3 - 6*t**2 + 8*t - 1]])
v(t) = Matrix([[2*t - 7, 3*t**2 - 12*t + 8]])
v(1) = Matrix([[-5, -1]])
v(1) dot v(1) = 26
Exact speed at t=1 = sqrt(26)
Decimal speed = 5.099019514

Fasit: Banefarten etter 1 sekund er \(\sqrt{26}\approx5.10\).

Vanlig feil: Å oppgi fartsvektoren \([-5,-1]\) som banefart.
Sensorpunkt: Sensor forventer normen av fartsvektoren, ikke bare komponentene.
Del 2 - Oppgave 2cMinimering av banefart

Oppgave 2c

Oppgave: Ved hvilket tidspunkt er banefarten lavest i løpet av de fem sekundene?
Vis løsning

Hva spør oppgaven om? Det er enklere å minimere kvadratet av banefarten, fordi kvadratrotfunksjonen er strengt voksende for ikke-negative tall.

Steg 1 - Fartsvektor

\(\vec v(t)=[2t-7,\ 3t^2-12t+8]\).

Steg 2 - Kvadrert fart

\[q(t)=|\vec v(t)|^2=(2t-7)^2+(3t^2-12t+8)^2.\]

Steg 3 - Utvid

\[q(t)=9t^4-72t^3+196t^2-220t+113.\]

Steg 4 - Deriver og faktoriser

\[q^\prime(t)=4(3t-5)(3t^2-13t+11).\]

Steg 5 - Finn kritiske tider

\[t=\frac53,\qquad t=\frac{13\pm\sqrt{37}}6.\]

Steg 6 - Sammenlikn på hele intervallet

Vi vurderer \(q\) i de tre kritiske punktene og i endepunktene \(t=0\) og \(t=5\).

Steg 7 - Velg minimum

Den minste verdien fås ved \[t=\frac{13+\sqrt{37}}6\approx3.18046.\]

Steg 8 - Kontroll

Da er banefarten omtrent \(0.6641\), mindre enn ved alle andre kandidater.

Illustrasjon til Oppgave 2c
Punktet merket «lavest fart» svarer til t=(13+√37)/6.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
q(t):=(2t-7)^2+(3t^2-12t+8)^2
Kvadrert banefart
2
Solve[Derivative[q]=0]
\(t=(13-\sqrt{37})/6,\ 5/3,\ (13+\sqrt{37})/6\)
3
Minimize[q(t),0<=t<=5]
\(t=(13+\sqrt{37})/6\)

Tolkning: Minimering av q(t) gir samme tidspunkt som minimering av banefarten.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
t = sp.symbols("t", real=True)
v = sp.Matrix([2*t-7,3*t**2-12*t+8])
q = sp.expand(v.dot(v))
q_prime = sp.factor(sp.diff(q,t))
critical = sp.solve(sp.Eq(q_prime,0),t)
candidates = [sp.Integer(0),*critical,sp.Integer(5)]
values = [(c,sp.N(q.subs(t,c),15),sp.N(sp.sqrt(q.subs(t,c)),15)) for c in candidates]
print("v(t) =", v.T)
print("q(t) = |v(t)|^2 =", q)
print("q'(t) factorized =", q_prime)
print("Critical times =", critical)
for c, qvalue, speed in values:
    print("t =", c, "q(t) =", qvalue, "speed =", speed)
minimum_time = (13+sp.sqrt(37))/6
print("Minimum time exact =", minimum_time)
print("Minimum time decimal =", sp.N(minimum_time,15))
Utskrift fra Python:
v(t) = Matrix([[2*t - 7, 3*t**2 - 12*t + 8]])
q(t) = |v(t)|^2 = 9*t**4 - 72*t**3 + 196*t**2 - 220*t + 113
q'(t) factorized = 4*(3*t - 5)*(3*t**2 - 13*t + 11)
Critical times = [5/3, 13/6 - sqrt(37)/6, sqrt(37)/6 + 13/6]
t = 0 q(t) = 113.000000000000 speed = 10.6301458127346
t = 5/3 q(t) = 26.8888888888889 speed = 5.18544972870135
t = 13/6 - sqrt(37)/6 q(t) = 25.4479007567241 speed = 5.04459123782335
t = sqrt(37)/6 + 13/6 q(t) = 0.440988132164771 speed = 0.664069373006142
t = 5 q(t) = 538.000000000000 speed = 23.1948270094864
Minimum time exact = sqrt(37)/6 + 13/6
Minimum time decimal = 3.18046042171637

Fasit: Banefarten er lavest ved \(t=\dfrac{13+\sqrt{37}}6\approx3.180\,\text{s}\).

Vanlig feil: Å finne bare ett nullpunkt for den deriverte eller å glemme endepunktene.
Sensorpunkt: Alle kandidater på det lukkede intervallet må sammenliknes.
Del 2 - Oppgave 3aEksponentiallikning med logaritmemodell

Oppgave 3a

Oppgave: Modellen er \(h=16\ln(a)+31\). Dennis har hundealder 65. Hvor mange år har Dennis levd?
Vis løsning

Hva spør oppgaven om? Vi setter \(h=65\), isolerer logaritmen og eksponentierer.

Steg 1 - Sett inn h

\[65=16\ln(a)+31.\]

Steg 2 - Trekk fra 31

\[34=16\ln(a).\]

Steg 3 - Del på 16

\[\ln(a)=\frac{34}{16}=\frac{17}{8}.\]

Steg 4 - Eksponentier

\[a=e^{17/8}.\]

Steg 5 - Regn ut

\[a\approx8.3729.\]

Steg 6 - Tolkning

Dennis har levd omtrent 8.37 år, altså litt over 8 år og 4 måneder.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[65=16ln(a)+31,a]
\(a=e^{17/8}\approx8.37290\)

Tolkning: CAS isolerer a ved å bruke eksponentialfunksjonen.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
a = sp.symbols("a", positive=True)
h = 16*sp.log(a)+31
solution = sp.solve(sp.Eq(h,65),a)[0]
check = sp.simplify(h.subs(a,solution))
print("Model h(a) =", h)
print("Equation: h(a) = 65")
print("Exact age a =", solution)
print("Decimal age a =", sp.N(solution,12))
print("Substitution check h(a) =", check)
print("Approximate months beyond 8 years =", sp.N((solution-8)*12,6))
Utskrift fra Python:
Model h(a) = 16*log(a) + 31
Equation: h(a) = 65
Exact age a = exp(17/8)
Decimal age a = 8.37289748813
Substitution check h(a) = 65
Approximate months beyond 8 years = 4.47477

Fasit: Dennis har levd \(a=e^{17/8}\approx8.37\) år.

Vanlig feil: Å bruke 10-logaritme eller å glemme å trekke fra 31 før divisjon.
Sensorpunkt: Eksakt eksponentialform og en rimelig desimalverdi bør oppgis.
Del 2 - Oppgave 3bGrafisk framstilling av logaritmemodell

Oppgave 3b

Oppgave: Lag en grafisk framstilling med faktisk alder \(a\) langs førsteaksen og hundealder \(h\) langs andreaksen for modellen \(h=16\ln(a)+31\).
Vis løsning

Hva spør oppgaven om? Vi tegner logaritmefunksjonen på et meningsfullt positivt aldersintervall og merker aksene tydelig.

Steg 1 - Definisjonsmengde

Logaritmen krever \(a>0\).

Steg 2 - Velg vindu

Et praktisk vindu kan være \(0.1\le a\le15\).

Steg 3 - Legg inn funksjonen

\[h(a)=16\ln(a)+31.\]

Steg 4 - Merk aksene

Førsteaksen viser faktisk hundealder a i år, andreaksen viser modellens hundealder h.

Steg 5 - Beskriv formen

Grafen er voksende, men stigningstallet avtar fordi \(h^\prime(a)=16/a\).

Steg 6 - Kontrollpunkt

For \(a=1\) får vi \(h=31\), så grafen går gjennom \((1,31)\).

Illustrasjon til Oppgave 3b
Grafisk framstilling av hundealdermodellen for positive aldre.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
h(a):=16ln(a)+31
Logaritmisk modell
2
Function[h,0.1,15]
Graf for positive aldre

Tolkning: Grafen skal bare tegnes for a>0, og aksene må ha korrekt betydning.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
a = sp.symbols("a", positive=True)
h = 16*sp.log(a)+31
h_prime = sp.diff(h,a)
print("h(a) =", h)
print("Domain: a > 0")
print("h'(a) =", h_prime)
for value in [sp.Rational(1,2),1,2,5,10,15]:
    print("a =", value, "-> h =", sp.N(h.subs(a,value),10))
print("Reference point h(1) =", h.subs(a,1))
print("Derivative is positive for every a > 0")
Utskrift fra Python:
h(a) = 16*log(a) + 31
Domain: a > 0
h'(a) = 16/a
a = 1/2 -> h = 19.90964511
a = 1 -> h = 31.00000000
a = 2 -> h = 42.09035489
a = 5 -> h = 56.75100660
a = 10 -> h = 67.84136149
a = 15 -> h = 74.32880322
Reference point h(1) = 31
Derivative is positive for every a > 0

Fasit: Grafen er \(h=16\ln(a)+31\) for \(a>0\), med a på førsteaksen og h på andreaksen.

Vanlig feil: Å tegne grafen for negative a-verdier eller å bytte om aksene.
Sensorpunkt: Domene, aksemerking og dokumentert grafkommando må være tydelige.
Del 2 - Oppgave 3cLikningssystem med logaritmer

Oppgave 3c

Oppgave: For ett år siden var Laikas hundealder 20 mer enn Fidos. I dag er Laikas hundealder 10 mer enn Fidos. Hva er Laikas hundealder i dag?
Vis løsning

Hva spør oppgaven om? Vi lar x og y være de faktiske alderne til Laika og Fido i dag og oversetter begge opplysningene til logaritmelikninger.

Steg 1 - Definer faktiske aldre

La Laika være \(x\) år og Fido \(y\) år i dag, med \(x>1\), \(y>1\).

Steg 2 - Dagens forskjell

\[16\ln x-16\ln y=10\quad\Rightarrow\quad \frac{x}{y}=e^{5/8}.\]

Steg 3 - Forskjellen for ett år siden

\[16\ln(x-1)-16\ln(y-1)=20\quad\Rightarrow\quad\frac{x-1}{y-1}=e^{5/4}.\]

Steg 4 - Innfør k

Sett \(k=e^{5/8}\). Da er \(x=ky\), og den andre forholdslikningen har høyreside \(k^2\).

Steg 5 - Løs for y

\[\frac{ky-1}{y-1}=k^2\Rightarrow ky-1=k^2y-k^2\Rightarrow y=\frac{k+1}{k}.\]

Steg 6 - Finn x

\[x=ky=k+1=1+e^{5/8}.\]

Steg 7 - Finn Laikas hundealder

\[h_L=16\ln(1+e^{5/8})+31\approx47.859.\]

Steg 8 - Kontroller begge forskjellene

I dag blir forskjellen 10, og for ett år siden blir den 20.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
k:=exp(5/8)
\(k=e^{5/8}\)
2
x:=k+1
Laikas faktiske alder
3
16ln(x)+31
\(47.85921085\)

Tolkning: CAS-løsningen gir Laikas faktiske alder først og deretter modellens hundealder.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
k = sp.exp(sp.Rational(5,8))
x = 1+k
y = 1+1/k
h = lambda age: 16*sp.log(age)+31
laika_today = sp.simplify(h(x))
fido_today = sp.simplify(h(y))
laika_last = sp.simplify(h(x-1))
fido_last = sp.simplify(h(y-1))
print("k = exp(5/8) =", sp.N(k,12))
print("Laika actual age x =", x, "=", sp.N(x,12))
print("Fido actual age y =", y, "=", sp.N(y,12))
print("Laika dog age today =", laika_today, "=", sp.N(laika_today,12))
print("Fido dog age today =", sp.N(fido_today,12))
print("Difference today =", sp.simplify(laika_today-fido_today))
print("Laika dog age one year ago =", sp.N(laika_last,12))
print("Fido dog age one year ago =", sp.N(fido_last,12))
print("Difference one year ago =", sp.simplify(laika_last-fido_last))
Utskrift fra Python:
k = exp(5/8) = 1.86824595743
Laika actual age x = 1 + exp(5/8) = 2.86824595743
Fido actual age y = exp(-5/8) + 1 = 1.53526142852
Laika dog age today = 16*log(1 + exp(5/8)) + 31 = 47.8592108524
Fido dog age today = 37.8592108524
Difference today = 10
Laika dog age one year ago = 41.0000000000
Fido dog age one year ago = 21.0000000000
Difference one year ago = 20

Fasit: Laikas hundealder i dag er \(16\ln(1+e^{5/8})+31\approx47.86\).

Vanlig feil: Å svare med Laikas faktiske alder \(2.87\) år i stedet for modellens hundealder.
Sensorpunkt: Begge tidsbetingelser må brukes, og sluttverdien skal være h, ikke a.
Del 2 - Oppgave 4aHerons formel

Oppgave 4a

Oppgave: Bruk Herons formel til å bestemme arealet av en trekant med sidelengder 5, 7 og 8.
Vis løsning

Hva spør oppgaven om? Vi finner først halvperimeteren og setter alle fire faktorene inn i Herons formel.

Steg 1 - Halvperimeter

\[s=\frac{5+7+8}{2}=10.\]

Steg 2 - Differansene

\(s-5=5\), \(s-7=3\) og \(s-8=2\).

Steg 3 - Sett inn

\[F=\sqrt{10\cdot5\cdot3\cdot2}.\]

Steg 4 - Multipliser

\[F=\sqrt{300}.\]

Steg 5 - Forenkle roten

\[F=\sqrt{100\cdot3}=10\sqrt3.\]

Steg 6 - Desimal og enhet

\[F\approx17.32\ \text{kvadratenheter}.\]

Illustrasjon til Oppgave 4a
Trekant med sidelengdene 5, 7 og 8 og høyden ned på grunnlinjen.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
s:=(5+7+8)/2
\(s=10\)
2
sqrt(s(s-5)(s-7)(s-8))
\(10\sqrt3\)

Tolkning: Herons formel gir eksakt areal direkte fra de tre sidene.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
a, b, c = 5, 7, 8
s = sp.Rational(a+b+c,2)
area_squared = s*(s-a)*(s-b)*(s-c)
area = sp.sqrt(area_squared)
print("Side lengths =", (a,b,c))
print("Semiperimeter s =", s)
print("Factors =", (s,s-a,s-b,s-c))
print("Area squared =", area_squared)
print("Exact area =", sp.simplify(area))
print("Decimal area =", sp.N(area,12))
Utskrift fra Python:
Side lengths = (5, 7, 8)
Semiperimeter s = 10
Factors = (10, 5, 3, 2)
Area squared = 300
Exact area = 10*sqrt(3)
Decimal area = 17.3205080757

Fasit: \(F=10\sqrt3\approx17.32\).

Vanlig feil: Å bruke hele omkretsen i stedet for halvperimeteren s.
Sensorpunkt: Alle Heron-faktorene og korrekt kvadratrot må vises.
Del 2 - Oppgave 4bPytagoras og algebra

Oppgave 4b

Oppgave: Vi har \(q=c-p\). Vis at \(b^2\) kan skrives som \(b^2=h^2+c^2-2cp+p^2\).
Vis løsning

Hva spør oppgaven om? Trekanten ACD er rettvinklet, så vi kombinerer Pytagoras med det oppgitte uttrykket for q.

Steg 1 - Bruk Pytagoras i ACD

\[b^2=h^2+q^2.\]

Steg 2 - Sett inn q

\[q=c-p.\]

Steg 3 - Kvadrer

\[(c-p)^2=c^2-2cp+p^2.\]

Steg 4 - Sett inn i Pytagoras

\[b^2=h^2+(c-p)^2.\]

Steg 5 - Utvid

\[b^2=h^2+c^2-2cp+p^2.\]

Steg 6 - Konklusjon

Dette er akkurat uttrykket som skulle vises.

Illustrasjon til Oppgave 4b
I figuren er q=AD, p=DB og h=CD.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Expand[h^2+(c-p)^2]
\(h^2+c^2-2cp+p^2\)

Tolkning: CAS-utvidelsen av kvadratet gir ønsket identitet.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
h, c, p = sp.symbols("h c p", real=True)
q = c-p
pythagoras = h**2+q**2
expanded = sp.expand(pythagoras)
expected = h**2+c**2-2*c*p+p**2
print("q =", q)
print("b^2 from Pythagoras = h^2+q^2")
print("After substitution =", pythagoras)
print("Expanded expression =", expanded)
print("Expected expression =", expected)
print("Difference =", sp.simplify(expanded-expected))
Utskrift fra Python:
q = c - p
b^2 from Pythagoras = h^2+q^2
After substitution = h**2 + (c - p)**2
Expanded expression = c**2 - 2*c*p + h**2 + p**2
Expected expression = c**2 - 2*c*p + h**2 + p**2
Difference = 0

Fasit: \(b^2=h^2+c^2-2cp+p^2\).

Vanlig feil: Å skrive \((c-p)^2=c^2-p^2\) og miste kryssleddet.
Sensorpunkt: Pytagoras og full kvadratsetning skal brukes eksplisitt.
Del 2 - Oppgave 4cUtledning av projeksjonslengde

Oppgave 4c

Oppgave: Bruk blant annet resultatet fra b til å vise at \[p=\frac{a^2+c^2-b^2}{2c}.\]
Vis løsning

Hva spør oppgaven om? Vi uttrykker h²+p² ved hjelp av den andre rettvinklede trekanten og eliminerer h og p².

Steg 1 - Pytagoras i BCD

\[a^2=h^2+p^2.\]

Steg 2 - Bruk resultatet fra b

\[b^2=h^2+c^2-2cp+p^2.\]

Steg 3 - Erstatt h²+p²

Siden \(h^2+p^2=a^2\), får vi \[b^2=a^2+c^2-2cp.\]

Steg 4 - Isoler 2cp

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

Steg 5 - Del på 2c

\[p=\frac{a^2+c^2-b^2}{2c}.\]

Steg 6 - Betingelse

Vi har \(c>0\) fordi c er en sidelengde, så divisjonen er lovlig.

Illustrasjon til Oppgave 4c
p er den horisontale delen DB i trekanten.

GeoGebra/CAS-kontroll

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

Tolkning: CAS isolerer p i den lineære likningen.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
a, b, c, p = sp.symbols("a b c p", positive=True)
equation = sp.Eq(b**2,a**2+c**2-2*c*p)
solution = sp.solve(equation,p)[0]
expected = (a**2+c**2-b**2)/(2*c)
print("Equation after eliminating h =", equation)
print("Solution for p =", solution)
print("Expected =", expected)
print("Difference =", sp.simplify(solution-expected))
print("Reinserted left-right difference =", sp.simplify((a**2+c**2-2*c*solution)-b**2))
print("Assumption: c > 0")
Utskrift fra Python:
Equation after eliminating h = Eq(b**2, a**2 + c**2 - 2*c*p)
Solution for p = (a**2 - b**2 + c**2)/(2*c)
Expected = (a**2 - b**2 + c**2)/(2*c)
Difference = 0
Reinserted left-right difference = 0
Assumption: c > 0

Fasit: \(p=\dfrac{a^2+c^2-b^2}{2c}\).

Vanlig feil: Å flytte \(-2cp\) over likhetstegnet med feil fortegn.
Sensorpunkt: Eliminasjonen av \(h^2+p^2\) og isoleringen av p må være logisk sammenhengende.
Del 2 - Oppgave 4dCAS-bevis av Herons formel

Oppgave 4d

Oppgave: Bruk CAS til å vise at \[\frac14c^2\left(a^2-\left(\frac{a^2+c^2-b^2}{2c}\right)^2\right)=s(s-a)(s-b)(s-c),\qquad s=\frac{a+b+c}{2},\] og forklar hvorfor dette beviser Herons formel.
Vis løsning

Hva spør oppgaven om? Vi kobler venstresiden til arealet i andre potens og lar CAS faktorisere differansen mellom de to uttrykkene.

Steg 1 - Areal med grunnlinje og høyde

\(F=\frac12ch\), så \(F^2=\frac14c^2h^2\).

Steg 2 - Bruk Pytagoras

I trekanten BCD er \(h^2=a^2-p^2\).

Steg 3 - Sett inn p fra del c

\[F^2=\frac14c^2\left(a^2-\left(\frac{a^2+c^2-b^2}{2c}\right)^2\right).\]

Steg 4 - Definer halvperimeteren

\(s=(a+b+c)/2\).

Steg 5 - CAS-faktorisering

CAS forenkler differansen mellom venstresiden og \(s(s-a)(s-b)(s-c)\) til 0.

Steg 6 - Identitet for arealets kvadrat

Dermed er \[F^2=s(s-a)(s-b)(s-c).\]

Steg 7 - Ta positiv kvadratrot

Areal og alle Heron-faktorene for en gyldig trekant er ikke-negative. Derfor \[F=\sqrt{s(s-a)(s-b)(s-c)}.\]

Steg 8 - Konklusjon

Dette er Herons formel.

Illustrasjon til Oppgave 4d
Høyden h kobler grunnlinjeformelen for areal til Herons produkt.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
s:=(a+b+c)/2
Halvperimeter
2
Factor[(1/4)c^2(a^2-((a^2+c^2-b^2)/(2c))^2)-s(s-a)(s-b)(s-c)]
\(0\)

Tolkning: Når differansen faktoriseres til 0, er uttrykkene identiske for positive sidelengder som danner en trekant.

Python-kontroll med SymPy

Python 3 - faktisk kjøring
import sympy as sp
a, b, c = sp.symbols("a b c", positive=True)
s = (a+b+c)/2
p = (a**2+c**2-b**2)/(2*c)
left = sp.Rational(1,4)*c**2*(a**2-p**2)
right = s*(s-a)*(s-b)*(s-c)
difference = sp.factor(sp.together(left-right))
print("s =", s)
print("p =", p)
print("Left side F^2 expression =", sp.factor(left))
print("Heron product =", sp.factor(right))
print("Factorized difference =", difference)
print("Identity verified =", difference==0)
example = {a:5,b:7,c:8}
print("Example left side =", sp.simplify(left.subs(example)))
print("Example right side =", sp.simplify(right.subs(example)))
print("Positive square root =", sp.sqrt(sp.simplify(right.subs(example))))
Utskrift fra Python:
s = a/2 + b/2 + c/2
p = (a**2 - b**2 + c**2)/(2*c)
Left side F^2 expression = -(a - b - c)*(a - b + c)*(a + b - c)*(a + b + c)/16
Heron product = -(a - b - c)*(a - b + c)*(a + b - c)*(a + b + c)/16
Factorized difference = 0
Identity verified = True
Example left side = 300
Example right side = 300
Positive square root = 10*sqrt(3)

Fasit: CAS gir differansen 0, altså \(F^2=s(s-a)(s-b)(s-c)\). Positiv kvadratrot gir Herons formel.

Vanlig feil: Å stoppe ved likhet mellom kvadratene uten å forklare hvorfor den positive kvadratroten velges.
Sensorpunkt: CAS-dokumentasjon, koblingen til \(F^2\) og argumentet om positiv kvadratrot må være med.
Kilde og metode: Oppgavetekstene er transkribert fra Utdanningsdirektoratets eksamenssett REA3022 Matematikk R1, våren 2021. Sidebildene fra original-PDF-en er brukt som autoritativ kilde ved symboler og figurer. Løsningene, figurene og kontrollkodene er originale ifingo-utarbeidelser. Python-utskriftene er generert ved faktisk kjøring av hver kodeblokk under produksjonen.