R1 eksamenVår 2020

Matematikk R1 eksamen – vår 2020

ifingo
Norsk (Bokmål)

ifingo · Matematikk R1

Matematikk R1 - våren 2020 (REA3022)

Løsningsforslag til eksamenssettet fra Utdanningsdirektoratet.

Del 1 - uten hjelpemidler

Del 1 - Oppgave 1aDerivasjon ledd for ledd

Oppgave 1a

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

Hva spør oppgaven om? Vi bruker potensregelen på polynomleddene og standardregelen for den naturlige logaritmen.

Steg 1 - Definisjonsmengde

Fordi \(\ln x\) inngår, må \(x>0\).

Steg 2 - Første ledd

\((x^6)^{\prime}=6x^5\).

Steg 3 - Andre ledd

\((3x^5)^{\prime}=15x^4\).

Steg 4 - Logaritmeleddet

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

Steg 5 - Samle

\[f^{\prime}(x)=6x^5+15x^4+\frac1x.\]

Steg 6 - Kontroller

Alle ledd er derivert én gang, og området \(x>0\) beholdes.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[x^6+3x^5+ln(x),x]
\(6x^5+15x^4+1/x\)

Tolkning: CAS deriverer leddvis og gir samme uttrykk.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", positive=True)
f = x**6 + 3*x**5 + sp.log(x)
f_prime = sp.diff(f, x)
expected = 6*x**5 + 15*x**4 + 1/x
print("f(x) =", f)
print("f'(x) =", f_prime)
print("Expected =", expected)
print("Difference =", sp.simplify(f_prime-expected))
print("Domain condition: x > 0")
Utskrift fra Python:
f(x) = x**6 + 3*x**5 + log(x)
f'(x) = 6*x**5 + 15*x**4 + 1/x
Expected = 6*x**5 + 15*x**4 + 1/x
Difference = 0
Domain condition: x > 0

Fasit: \(f^{\prime}(x)=6x^5+15x^4+\dfrac1x\), for \(x>0\).

Vanlig feil: Å glemme at den deriverte av \(\ln x\) er \(1/x\), eller å utelate definisjonsmengden.
Sensorpunkt: Alle tre derivasjonsreglene og \(x>0\) skal være tydelige.
Del 1 - Oppgave 1bProduktregel og kjerneregel

Oppgave 1b

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

Hva spør oppgaven om? Funksjonen er et produkt. Eksponentialfaktoren krever i tillegg kjerneregelen.

Steg 1 - Velg faktorer

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

Steg 2 - Deriver u

\(u^{\prime}=4x\).

Steg 3 - Deriver v

Kjerneregelen gir \(v^{\prime}=2e^{2x-1}\).

Steg 4 - Produktregelen

\[g^{\prime}=u^{\prime}v+uv^{\prime}.\]

Steg 5 - Sett inn

\[g^{\prime}(x)=4xe^{2x-1}+4x^2e^{2x-1}.\]

Steg 6 - Faktoriser

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

GeoGebra/CAS-kontroll

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

Tolkning: GeoGebra bruker både produktregelen og kjerneregelen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
u = 2*x**2
v = sp.exp(2*x-1)
product_rule = sp.diff(u,x)*v + u*sp.diff(v,x)
factored = sp.factor(product_rule)
print("u'(x) =", sp.diff(u,x))
print("v'(x) =", sp.diff(v,x))
print("Expanded derivative =", sp.expand(product_rule))
print("Factored derivative =", factored)
print("Direct-check difference =", sp.simplify(factored-sp.diff(u*v,x)))
Utskrift fra Python:
u'(x) = 4*x
v'(x) = 2*exp(2*x - 1)
Expanded derivative = 4*x**2*exp(-1)*exp(2*x) + 4*x*exp(-1)*exp(2*x)
Factored derivative = 4*x*(x + 1)*exp(-1)*exp(2*x)
Direct-check difference = 0

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

Vanlig feil: Å glemme faktoren 2 fra kjerneregelen eller å derivere bare én faktor.
Sensorpunkt: Produktregelen, kjerneregelen og faktoriseringen må være dokumentert.
Del 1 - Oppgave 1cKvotientregelen

Oppgave 1c

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

Hva spør oppgaven om? Vi bruker kvotientregelen og tar hensyn til at nevneren ikke kan være null.

Steg 1 - Definisjonsmengde

\(x\ne-2\).

Steg 2 - Sett teller og nevner

\(u=4x-1\), \(v=x+2\).

Steg 3 - Deriver

\(u^{\prime}=4\), \(v^{\prime}=1\).

Steg 4 - Kvotientregelen

\[h^{\prime}=\frac{u^{\prime}v-uv^{\prime}}{v^2}.\]

Steg 5 - Sett inn

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

Steg 6 - Forenkle

\[h^{\prime}(x)=\frac9{(x+2)^2}.\]

GeoGebra/CAS-kontroll

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

Tolkning: CAS bekrefter at alle x-leddene i telleren kanselleres.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
h = (4*x-1)/(x+2)
h_prime = sp.factor(sp.diff(h,x))
expected = 9/(x+2)**2
print("h(x) =", h)
print("h'(x) =", h_prime)
print("Expected =", expected)
print("Difference =", sp.simplify(h_prime-expected))
print("Excluded x-value =", -2)
Utskrift fra Python:
h(x) = (4*x - 1)/(x + 2)
h'(x) = 9/(x + 2)**2
Expected = 9/(x + 2)**2
Difference = 0
Excluded x-value = -2

Fasit: \(h^{\prime}(x)=\dfrac9{(x+2)^2}\), for \(x\ne-2\).

Vanlig feil: Å bytte rekkefølgen i telleren i kvotientregelen.
Sensorpunkt: Korrekt fortegn og definisjonsbegrensning skal framgå.
Del 1 - Oppgave 2aLogaritmelikning

Oppgave 2a

Oppgave: Løs likningen \[\ln(x^2)+\ln x=12.\]
Vis løsning

Hva spør oppgaven om? Fordi \(\ln x\) forekommer, er bare positive x-verdier tillatt. Da kan \(\ln(x^2)\) skrives som \(2\ln x\).

Steg 1 - Domene

Kravet er \(x>0\).

Steg 2 - Bruk potensregelen for logaritmer

For \(x>0\): \(\ln(x^2)=2\ln x\).

Steg 3 - Samle

\[3\ln x=12.\]

Steg 4 - Divider med 3

\[\ln x=4.\]

Steg 5 - Eksponentier

\[x=e^4.\]

Steg 6 - Kontroller

\(\ln(e^8)+\ln(e^4)=8+4=12\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[ln(x^2)+ln(x)=12,x]
\(x=e^4\)

Tolkning: Med domene x > 0 finner CAS den eneste tillatte løsningen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", positive=True)
equation = sp.Eq(sp.log(x**2)+sp.log(x),12)
solution = sp.exp(4)
left_check = sp.simplify(sp.log(solution**2)+sp.log(solution))
print("Equation =", equation)
print("Domain condition: x > 0")
print("Solution x =", solution)
print("Decimal x =", sp.N(solution,10))
print("Left side at solution =", left_check)
Utskrift fra Python:
Equation = Eq(log(x) + log(x**2), 12)
Domain condition: x > 0
Solution x = exp(4)
Decimal x = 54.59815003
Left side at solution = 12

Fasit: \(x=e^4\approx54.598\).

Vanlig feil: Å tillate en negativ løsning fordi \(x^2\) er positiv; leddet \(\ln x\) krever \(x>0\).
Sensorpunkt: Domene, logaritmeregel og kontroll skal være med.
Del 1 - Oppgave 2bEksponentiallikning med substitusjon

Oppgave 2b

Oppgave: Løs likningen \[e^{2x}-e^x=6.\]
Vis løsning

Hva spør oppgaven om? Vi setter \(y=e^x\). Da er \(y>0\), og likningen blir en andregradslikning.

Steg 1 - Substituer

La \(y=e^x\), slik at \(e^{2x}=y^2\).

Steg 2 - Ny likning

\[y^2-y=6.\]

Steg 3 - Flytt alt til venstre

\[y^2-y-6=0.\]

Steg 4 - Faktoriser

\[(y-3)(y+2)=0.\]

Steg 5 - Bruk y > 0

\(y=-2\) forkastes, så \(y=3\).

Steg 6 - Gå tilbake

\[e^x=3\Rightarrow x=\ln3.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[exp(2x)-exp(x)=6,x]
\(x=\ln3\)

Tolkning: Den negative roten i den substituerte likningen er ikke mulig for e^x.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, y = sp.symbols("x y", real=True)
quadratic = y**2-y-6
roots = sp.solve(sp.Eq(quadratic,0),y)
valid_y = [r for r in roots if r.is_positive]
solution = sp.log(valid_y[0])
print("Quadratic =", quadratic)
print("y-roots =", roots)
print("Valid positive y =", valid_y)
print("x =", solution)
print("Original-equation check =", sp.simplify(sp.exp(2*solution)-sp.exp(solution)))
Utskrift fra Python:
Quadratic = y**2 - y - 6
y-roots = [-2, 3]
Valid positive y = [3]
x = log(3)
Original-equation check = 6

Fasit: \(x=\ln3\approx1.099\).

Vanlig feil: Å beholde \(e^x=-2\), som er umulig for reell x.
Sensorpunkt: Substitusjon, positivitet og tilbakesubstitusjon skal vises.
Del 1 - Oppgave 3aParallelle vektorer i en basis

Oppgave 3a

Oppgave: Vektorene oppfyller \(\vec u\cdot\vec v=-2\), \(|\vec u|=3\), \(|\vec v|=2\). Videre er \(\vec a=2\vec u+3\vec v\) og \(\vec b=t\vec u+5\vec v\). Bestem t slik at \(\vec a\parallel\vec b\).
Vis løsning

Hva spør oppgaven om? Vektorene u og v er ikke parallelle, siden skalarproduktet ikke er \(\pm|u||v|=\pm6\). De kan derfor brukes som uavhengige retninger.

Steg 1 - Parallellbetingelse

Det finnes et tall \(\lambda\) slik at \(\vec b=\lambda\vec a\).

Steg 2 - Sammenlikn v-koeffisienter

\[5=3\lambda\Rightarrow\lambda=\frac53.\]

Steg 3 - Sammenlikn u-koeffisienter

\[t=2\lambda.\]

Steg 4 - Sett inn lambda

\[t=2\cdot\frac53=\frac{10}{3}.\]

Steg 5 - Kontroller

\(\vec b=(5/3)(2\vec u+3\vec v)\).

Steg 6 - Konkluder

Da har vektorene samme eller motsatt linjeretning; her er faktoren positiv.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[{t=2lambda,5=3lambda},{t,lambda}]
\(t=10/3,\ \lambda=5/3\)

Tolkning: Koordinatene relativt til de uavhengige vektorene u og v er proporsjonale.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t, lam = sp.symbols("t lam", real=True)
solutions = sp.solve([sp.Eq(t,2*lam),sp.Eq(5,3*lam)],[t,lam],dict=True)
sol = solutions[0]
print("Coefficient equations =", [sp.Eq(t,2*lam),sp.Eq(5,3*lam)])
print("Solution =", sol)
print("t =", sol[t])
print("lambda =", sol[lam])
print("Coefficient check for b =", (sol[t],5))
print("Coefficient check for lambda*a =", (2*sol[lam],3*sol[lam]))
Utskrift fra Python:
Coefficient equations = [Eq(t, 2*lam), Eq(5, 3*lam)]
Solution = {lam: 5/3, t: 10/3}
t = 10/3
lambda = 5/3
Coefficient check for b = (10/3, 5)
Coefficient check for lambda*a = (10/3, 5)

Fasit: \(t=\dfrac{10}{3}\).

Vanlig feil: Å sammenlikne skalarproduktene i stedet for koeffisientene, eller å anta at u og v er parallelle.
Sensorpunkt: Uavhengighet og proporsjonale koeffisienter skal begrunnes.
Del 1 - Oppgave 3bOrtogonalitet med skalarprodukt

Oppgave 3b

Oppgave: Bestem t slik at \(\vec a\perp\vec b\), med de samme vektoropplysningene.
Vis løsning

Hva spør oppgaven om? Ortogonalitet betyr at skalarproduktet er null. Vi utvider bilineært og bruker de tre oppgitte skalarproduktene.

Steg 1 - Sett opp

\[(2\vec u+3\vec v)\cdot(t\vec u+5\vec v)=0.\]

Steg 2 - Utvid

\[2t|u|^2+10(\vec u\cdot\vec v)+3t(\vec v\cdot\vec u)+15|v|^2=0.\]

Steg 3 - Sett inn data

\[18t-20-6t+60=0.\]

Steg 4 - Samle

\[12t+40=0.\]

Steg 5 - Løs

\[t=-\frac{10}{3}.\]

Steg 6 - Kontroller

For denne t-verdien blir skalarproduktet nøyaktig null.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[2t*9+10*(-2)+3t*(-2)+15*4=0,t]
\(t=-10/3\)

Tolkning: CAS løser den utvidede skalarproduktlikningen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
u2, v2, uv = 9, 4, -2
dot = sp.expand(2*t*u2 + 10*uv + 3*t*uv + 15*v2)
solution = sp.solve(sp.Eq(dot,0),t)[0]
print("|u|^2 =", u2)
print("|v|^2 =", v2)
print("u dot v =", uv)
print("a dot b =", dot)
print("t =", solution)
print("Check =", sp.simplify(dot.subs(t,solution)))
Utskrift fra Python:
|u|^2 = 9
|v|^2 = 4
u dot v = -2
a dot b = 12*t + 40
t = -10/3
Check = 0

Fasit: \(t=-\dfrac{10}{3}\).

Vanlig feil: Å glemme kryssleddene eller bruke \(|u|\) i stedet for \(|u|^2\).
Sensorpunkt: Full skalarproduktutvidelse og nullkontroll skal vises.
Del 1 - Oppgave 4aRestsetningen

Oppgave 4a

Oppgave: Polynomet er \(P(x)=6x^3-5x^2-2x+1\). Forklar uten divisjon hvorfor \(P(x):(x-1)\) går opp.
Vis løsning

Hva spør oppgaven om? Restsetningen sier at resten ved divisjon på \(x-a\) er \(P(a)\).

Steg 1 - Identifiser a

Her er divisoren \(x-1\), så \(a=1\).

Steg 2 - Beregn resten

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

Steg 3 - Forenkle

\[P(1)=0.\]

Steg 4 - Bruk restsetningen

Resten er null.

Steg 5 - Faktor

Dermed er \(x-1\) en faktor i P.

Steg 6 - Konklusjon

Divisjonen går opp uten rest.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
P(x)=6x^3-5x^2-2x+1
Polynom
2
P(1)
\(0\)

Tolkning: Nullverdien i x=1 viser direkte at x-1 er en faktor.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
P = 6*x**3-5*x**2-2*x+1
remainder = sp.rem(P,x-1,x)
value = P.subs(x,1)
print("P(x) =", P)
print("P(1) =", value)
print("Remainder on division by x-1 =", remainder)
print("Is x-1 a factor?", value == 0)
print("Factorization preview =", sp.factor(P))
Utskrift fra Python:
P(x) = 6*x**3 - 5*x**2 - 2*x + 1
P(1) = 0
Remainder on division by x-1 = 0
Is x-1 a factor? True
Factorization preview = (x - 1)*(2*x + 1)*(3*x - 1)

Fasit: Fordi \(P(1)=0\), er \(x-1\) en faktor og divisjonen går opp.

Vanlig feil: Å sette inn \(-1\) fordi konstantleddet i divisoren er \(-1\).
Sensorpunkt: Restsetningen og den eksplisitte nullberegningen skal framgå.
Del 1 - Oppgave 4bPolynomdivisjon og faktorisering

Oppgave 4b

Oppgave: Bruk blant annet polynomdivisjon til å vise at \[P(x)=(x-1)(2x+1)(3x-1).\]
Vis løsning

Hva spør oppgaven om? Vi dividerer med den kjente faktoren \(x-1\), og faktoriserer deretter andregradsuttrykket.

Steg 1 - Divider

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

Steg 2 - Kontroller resten

Resten er 0.

Steg 3 - Faktoriser andregradsuttrykket

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

Steg 4 - Samle

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

Steg 5 - Utvid kontroll

Produktet gir \(6x^3-5x^2-2x+1\).

Steg 6 - Nullpunkter

Faktorene gir nullpunktene \(1,-1/2,1/3\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Div[6x^3-5x^2-2x+1,x-1]
\(6x^2+x-1\)
2
Factor[6x^2+x-1]
\((2x+1)(3x-1)\)

Tolkning: Divisjon og faktorisering gir den oppgitte produktformen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
P = 6*x**3-5*x**2-2*x+1
quotient, remainder = sp.div(P,x-1)
factored_q = sp.factor(quotient)
full = (x-1)*factored_q
print("Quotient =", quotient)
print("Remainder =", remainder)
print("Factored quotient =", factored_q)
print("Full factorization =", sp.factor(P))
print("Expansion difference =", sp.expand(full-P))
print("Roots =", sp.solve(sp.Eq(P,0),x))
Utskrift fra Python:
Quotient = 6*x**2 + x - 1
Remainder = 0
Factored quotient = (2*x + 1)*(3*x - 1)
Full factorization = (x - 1)*(2*x + 1)*(3*x - 1)
Expansion difference = 0
Roots = [-1/2, 1/3, 1]

Fasit: \(P(x)=(x-1)(2x+1)(3x-1)\).

Vanlig feil: Å gjøre en fortegnsfeil i polynomdivisjonen eller stoppe ved andregradsfaktoren.
Sensorpunkt: Kvotient, rest og full lineær faktorisering skal vises.
Del 1 - Oppgave 4cRasjonal ulikhet og fortegn

Oppgave 4c

Oppgave: Funksjonen er \[F(x)=\frac{P(x)}{x^2-1}.\] Løs ulikheten \(F(x)\ge0\).
Vis løsning

Hva spør oppgaven om? Vi faktoriserer teller og nevner. Selv om faktoren \(x-1\) kan forkortes algebraisk, er \(x=1\) fortsatt utelukket fra den opprinnelige funksjonen.

Steg 1 - Faktoriser

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

Steg 2 - Definisjonsmengde

\(x\ne-1\) og \(x\ne1\).

Steg 3 - Forenkle for fortegn

For tillatte x: \[F(x)=\frac{(2x+1)(3x-1)}{x+1}.\]

Steg 4 - Kritiske punkter

\(-1,-1/2,1/3\), samt hullet \(x=1\).

Steg 5 - Fortegn

Uttrykket er positivt på \((-1,-1/2)\) og \((1/3,\infty)\), og null ved \(-1/2\) og \(1/3\).

Steg 6 - Ta med endepunkter og hull

\[x\in(-1,-1/2]\cup[1/3,1)\cup(1,\infty).\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[(6x^3-5x^2-2x+1)/(x^2-1)>=0,x]
\((-1,-1/2]\cup[1/3,1)\cup(1,\infty)\)

Tolkning: CAS må tolkes sammen med definisjonsmengden; x=1 er et hull.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
P = 6*x**3-5*x**2-2*x+1
F = P/(x**2-1)
reduced = sp.cancel(F)
solution = sp.solve_univariate_inequality(F>=0,x)
print("F(x) =", F)
print("Reduced expression =", reduced)
print("Critical numerator roots =", sp.solve(sp.together(reduced).as_numer_denom()[0],x))
print("Excluded denominator roots =", sp.solve(sp.Eq(x**2-1,0),x))
print("Solution =", solution)
print("Sample signs =", [(v,sp.sign(F.subs(x,sp.Rational(v)))) for v in [-2,0,2]])
Utskrift fra Python:
F(x) = (6*x**3 - 5*x**2 - 2*x + 1)/(x**2 - 1)
Reduced expression = (6*x**2 + x - 1)/(x + 1)
Critical numerator roots = [-1/2, 1/3]
Excluded denominator roots = [-1, 1]
Solution = (1 < x) | ((1/3 <= x) & (x < 1)) | ((x <= -1/2) & (-1 < x))
Sample signs = [(-2, -1), (0, -1), (2, 1)]

Fasit: \(x\in(-1,-\frac12]\cup[\frac13,1)\cup(1,\infty)\).

Vanlig feil: Å ta med \(x=1\) etter forkorting, eller å glemme at nullpunktene i telleren skal inkluderes.
Sensorpunkt: Fortegnslinje, definisjonsmengde og hull i x=1 skal vises.
Del 1 - Oppgave 4dGrenseverdier ved hull og asymptote

Oppgave 4d

Oppgave: Bestem \(\lim_{x\to1}F(x)\) og \(\lim_{x\to-1}F(x)\), dersom de eksisterer.
Vis løsning

Hva spør oppgaven om? Ved x=1 har uttrykket en forkortbar faktor. Ved x=-1 blir nevneren null uten at telleren blir null.

Steg 1 - Forkort rundt x=1

For \(x\ne\pm1\): \[F(x)=\frac{(2x+1)(3x-1)}{x+1}.\]

Steg 2 - Sett inn x=1 i det forkortede uttrykket

\[\lim_{x\to1}F(x)=\frac{3\cdot2}{2}=3.\]

Steg 3 - Undersøk x=-1

Telleren i det forkortede uttrykket går mot \((-1)(-4)=4\).

Steg 4 - Venstre grense

Når \(x\to-1^-\), er \(x+1<0\), så \(F(x)\to-\infty\).

Steg 5 - Høyre grense

Når \(x\to-1^+\), er \(x+1>0\), så \(F(x)\to+\infty\).

Steg 6 - Konkluder

Den tosidige grensen ved \(-1\) eksisterer ikke.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Limit[(6x^3-5x^2-2x+1)/(x^2-1),1]
\(3\)
2
LimitBelow[(6x^3-5x^2-2x+1)/(x^2-1),-1]
\(-\infty\)
3
LimitAbove[(6x^3-5x^2-2x+1)/(x^2-1),-1]
\(+\infty\)

Tolkning: En forkortbar diskontinuitet gir endelig grense ved 1, mens -1 er en vertikal asymptote.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
F = (6*x**3-5*x**2-2*x+1)/(x**2-1)
limit_one = sp.limit(F,x,1)
left_minus_one = sp.limit(F,x,-1,dir='-')
right_minus_one = sp.limit(F,x,-1,dir='+')
print("Limit x->1 =", limit_one)
print("Limit x->-1 from left =", left_minus_one)
print("Limit x->-1 from right =", right_minus_one)
print("Two-sided limit at -1 exists?", left_minus_one == right_minus_one)
print("Reduced expression =", sp.cancel(F))
Utskrift fra Python:
Limit x->1 = 3
Limit x->-1 from left = -oo
Limit x->-1 from right = oo
Two-sided limit at -1 exists? False
Reduced expression = (6*x**2 + x - 1)/(x + 1)

Fasit: \(\lim_{x\to1}F(x)=3\). Grensen \(\lim_{x\to-1}F(x)\) eksisterer ikke; sidegrensene er \(-\infty\) og \(+\infty\).

Vanlig feil: Å skrive uendelig som en vanlig funksjonsverdi eller å overse forskjellen mellom sidegrensene.
Sensorpunkt: Begge sidegrenser ved -1 og forkortingen ved 1 skal dokumenteres.
Del 1 - Oppgave 5aKombinasjoner

Oppgave 5a

Oppgave: Per har 8 ulike skolebøker og skal legge 3 i sekken. Hvor mange kombinasjoner er mulige?
Vis løsning

Hva spør oppgaven om? Rekkefølgen i sekken spiller ingen rolle, så vi bruker binomialkoeffisienten.

Steg 1 - Identifiser utvalg

Vi velger 3 av 8 ulike bøker.

Steg 2 - Bruk kombinasjonsformelen

\[\binom83=\frac{8!}{3!5!}.\]

Steg 3 - Forkort

\[\binom83=\frac{8\cdot7\cdot6}{3\cdot2\cdot1}.\]

Steg 4 - Regn ut teller

\(8\cdot7\cdot6=336\).

Steg 5 - Divider

\(336/6=56\).

Steg 6 - Konkluder

Det finnes 56 ulike kombinasjoner.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
BinomialCoefficient[8,3]
\(56\)

Tolkning: GeoGebra teller uordnede utvalg av tre bøker.

Python-kontroll med SymPy

Python 3 - SymPy
import math
n = 8
r = 3
count = math.comb(n,r)
ordered = n*(n-1)*(n-2)
print("Number of books =", n)
print("Books selected =", r)
print("Ordered selections =", ordered)
print("Divide by 3! =", math.factorial(r))
print("Combinations =", count)
Utskrift fra Python:
Number of books = 8
Books selected = 3
Ordered selections = 336
Divide by 3! = 6
Combinations = 56

Fasit: \(\binom83=56\).

Vanlig feil: Å bruke \(8\cdot7\cdot6=336\), som teller hver kombinasjon 3! ganger.
Sensorpunkt: Det må framgå hvorfor rekkefølgen ikke teller.
Del 1 - Oppgave 5bHypergeometrisk sannsynlighet

Oppgave 5b

Oppgave: Per velger tilfeldig 4 av 8 bøker. Hva er sannsynligheten for at alle de 3 riktige bøkene er med?
Vis løsning

Hva spør oppgaven om? Alle firebokutvalg er like sannsynlige. Et gunstig utvalg må inneholde de tre riktige og én av de fem andre.

Steg 1 - Totalt antall utvalg

\[\binom84=70.\]

Steg 2 - Velg de riktige

Alle de tre riktige må med: \(\binom33=1\).

Steg 3 - Velg den ekstra

Den fjerde boken kan være én av fem: \(\binom51=5\).

Steg 4 - Gunstige utvalg

\[1\cdot5=5.\]

Steg 5 - Sannsynlighet

\[P=\frac5{70}.\]

Steg 6 - Forkort

\[P=\frac1{14}\approx0.0714.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
BinomialCoefficient[3,3]*BinomialCoefficient[5,1]/BinomialCoefficient[8,4]
\(1/14\)

Tolkning: Dette er en hypergeometrisk utvalgsmodell uten tilbakelegging.

Python-kontroll med SymPy

Python 3 - SymPy
import math
favorable = math.comb(3,3)*math.comb(5,1)
total = math.comb(8,4)
probability = favorable/total
print("Favorable selections =", favorable)
print("Total selections =", total)
print("Probability fraction =", f"{favorable}/{total}")
print("Reduced denominator =", total//math.gcd(favorable,total))
print("Probability decimal =", probability)
print("Probability percent =", 100*probability)
Utskrift fra Python:
Favorable selections = 5
Total selections = 70
Probability fraction = 5/70
Reduced denominator = 14
Probability decimal = 0.07142857142857142
Probability percent = 7.142857142857142

Fasit: \(P=\dfrac1{14}\approx7.14\%\).

Vanlig feil: Å bruke uavhengige trekninger med tilbakelegging; bøkene velges uten tilbakelegging.
Sensorpunkt: Gunstige og totale kombinasjoner må være korrekt telt.
Del 1 - Oppgave 5cMinst to riktige i hypergeometrisk modell

Oppgave 5c

Oppgave: Hva er sannsynligheten for at minst 2 av de 3 riktige bøkene er blant de 4 valgte?
Vis løsning

Hva spør oppgaven om? «Minst 2» betyr nøyaktig 2 eller nøyaktig 3 riktige bøker.

Steg 1 - Totalt antall utvalg

\(\binom84=70\).

Steg 2 - Nøyaktig to riktige

\[\binom32\binom52=3\cdot10=30.\]

Steg 3 - Nøyaktig tre riktige

\[\binom33\binom51=1\cdot5=5.\]

Steg 4 - Summer gunstige

\[30+5=35.\]

Steg 5 - Sannsynlighet

\[P=\frac{35}{70}.\]

Steg 6 - Forkort

\[P=\frac12.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
HyperGeometric[8,3,4,2]+HyperGeometric[8,3,4,3]
\(0.5\)

Tolkning: Sannsynligheten summeres for de to mulige gunstige verdiene.

Python-kontroll med SymPy

Python 3 - SymPy
import math
exactly_two = math.comb(3,2)*math.comb(5,2)
exactly_three = math.comb(3,3)*math.comb(5,1)
total = math.comb(8,4)
favorable = exactly_two + exactly_three
print("Exactly two correct =", exactly_two)
print("Exactly three correct =", exactly_three)
print("Favorable total =", favorable)
print("All selections =", total)
print("Probability =", favorable/total)
print("Reduced result = 1/2")
Utskrift fra Python:
Exactly two correct = 30
Exactly three correct = 5
Favorable total = 35
All selections = 70
Probability = 0.5
Reduced result = 1/2

Fasit: \(P=\dfrac12=50\%\).

Vanlig feil: Å tolke «minst 2» som bare nøyaktig 2.
Sensorpunkt: Begge tilfellene 2 og 3 riktige skal summeres.
Del 1 - Oppgave 6aAreal av trapes som funksjon

Oppgave 6a

Oppgave: Under grafen \(f(x)=9-x^2\) danner A(-3,0), B(3,0), C(x,f(x)) og D(-x,f(-x)) et trapes for \(0<x<3\). Vis at \[F(x)=-x^3-3x^2+9x+27.\]
Vis løsning

Hva spør oppgaven om? De parallelle sidene er AB og CD. Høyden er y-koordinaten til C og D.

Steg 1 - Nedre grunnlinje

\(|AB|=3-(-3)=6\).

Steg 2 - Øvre grunnlinje

Parabelen er symmetrisk, og \(|CD|=x-(-x)=2x\).

Steg 3 - Høyde

\(h=f(x)=9-x^2\).

Steg 4 - Trapesformelen

\[F=\frac{6+2x}{2}(9-x^2).\]

Steg 5 - Forenkle første faktor

\[F=(3+x)(9-x^2).\]

Steg 6 - Multipliser ut

\[F(x)=-x^3-3x^2+9x+27.\]

Steg 7 - Område

Formelen gjelder for \(0<x<3\).

Illustrasjon til Oppgave 6a
Trapeset har grunnlinjer 6 og 2x og høyde 9-x^2.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Expand[(6+2x)/2*(9-x^2)]
\(-x^3-3x^2+9x+27\)

Tolkning: CAS bekrefter utvidelsen av trapesformelen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", positive=True)
lower_base = 6
upper_base = 2*x
height = 9-x**2
area = sp.expand((lower_base+upper_base)*height/2)
expected = -x**3-3*x**2+9*x+27
print("Lower base =", lower_base)
print("Upper base =", upper_base)
print("Height =", height)
print("Area expression =", area)
print("Expected =", expected)
print("Difference =", sp.simplify(area-expected))
Utskrift fra Python:
Lower base = 6
Upper base = 2*x
Height = 9 - x**2
Area expression = -x**3 - 3*x**2 + 9*x + 27
Expected = -x**3 - 3*x**2 + 9*x + 27
Difference = 0

Fasit: \(F(x)=-x^3-3x^2+9x+27\), for \(0<x<3\).

Vanlig feil: Å bruke \(2x\) som høyde eller glemme å dele summen av grunnlinjene på 2.
Sensorpunkt: Begge grunnlinjene, høyden og utvidelsen skal vises.
Del 1 - Oppgave 6bMaksimering med derivasjon

Oppgave 6b

Oppgave: Bestem det største arealet trapeset kan ha.
Vis løsning

Hva spør oppgaven om? Vi maksimerer arealfunksjonen på intervallet \(0<x<3\) ved å finne kritiske punkter og sammenlikne med randoppførselen.

Steg 1 - Deriver

\[F^{\prime}(x)=-3x^2-6x+9.\]

Steg 2 - Faktoriser

\[F^{\prime}(x)=-3(x+3)(x-1).\]

Steg 3 - Kritiske punkter

Røttene er \(x=-3\) og \(x=1\). Bare \(x=1\) ligger i området.

Steg 4 - Klassifiser

\(F^{\prime\prime}(x)=-6x-6\), og \(F^{\prime\prime}(1)=-12<0\).

Steg 5 - Finn arealet

\[F(1)=-1-3+9+27=32.\]

Steg 6 - Randkontroll

Når \(x\to0^+\), går arealet mot 27; når \(x\to3^-\), går det mot 0.

Steg 7 - Konkluder

Maksimalarealet er 32 arealenheter.

Illustrasjon til Oppgave 6b
Maksimum oppstår når de øvre hjørnene har x-koordinater -1 og 1.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Extremum[-x^3-3x^2+9x+27,0,3]
\((1,32)\)

Tolkning: Grafverktøyet finner maksimumspunktet innenfor det tillatte intervallet.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
F = -x**3-3*x**2+9*x+27
F_prime = sp.factor(sp.diff(F,x))
critical = [v for v in sp.solve(sp.Eq(F_prime,0),x) if 0 < v < 3]
values = [(v,sp.simplify(F.subs(x,v)),sp.diff(F,x,2).subs(x,v)) for v in critical]
print("F'(x) =", F_prime)
print("Critical points in (0,3) =", critical)
print("(x, F(x), F''(x)) =", values)
print("Limit at 0+ =", sp.limit(F,x,0,dir='+'))
print("Limit at 3- =", sp.limit(F,x,3,dir='-'))
print("Maximum area =", values[0][1])
Utskrift fra Python:
F'(x) = -3*(x - 1)*(x + 3)
Critical points in (0,3) = [1]
(x, F(x), F''(x)) = [(1, 32, -12)]
Limit at 0+ = 27
Limit at 3- = 0
Maximum area = 32

Fasit: Det største arealet er \(32\), oppnådd når \(x=1\).

Vanlig feil: Å velge x=-3, som ligger utenfor definisjonsområdet, eller å stoppe ved F-prime lik null uten klassifisering.
Sensorpunkt: Gyldig kritisk punkt, maksimumskontroll og arealverdi skal vises.
Del 1 - Oppgave 7Sirkelvinkler og kryssende korder

Oppgave 7

Oppgave: I sirkelfiguren er \(\angle CBD=35^{\circ}\) og \(\angle ADB=65^{\circ}\). Bestem vinklene u, v og w.
Vis løsning

Hva spør oppgaven om? Vi bruker periferivinkelsetningen, sentralvinkelsetningen og formelen for vinkelen mellom to korder som skjærer hverandre inne i sirkelen.

Steg 1 - Vinkelen u

\(u=\angle ACB\) og \(\angle ADB\) spenner over samme bue AB.

Steg 2 - Samme bue

\[u=65^{\circ}.\]

Steg 3 - Sentralvinkelen w

Buen AB har periferivinkel 65 grader, så sentralvinkelen er dobbelt så stor.

Steg 4 - Finn w

\[w=2\cdot65^{\circ}=130^{\circ}.\]

Steg 5 - Finn buen CD

Periferivinkelen \(\angle CBD=35^{\circ}\) gir bue CD på \(70^{\circ}\).

Steg 6 - Kryssende korder

\[v=\frac12(\widehat{AB}+\widehat{CD})=\frac12(130^{\circ}+70^{\circ}).\]

Steg 7 - Finn v

\[v=100^{\circ}.\]

Illustrasjon til Oppgave 7
Sirkelkonstruksjonen viser de tre beregnede vinklene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
u=65deg
\(65^{\circ}\)
2
w=2*65deg
\(130^{\circ}\)
3
v=(130deg+2*35deg)/2
\(100^{\circ}\)

Tolkning: De tre standardsetningene for sirkelvinkler gir resultatene.

Python-kontroll med SymPy

Python 3 - SymPy
u = 65
arc_AB = 2*65
arc_CD = 2*35
w = arc_AB
v = (arc_AB+arc_CD)/2
print("u from equal intercepted arc =", u)
print("Arc AB in degrees =", arc_AB)
print("Arc CD in degrees =", arc_CD)
print("w as central angle =", w)
print("v from intersecting chords =", v)
print("Results (u,v,w) =", (u,v,w))
Utskrift fra Python:
u from equal intercepted arc = 65
Arc AB in degrees = 130
Arc CD in degrees = 70
w as central angle = 130
v from intersecting chords = 100.0
Results (u,v,w) = (65, 100.0, 130)

Fasit: \(u=65^{\circ}\), \(v=100^{\circ}\) og \(w=130^{\circ}\).

Vanlig feil: Å halvere sentralvinkelen i feil retning eller bruke bare én av buene i formelen for v.
Sensorpunkt: Hvilke buer vinklene spenner over, må forklares.
Del 1 - Oppgave 8aParameterframstilling av vektor

Oppgave 8a

Oppgave: Punktene A(-1,1) og C(7,5) er motsatte hjørner i en firkant med fire like sider. D ligger på \(\ell:y=2x+1\). Forklar at \(\overrightarrow{AD}=[t+1,2t]\).
Vis løsning

Hva spør oppgaven om? Et vilkårlig punkt på linjen kan parameteriseres ved å bruke x-koordinaten som parameter.

Steg 1 - Velg parameter

La x-koordinaten til D være \(t\).

Steg 2 - Bruk linjelikningen

Da er y-koordinaten \(2t+1\).

Steg 3 - Skriv punktet

\[D=(t,2t+1).\]

Steg 4 - Trekk fra A

\[\overrightarrow{AD}=D-A.\]

Steg 5 - Regn koordinatvis

\[\overrightarrow{AD}=(t-(-1),(2t+1)-1).\]

Steg 6 - Forenkle

\[\overrightarrow{AD}=[t+1,2t],\quad t\in\mathbb R.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
D=(t,2t+1)
Punkt på linjen
2
Vector[(-1,1),D]
\((t+1,2t)\)

Tolkning: Vektoren er sluttpunkt minus startpunkt.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
A = sp.Matrix([-1,1])
D = sp.Matrix([t,2*t+1])
AD = D-A
line_check = sp.simplify(D[1]-(2*D[0]+1))
print("A =", list(A))
print("D(t) =", list(D))
print("D lies on y=2x+1 check =", line_check)
print("AD =", list(AD))
print("First component =", AD[0])
print("Second component =", AD[1])
Utskrift fra Python:
A = [-1, 1]
D(t) = [t, 2*t + 1]
D lies on y=2x+1 check = 0
AD = [t + 1, 2*t]
First component = t + 1
Second component = 2*t

Fasit: \(D=(t,2t+1)\) og \(\overrightarrow{AD}=[t+1,2t]\).

Vanlig feil: Å bruke A-D i stedet for D-A.
Sensorpunkt: Parameterpunktet på linjen og koordinatvis subtraksjon skal vises.
Del 1 - Oppgave 8bRombergeometri med koordinater

Oppgave 8b

Oppgave: Bestem koordinatene til B og D ved regning.
Vis løsning

Hva spør oppgaven om? I en firkant med fire like sider er D like langt fra A som fra C. Dette bestemmer t. Deretter bruker vi at diagonalene i en rombe halverer hverandre.

Steg 1 - Skriv D

\(D=(t,2t+1)\).

Steg 2 - Lengden AD

\[|AD|^2=(t+1)^2+(2t)^2=5t^2+2t+1.\]

Steg 3 - Lengden CD

\[|CD|^2=(7-t)^2+(5-(2t+1))^2=5t^2-30t+65.\]

Steg 4 - Sett like

\[5t^2+2t+1=5t^2-30t+65.\]

Steg 5 - Løs

\[32t=64\Rightarrow t=2.\]

Steg 6 - Finn D

\[D=(2,5).\]

Steg 7 - Finn B

Diagonalene halverer hverandre, så \(A+C=B+D\). Dermed \[B=A+C-D=(4,1).\]

Steg 8 - Kontroller

Alle fire sidelengdene blir 5.

Illustrasjon til Oppgave 8b
Koordinatene gir en rombe med sidelengde 5.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[Distance[(-1,1),(t,2t+1)]=Distance[(7,5),(t,2t+1)],t]
\(t=2\)
2
D=(2,5)
Punkt
3
B=(-1,1)+(7,5)-D
\((4,1)\)

Tolkning: Avstandslikningen bestemmer D, og diagonalhalvering bestemmer B.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
A = sp.Matrix([-1,1]); C = sp.Matrix([7,5]); D = sp.Matrix([t,2*t+1])
AD2 = sp.expand((D-A).dot(D-A))
CD2 = sp.expand((D-C).dot(D-C))
t_value = sp.solve(sp.Eq(AD2,CD2),t)[0]
D_value = D.subs(t,t_value)
B = A+C-D_value
points = [A,B,C,D_value]
lengths2 = [sp.simplify((points[(i+1)%4]-points[i]).dot(points[(i+1)%4]-points[i])) for i in range(4)]
print("AD^2 =", AD2)
print("CD^2 =", CD2)
print("t =", t_value)
print("D =", list(D_value))
print("B =", list(B))
print("Four side lengths squared =", lengths2)
Utskrift fra Python:
AD^2 = 5*t**2 + 2*t + 1
CD^2 = 5*t**2 - 30*t + 65
t = 2
D = [2, 5]
B = [4, 1]
Four side lengths squared = [25, 25, 25, 25]

Fasit: \(D=(2,5)\) og \(B=(4,1)\).

Vanlig feil: Å bruke bare helningen til linjen eller å anta et rektangel.
Sensorpunkt: Avstandslikningen, t-verdien og diagonalhalveringen skal dokumenteres.

Del 2 - med hjelpemidler

Del 2 - Oppgave 1aForutsetninger for binomisk modell

Oppgave 1a

Oppgave: Maria registrerer om hver av de 100 første bilene er elbil. Hordaland har en oppgitt elbilandel på 12,5 prosent. Hvilke antakelser kreves for å se dette som et binomisk forsøk?
Vis løsning

Hva spør oppgaven om? En binomisk modell krever et fast antall forsøk, to utfall, samme sannsynlighet og tilnærmet uavhengighet.

Steg 1 - Fast antall

Vi observerer nøyaktig \(n=100\) biler.

Steg 2 - To utfall

Hver bil klassifiseres som elbil eller ikke elbil.

Steg 3 - Konstant sannsynlighet

Vi antar at hver bil har samme sannsynlighet \(p=0.125\) for å være elbil.

Steg 4 - Uavhengighet

Vi antar at biltypen til én bil ikke påvirker biltypen til de andre.

Steg 5 - Representativitet

Bilene ved Danmarks plass antas å være representative for personbilparken i Hordaland.

Steg 6 - Stabil situasjon

Andelen antas ikke å endre seg systematisk i løpet av observasjonen.

Steg 7 - Modell

Da kan \(X\), antall elbiler, modelleres som \(X\sim\operatorname{Bin}(100,0.125)\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
n=100
Fast antall
2
p=0.125
Konstant sannsynlighet
3
BinomialDist[100,0.125]
Binomisk modell

Tolkning: Kommandoen er faglig gyldig bare når modellforutsetningene er rimelige.

Python-kontroll med SymPy

Python 3 - SymPy
n = 100
p = 0.125
outcomes = ("electric", "not electric")
assumptions = ["fixed n", "two outcomes", "constant p", "independent trials"]
expected = n*p
variance = n*p*(1-p)
print("n =", n)
print("p =", p)
print("Possible outcomes =", outcomes)
print("Core assumptions =", assumptions)
print("Expected number =", expected)
print("Variance =", variance)
Utskrift fra Python:
n = 100
p = 0.125
Possible outcomes = ('electric', 'not electric')
Core assumptions = ['fixed n', 'two outcomes', 'constant p', 'independent trials']
Expected number = 12.5
Variance = 10.9375

Fasit: Modellen krever 100 faste forsøk, to utfall, konstant \(p=0.125\), tilnærmet uavhengighet og at trafikken er representativ.

Vanlig feil: Å bruke fylkesandelen direkte uten å drøfte om bilene ved ett bestemt sted er representative.
Sensorpunkt: Alle fire binomiske kjernevilkår og representativitetsantakelsen bør nevnes.
Del 2 - Oppgave 1bBinomisk hale

Oppgave 1b

Oppgave: Bestem sannsynligheten for at minst 15 av 100 biler er elbiler når \(p=0.125\).
Vis løsning

Hva spør oppgaven om? «Minst 15» betyr \(P(X\ge15)\). Det er enklest å bruke komplementet eller en kumulativ binomisk kommando.

Steg 1 - Modell

\(X\sim\operatorname{Bin}(100,0.125)\).

Steg 2 - Hendelse

\[P(X\ge15).\]

Steg 3 - Komplement

\[P(X\ge15)=1-P(X\le14).\]

Steg 4 - Sum

\[1-\sum_{k=0}^{14}\binom{100}{k}0.125^k0.875^{100-k}.\]

Steg 5 - Beregn

\[P(X\ge15)\approx0.2647897.\]

Steg 6 - Tolk

Sannsynligheten er omtrent 26,5 prosent.

Illustrasjon til Oppgave 1b
Fordelingen viser at 15 ligger litt over forventningsverdien 12,5.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
1-BinomialDist[100,0.125,14,true]
\(0.2647897\)

Tolkning: Kumulativ sannsynlighet til og med 14 trekkes fra 1.

Python-kontroll med SymPy

Python 3 - SymPy
from math import comb
n = 100
p = 0.125
cdf_14 = sum(comb(n,k)*p**k*(1-p)**(n-k) for k in range(15))
probability = 1-cdf_14
print("n =", n)
print("p =", p)
print("P(X <= 14) =", cdf_14)
print("P(X >= 15) =", probability)
print("Rounded probability =", round(probability,7))
print("Percent =", round(100*probability,3))
Utskrift fra Python:
n = 100
p = 0.125
P(X <= 14) = 0.7352102771892871
P(X >= 15) = 0.2647897228107129
Rounded probability = 0.2647897
Percent = 26.479

Fasit: \(P(X\ge15)\approx0.26479\), altså omtrent \(26.5\%\).

Vanlig feil: Å beregne \(P(X=15)\) i stedet for hele halen fra 15 og oppover.
Sensorpunkt: Modell, hale/komplement og numerisk verdi skal dokumenteres.
Del 2 - Oppgave 1cMinste n i binomisk modell

Oppgave 1c

Oppgave: Finn det minste antallet biler n slik at sannsynligheten er større enn 90 prosent for at minst 20 er elbiler.
Vis løsning

Hva spør oppgaven om? Vi søker etter det første heltallet n som oppfyller \(P(X\ge20)>0.90\) for \(X\sim\operatorname{Bin}(n,0.125)\).

Steg 1 - Skriv betingelsen

\[1-P(X\le19)>0.90.\]

Steg 2 - Bruk digitalt søk

Beregn halen for økende heltall \(n\ge20\).

Steg 3 - Første treff

For \(n=204\): \[P(X\ge20)\approx0.9014386.\]

Steg 4 - Kontroller forrige heltall

For \(n=203\): \[P(X\ge20)\approx0.8969971.\]

Steg 5 - Sammenlikn

203 er under 0,90, mens 204 er over.

Steg 6 - Konkluder

Det minste antallet er 204 biler.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Sequence[1-BinomialDist[n,0.125,19,true],n,20,220]
Første verdi over 0,90 ved n=204

Tolkning: Kontrollen ved n=203 dokumenterer at 204 virkelig er minste heltall.

Python-kontroll med SymPy

Python 3 - SymPy
from math import comb
def tail_at_least_20(n, p=0.125):
    return 1-sum(comb(n,k)*p**k*(1-p)**(n-k) for k in range(20))
first = next(n for n in range(20,500) if tail_at_least_20(n) > 0.90)
previous_probability = tail_at_least_20(first-1)
first_probability = tail_at_least_20(first)
print("First n =", first)
print("P for n-1 =", previous_probability)
print("P for n =", first_probability)
print("Previous is <= 0.90?", previous_probability <= 0.90)
print("Current is > 0.90?", first_probability > 0.90)
print("Minimum verified =", first)
Utskrift fra Python:
First n = 204
P for n-1 = 0.8969971486591709
P for n = 0.901438643883612
Previous is <= 0.90? True
Current is > 0.90? True
Minimum verified = 204

Fasit: Det minste antallet er \(n=204\).

Vanlig feil: Å oppgi 203 uten å kontrollere den strenge ulikheten «større enn 90 prosent».
Sensorpunkt: Både n=204 og n=203 skal kontrolleres.
Del 2 - Oppgave 2aSekant og tangent

Oppgave 2a

Oppgave: For \(p(x)=x^2+3x-1\), vis at linjen gjennom \((-1,p(-1))\) og \((3,p(3))\) er parallell med tangenten i \((1,3)\).
Vis løsning

Hva spør oppgaven om? Vi sammenlikner stigningstallet til sekanten med den deriverte i x=1.

Steg 1 - Finn p(-1)

\[p(-1)=1-3-1=-3.\]

Steg 2 - Finn p(3)

\[p(3)=9+9-1=17.\]

Steg 3 - Sekantens stigningstall

\[m_s=\frac{17-(-3)}{3-(-1)}=\frac{20}{4}=5.\]

Steg 4 - Deriver

\[p^{\prime}(x)=2x+3.\]

Steg 5 - Tangentens stigningstall

\[m_t=p^{\prime}(1)=2+3=5.\]

Steg 6 - Konkluder

Linjen og tangenten har samme stigningstall og er derfor parallelle.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
p(x)=x^2+3x-1
Funksjon
2
Slope[Line[(-1,p(-1)),(3,p(3))]]
\(5\)
3
p'(1)
\(5\)

Tolkning: Lik stigning gir parallelle linjer.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
p = x**2+3*x-1
y1 = p.subs(x,-1)
y2 = p.subs(x,3)
secant_slope = sp.simplify((y2-y1)/(3-(-1)))
tangent_slope = sp.diff(p,x).subs(x,1)
print("p(-1) =", y1)
print("p(3) =", y2)
print("Secant slope =", secant_slope)
print("p'(x) =", sp.diff(p,x))
print("Tangent slope at x=1 =", tangent_slope)
print("Parallel =", secant_slope == tangent_slope)
Utskrift fra Python:
p(-1) = -3
p(3) = 17
Secant slope = 5
p'(x) = 2*x + 3
Tangent slope at x=1 = 5
Parallel = True

Fasit: Begge stigningstallene er \(5\), så linjene er parallelle.

Vanlig feil: Å sammenlikne y-koordinater i stedet for stigningstall.
Sensorpunkt: Punktverdier, sekantstigning og derivert i x=1 skal vises.
Del 2 - Oppgave 2bSentral differansekvotient for andregradspolynom

Oppgave 2b

Oppgave: For \(q(x)=ax^2+bx+c\), bruk CAS til å vise at \[q^{\prime}(x)=\frac{q(x+h)-q(x-h)}{2h}\] for alle x når \(h\ne0\).
Vis løsning

Hva spør oppgaven om? Vi utvider telleren symbolsk. For et andregradspolynom kansellerer de symmetriske leddene slik at uttrykket blir nøyaktig lik den deriverte.

Steg 1 - Deriver direkte

\[q^{\prime}(x)=2ax+b.\]

Steg 2 - Utvid q(x+h)

\[q(x+h)=a(x+h)^2+b(x+h)+c.\]

Steg 3 - Utvid q(x-h)

\[q(x-h)=a(x-h)^2+b(x-h)+c.\]

Steg 4 - Trekk fra

Konstantleddene og leddene i \(x^2\) og \(h^2\) kanselleres.

Steg 5 - Forenkle telleren

\[q(x+h)-q(x-h)=4axh+2bh=2h(2ax+b).\]

Steg 6 - Divider

Når \(h\ne0\): \[\frac{2h(2ax+b)}{2h}=2ax+b=q^{\prime}(x).\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
q(x)=a*x^2+b*x+c
Andregradspolynom
2
Simplify[(q(x+h)-q(x-h))/(2h)]
\(2ax+b\)
3
Derivative[q,x]
\(2ax+b\)

Tolkning: CAS viser identiteten symbolsk under forutsetningen h ikke lik 0.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, h, a, b, c = sp.symbols("x h a b c", nonzero=True)
q = a*x**2+b*x+c
q_plus = q.subs(x,x+h)
q_minus = q.subs(x,x-h)
numerator = sp.expand(q_plus-q_minus)
central = sp.simplify(numerator/(2*h))
derivative = sp.diff(q,x)
print("q(x+h) =", sp.expand(q_plus))
print("q(x-h) =", sp.expand(q_minus))
print("Numerator =", numerator)
print("Central quotient =", central)
print("q'(x) =", derivative)
print("Difference =", sp.simplify(central-derivative))
Utskrift fra Python:
q(x+h) = a*h**2 + 2*a*h*x + a*x**2 + b*h + b*x + c
q(x-h) = a*h**2 - 2*a*h*x + a*x**2 - b*h + b*x + c
Numerator = 4*a*h*x + 2*b*h
Central quotient = 2*a*x + b
q'(x) = 2*a*x + b
Difference = 0

Fasit: \(\dfrac{q(x+h)-q(x-h)}{2h}=2ax+b=q^{\prime}(x)\) for \(h\ne0\).

Vanlig feil: Å kansellere h uten å oppgi forutsetningen \(h e0\).
Sensorpunkt: Symbolsk utvidelse og identisk resultat med den deriverte skal dokumenteres.
Del 2 - Oppgave 3aParameterkurver

Oppgave 3a

Oppgave: Tegn banene \[\vec r_1(t)=[t^2-2,t^3-2t],\qquad \vec r_2(t)=[2t-1,4t-4t^2],\quad -2\le t\le2\] i samme koordinatsystem.
Vis løsning

Hva spør oppgaven om? En parameterkurve tegnes ved å la t variere over intervallet og plotte x- og y-koordinatene samtidig.

Steg 1 - Første kurve

Bruk \(x_1=t^2-2\), \(y_1=t^3-2t\).

Steg 2 - Andre kurve

Bruk \(x_2=2t-1\), \(y_2=4t-4t^2\).

Steg 3 - Parameterintervall

Begge tegnes for \(-2\le t\le2\).

Steg 4 - Retning

Marker gjerne punkter for stigende t for å vise bevegelsesretningen.

Steg 5 - Kontrollpunkter

For eksempel er \(r_1(0)=(-2,0)\) og \(r_2(0)=(-1,0)\).

Steg 6 - Digital dokumentasjon

Ved eksamen skal innstillinger, intervall og begge parameteruttrykk være synlige.

Illustrasjon til Oppgave 3a
Begge partikkelbanene er tegnet i samme koordinatsystem.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Curve[t^2-2,t^3-2t,t,-2,2]
Bane 1
2
Curve[2t-1,4t-4t^2,t,-2,2]
Bane 2

Tolkning: Begge Curve-kommandoene bruker samme koordinatsystem og parameterintervall.

Python-kontroll med SymPy

Python 3 - SymPy
import numpy as np
t = np.linspace(-2,2,9)
x1 = t**2-2
y1 = t**3-2*t
x2 = 2*t-1
y2 = 4*t-4*t**2
print("t sample =", t)
print("r1 x sample =", x1)
print("r1 y sample =", y1)
print("r2 x sample =", x2)
print("r2 y sample =", y2)
print("r1(0), r2(0) =", (-2,0), (-1,0))
Utskrift fra Python:
t sample = [-2.  -1.5 -1.  -0.5  0.   0.5  1.   1.5  2. ]
r1 x sample = [ 2.    0.25 -1.   -1.75 -2.   -1.75 -1.    0.25  2.  ]
r1 y sample = [-4.    -0.375  1.     0.875  0.    -0.875 -1.     0.375  4.   ]
r2 x sample = [-5. -4. -3. -2. -1.  0.  1.  2.  3.]
r2 y sample = [-24. -15.  -8.  -3.   0.   1.   0.  -3.  -8.]
r1(0), r2(0) = (-2, 0) (-1, 0)

Fasit: Banene er parameterkurvene vist i figuren for \(-2\le t\le2\).

Vanlig feil: Å tegne y som en vanlig funksjon av x uten å ta hensyn til parameteren og retningen.
Sensorpunkt: Begge parameteruttrykk og korrekt intervall skal dokumenteres.
Del 2 - Oppgave 3bBanefart fra fartsvektor

Oppgave 3b

Oppgave: Bestem banefarten til hver partikkel når \(t=-1\).
Vis løsning

Hva spør oppgaven om? Fartsvektoren er den deriverte av posisjonsvektoren, og banefarten er lengden av fartsvektoren.

Steg 1 - Deriver r1

\[\vec v_1(t)=[2t,3t^2-2].\]

Steg 2 - Sett inn t=-1

\[\vec v_1(-1)=[-2,1].\]

Steg 3 - Finn fart 1

\[|\vec v_1(-1)|=\sqrt{(-2)^2+1^2}=\sqrt5.\]

Steg 4 - Deriver r2

\[\vec v_2(t)=[2,4-8t].\]

Steg 5 - Sett inn t=-1

\[\vec v_2(-1)=[2,12].\]

Steg 6 - Finn fart 2

\[|\vec v_2(-1)|=\sqrt{2^2+12^2}=\sqrt{148}=2\sqrt{37}.\]

Steg 7 - Enhet

Fartene måles i meter per sekund.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Length[(2*(-1),3*(-1)^2-2)]
\(\sqrt5\)
2
Length[(2,4-8*(-1))]
\(2\sqrt{37}\)

Tolkning: Lengden av de deriverte vektorene gir banefarten.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
r1 = sp.Matrix([t**2-2,t**3-2*t])
r2 = sp.Matrix([2*t-1,4*t-4*t**2])
v1 = r1.diff(t); v2 = r2.diff(t)
v1_m1 = v1.subs(t,-1); v2_m1 = v2.subs(t,-1)
speed1 = sp.sqrt(v1_m1.dot(v1_m1)); speed2 = sp.sqrt(v2_m1.dot(v2_m1))
print("v1(t) =", list(v1))
print("v2(t) =", list(v2))
print("v1(-1) =", list(v1_m1))
print("v2(-1) =", list(v2_m1))
print("Speed 1 =", speed1, "=", sp.N(speed1,6))
print("Speed 2 =", speed2, "=", sp.N(speed2,6))
Utskrift fra Python:
v1(t) = [2*t, 3*t**2 - 2]
v2(t) = [2, 4 - 8*t]
v1(-1) = [-2, 1]
v2(-1) = [2, 12]
Speed 1 = sqrt(5) = 2.23607
Speed 2 = 2*sqrt(37) = 12.1655

Fasit: Partikkel 1 har fart \(\sqrt5\approx2.236\,\text{m/s}\), og partikkel 2 har fart \(2\sqrt{37}\approx12.166\,\text{m/s}\).

Vanlig feil: Å oppgi fartsvektorene som banefart uten å beregne lengdene.
Sensorpunkt: Derivasjon, innsetting og norm med enhet skal vises.
Del 2 - Oppgave 3cLik fartsretning

Oppgave 3c

Oppgave: Ved hvilke tidspunkt har partiklene samme fartsretning?
Vis løsning

Hva spør oppgaven om? Vektorene må være parallelle og peke samme vei. Vi setter determinanten lik null og kontrollerer deretter at skalarproduktet er positivt.

Steg 1 - Fartsvektorer

\(\vec v_1=[2t,3t^2-2]\), \(\vec v_2=[2,4-8t]\).

Steg 2 - Parallellbetingelse

\[2t(4-8t)-2(3t^2-2)=0.\]

Steg 3 - Forenkle

\[-22t^2+8t+4=0.\]

Steg 4 - Løs

\[t=\frac{2\pm\sqrt{26}}{11}.\]

Steg 5 - Kontroller retning

For \(t=(2-\sqrt{26})/11\) er skalarproduktet negativt, så retningene er motsatte.

Steg 6 - Gyldig tidspunkt

For \(t=(2+\sqrt{26})/11\) er skalarproduktet positivt.

Steg 7 - Numerisk verdi

\[t\approx0.6454\text{ s}.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[Determinant[{{2t,3t^2-2},{2,4-8t}}]=0,t]
\((2\pm\sqrt{26})/11\)
2
Dot[(2t,3t^2-2),(2,4-8t)] at t=(2+sqrt(26))/11
Positiv

Tolkning: Determinanten gir parallellitet; skalarproduktet skiller samme fra motsatt retning.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
v1 = sp.Matrix([2*t,3*t**2-2]); v2 = sp.Matrix([2,4-8*t])
determinant = sp.expand(v1[0]*v2[1]-v1[1]*v2[0])
roots = sp.solve(sp.Eq(determinant,0),t)
dot_products = [sp.simplify(v1.dot(v2).subs(t,r)) for r in roots]
valid = [r for r,d in zip(roots,dot_products) if d.evalf() > 0]
print("Determinant =", determinant)
print("Parallel times =", roots)
print("Dot products at roots =", dot_products)
print("Same-direction time =", valid)
print("Decimal time =", [sp.N(r,10) for r in valid])
print("Within interval [-2,2] =", all(-2 <= float(r) <= 2 for r in valid))
Utskrift fra Python:
Determinant = -22*t**2 + 8*t + 4
Parallel times = [2/11 - sqrt(26)/11, 2/11 + sqrt(26)/11]
Dot products at roots = [-2036*sqrt(26)/1331 - 5784/1331, -5784/1331 + 2036*sqrt(26)/1331]
Same-direction time = [2/11 + sqrt(26)/11]
Decimal time = [0.6453654103]
Within interval [-2,2] = True

Fasit: Partiklene har samme fartsretning ved \(t=\dfrac{2+\sqrt{26}}{11}\approx0.6454\,\text{s}\).

Vanlig feil: Å ta med begge parallelle tidspunkter uten å kontrollere om vektorene peker samme vei.
Sensorpunkt: Både determinant og positivt skalarprodukt skal dokumenteres.
Del 2 - Oppgave 3dMinste avstand mellom bevegelige punkter

Oppgave 3d

Oppgave: Finn den minste avstanden mellom partiklene i tidsintervallet \([-2,2]\).
Vis løsning

Hva spør oppgaven om? Vi minimerer kvadratet av avstanden. Det har samme minimum som avstanden, men er enklere å derivere.

Steg 1 - Differansevektor

\[\vec d(t)=\vec r_1(t)-\vec r_2(t)=[t^2-2t-1,\ t^3+4t^2-6t].\]

Steg 2 - Avstandskvadrat

\[D^2(t)=(t^2-2t-1)^2+(t^3+4t^2-6t)^2.\]

Steg 3 - Utvid

\[D^2=t^6+8t^5+5t^4-52t^3+38t^2+4t+1.\]

Steg 4 - Finn kandidater

Løs \((D^2)^{\prime}=0\) numerisk og ta bare røtter i \([-2,2]\).

Steg 5 - Sammenlikn

Kandidatene er omtrent \(-0.04790\), \(0.66572\) og \(1.17454\), i tillegg til endepunktene.

Steg 6 - Minimum

Den minste verdien fås ved \(t\approx-0.04790\), der \(D^2\approx0.9013268\).

Steg 7 - Ta kvadratroten

\[D_{\min}\approx\sqrt{0.9013268}=0.94938\text{ m}.\]

Illustrasjon til Oppgave 3d
Avstandsfunksjonen har globalt minimum like før t=0.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
d(t)=Distance[(t^2-2,t^3-2t),(2t-1,4t-4t^2)]
Avstandsfunksjon
2
Extremum[d,-2,2]
Minimum nær \((-0.04790,0.94938)\)

Tolkning: Et numerisk ekstremumsøk må inkludere endepunktene i intervallet.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
import math
t = sp.symbols("t", real=True)
r1 = sp.Matrix([t**2-2,t**3-2*t]); r2 = sp.Matrix([2*t-1,4*t-4*t**2])
diff = r1-r2
d2 = sp.expand(diff.dot(diff))
roots = [complex(z) for z in sp.nroots(sp.diff(d2,t))]
candidates = [-2.0,2.0]+[z.real for z in roots if abs(z.imag)<1e-10 and -2 <= z.real <= 2]
values = [(c,float(d2.subs(t,c))) for c in candidates]
best = min(values,key=lambda pair: pair[1])
print("Difference vector =", list(diff))
print("Distance squared =", d2)
print("Candidates =", candidates)
print("Squared distances =", values)
print("Best (t, D^2) =", best)
print("Minimum distance =", math.sqrt(best[1]))
Utskrift fra Python:
Difference vector = [t**2 - 2*t - 1, t**3 + 4*t**2 - 6*t]
Distance squared = t**6 + 8*t**5 + 5*t**4 - 52*t**3 + 38*t**2 + 4*t + 1
Candidates = [-2.0, 2.0, -0.047896519553726126, 0.6657171429398269, 1.1745369677769673]
Squared distances = [(-2.0, 449.0), (2.0, 145.0), (-0.047896519553726126, 0.9013268122548191), (0.6657171429398269, 7.277115352925545), (1.1745369677769673, 3.887400832674331)]
Best (t, D^2) = (-0.047896519553726126, 0.9013268122548191)
Minimum distance = 0.9493823319689593

Fasit: Minste avstand er omtrent \(0.949\,\text{m}\), ved \(t\approx-0.0479\,\text{s}\).

Vanlig feil: Å minimere bare x- eller y-forskjellen, eller å glemme endepunktene.
Sensorpunkt: Avstandskvadrat, alle kandidater og kvadratroten av minimumsverdien skal vises.
Del 2 - Oppgave 4aFormlikhet i speilingskonstruksjon

Oppgave 4a

Oppgave: I Pytagoras-konstruksjonen speiles trekant ABC om AB, BCD om BC og CAD om AC. Begrunn at trekantene AEB, CBF og ACG er formlike.
Vis løsning

Hva spør oppgaven om? Speiling bevarer vinkler og lengder. Høyden fra C til hypotenusen deler den opprinnelige rettvinklede trekanten i to mindre trekanter som begge er formlike med originalen.

Steg 1 - AEB

\(\triangle AEB\) er speilbildet av \(\triangle ACB\) og er derfor kongruent med den.

Steg 2 - CBF

\(\triangle CBF\) er speilbildet av \(\triangle CBD\).

Steg 3 - ACG

\(\triangle ACG\) er speilbildet av \(\triangle ACD\).

Steg 4 - Rettvinkler

Alle tre speilbildetrekantene er rettvinklede i henholdsvis E, F og G.

Steg 5 - En lik spiss vinkel

På grunn av høyden til hypotenusen har hver av de små trekantene en spiss vinkel lik en spiss vinkel i ABC.

Steg 6 - AA-kriteriet

Rett vinkel og én lik spiss vinkel gir formlikhet.

Steg 7 - Konklusjon

\[\triangle AEB\sim\triangle CBF\sim\triangle ACG.\]

Illustrasjon til Oppgave 4a
Speilingene gir tre rettvinklede trekanter med samme vinkelsett.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Reflect[C,Line[A,B]]
Punkt E
2
Reflect[D,Line[B,C]]
Punkt F
3
Reflect[D,Line[A,C]]
Punkt G

Tolkning: Speilingskommandoene bevarer vinklene; vinkelmåling kan bekrefte AA-formlikheten.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
# Use a 3-4-5 right triangle to verify the angle pattern numerically.
a, b, c = 3, 4, 5
angle_A = sp.acos(sp.Rational(b,c))
angle_B = sp.acos(sp.Rational(a,c))
right = sp.pi/2
triangle_AEB = [angle_A, angle_B, right]
triangle_CBF = [angle_A, angle_B, right]
triangle_ACG = [angle_A, angle_B, right]
print("Angles AEB =", triangle_AEB)
print("Angles CBF =", triangle_CBF)
print("Angles ACG =", triangle_ACG)
print("All angle sets equal =", triangle_AEB == triangle_CBF == triangle_ACG)
print("Angle sum =", sp.simplify(sum(triangle_AEB)))
print("Similarity criterion = AA")
Utskrift fra Python:
Angles AEB = [acos(4/5), acos(3/5), pi/2]
Angles CBF = [acos(4/5), acos(3/5), pi/2]
Angles ACG = [acos(4/5), acos(3/5), pi/2]
All angle sets equal = True
Angle sum = acos(4/5) + acos(3/5) + pi/2
Similarity criterion = AA

Fasit: Alle tre trekantene er rettvinklede og har de samme to spisse vinklene; derfor er de formlike ved AA.

Vanlig feil: Å hevde formlikhet bare fordi trekantene ser like ut, uten vinkelargument.
Sensorpunkt: Speiling, høyden til hypotenusen og AA-kriteriet skal kobles sammen.
Del 2 - Oppgave 4bSkalering av tilsvarende høyder

Oppgave 4b

Oppgave: La h1, h2 og h3 være høydene i trekantene AEB, CBF og ACG, og sett \(k=h_1/c\). Begrunn at \(h_2=ka\) og \(h_3=kb\).
Vis løsning

Hva spør oppgaven om? I formlike trekanter er alle tilsvarende lengder proporsjonale. Hypotenusene i de tre trekantene er henholdsvis c, a og b.

Steg 1 - Første forhold

Fra definisjonen \(k=h_1/c\) får vi \(h_1=kc\).

Steg 2 - Sammenlikn AEB og CBF

Formlikheten gir \[\frac{h_2}{h_1}=\frac{a}{c}.\]

Steg 3 - Løs for h2

\[h_2=h_1\frac ac=kc\frac ac=ka.\]

Steg 4 - Sammenlikn AEB og ACG

Formlikheten gir \[\frac{h_3}{h_1}=\frac bc.\]

Steg 5 - Løs for h3

\[h_3=h_1\frac bc=kc\frac bc=kb.\]

Steg 6 - Tolkning

Den samme skaleringsfaktoren k knytter hver høyde til trekantens hypotenuse.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
h1=k*c
Definisjon
2
h2=h1*a/c
\(ka\)
3
h3=h1*b/c
\(kb\)

Tolkning: Proporsjonene følger direkte av samsvarende lengder i formlike trekanter.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a, b, c, k = sp.symbols("a b c k", positive=True)
h1 = k*c
h2 = sp.simplify(h1*a/c)
h3 = sp.simplify(h1*b/c)
print("h1 =", h1)
print("Similarity ratio for triangle 2 =", a/c)
print("h2 =", h2)
print("Similarity ratio for triangle 3 =", b/c)
print("h3 =", h3)
print("Checks =", (sp.simplify(h2-k*a),sp.simplify(h3-k*b)))
Utskrift fra Python:
h1 = c*k
Similarity ratio for triangle 2 = a/c
h2 = a*k
Similarity ratio for triangle 3 = b/c
h3 = b*k
Checks = (0, 0)

Fasit: \(h_2=ka\) og \(h_3=kb\).

Vanlig feil: Å bruke arealforhold direkte som lengdeforhold; arealer skalerer med kvadratet av lengdefaktoren.
Sensorpunkt: Tilsvarende hypotenuser og høyder må identifiseres korrekt.
Del 2 - Oppgave 4cArealbevis for Pytagoras

Oppgave 4c

Oppgave: Bruk arealbetraktninger og resultatet fra b til å bevise Pytagoras’ setning.
Vis løsning

Hva spør oppgaven om? Speilingene viser at arealet av AEB er lik arealet av ABC, mens arealene av CBF og ACG til sammen også er lik arealet av ABC. Dermed kan arealene uttrykkes med k og sammenliknes.

Steg 1 - Kongruente arealer

\([AEB]=[ABC]\), \([CBF]=[CBD]\) og \([ACG]=[ACD]\).

Steg 2 - Deling av ABC

\([ABC]=[CBD]+[ACD]\).

Steg 3 - Areallikhet

Dermed \[[AEB]=[CBF]+[ACG].\]

Steg 4 - Arealet av AEB

\[[AEB]=\frac12ch_1=\frac12c(kc)=\frac{k}{2}c^2.\]

Steg 5 - De to andre

\[[CBF]=\frac12ah_2=\frac{k}{2}a^2,\qquad [ACG]=\frac12bh_3=\frac{k}{2}b^2.\]

Steg 6 - Sett inn i areallikheten

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

Steg 7 - Forkort

Siden \(k>0\), kan vi dividere med \(k/2\).

Steg 8 - Konklusjon

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

Illustrasjon til Oppgave 4c
Arealene av de tre formlike speilbildetrekantene gir direkte kvadratidentiteten.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
k*c^2/2=k*a^2/2+k*b^2/2
Areallikning
2
Simplify[(k*c^2/2=k*a^2/2+k*b^2/2)/(k/2)]
\(c^2=a^2+b^2\)

Tolkning: CAS kan forenkle areallikningen, men den geometriske areallikheten må begrunnes manuelt.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a, b, c, k = sp.symbols("a b c k", positive=True)
area_large = k*c**2/2
area_small_1 = k*a**2/2
area_small_2 = k*b**2/2
equation = sp.Eq(area_large,area_small_1+area_small_2)
cleared = sp.simplify((area_large-area_small_1-area_small_2)/(k/2))
print("Area AEB =", area_large)
print("Area CBF =", area_small_1)
print("Area ACG =", area_small_2)
print("Area equation =", equation)
print("After division by k/2 =", cleared)
print("Equivalent Pythagoras identity =", sp.Eq(c**2,a**2+b**2))
Utskrift fra Python:
Area AEB = c**2*k/2
Area CBF = a**2*k/2
Area ACG = b**2*k/2
Area equation = Eq(c**2*k/2, a**2*k/2 + b**2*k/2)
After division by k/2 = -a**2 - b**2 + c**2
Equivalent Pythagoras identity = Eq(c**2, a**2 + b**2)

Fasit: Fra areallikheten følger \(c^2=a^2+b^2\), altså Pytagoras’ setning.

Vanlig feil: Å skrive areallikheten uten å begrunne hvorfor den store trekantens areal er summen av de to andre.
Sensorpunkt: Kongruens, oppdeling av ABC, høydeuttrykkene og forkorting med k/2 skal vises.
Kilde og metode: Oppgavetekstene er transkribert fra Utdanningsdirektoratets eksamenssett REA3022 Matematikk R1, våren 2020. 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.