R1 eksamenHøst 2018

Matematikk R1 eksamen – høst 2018

ifingo
Norsk (Bokmål)

ifingo · Matematikk R1

Matematikk R1 - høsten 2018 (REA3022)

Løsningsforslag til eksamenssettet fra Utdanningsdirektoratet.

Del 1 - uten hjelpemidler

Del 1 - Oppgave 1aDerivasjon - sumregelen

Oppgave 1a

Oppgave: Deriver funksjonen \[f(x)=x^2+2x+e^x.\]
Vis løsning

Hva spør oppgaven om? Vi skal derivere et polynom og en eksponentialfunksjon ledd for ledd.

Steg 1 - Del opp funksjonen

Funksjonen består av leddene \(x^2\), \(2x\) og \(e^x\).

Steg 2 - Deriver kvadratleddet

Potensregelen gir \(\frac{d}{dx}x^2=2x\).

Steg 3 - Deriver det lineære leddet

\(\frac{d}{dx}(2x)=2\).

Steg 4 - Deriver eksponentialleddet

\(\frac{d}{dx}e^x=e^x\).

Steg 5 - Bruk sumregelen

Den deriverte av en sum er summen av de deriverte.

Steg 6 - Samle svaret

\[f^{\prime}(x)=2x+2+e^x.\]

GeoGebra/CAS-kontroll

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

Tolkning: CAS bruker potensregelen og regelen for den naturlige eksponentialfunksjonen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
polynomial_part = x**2 + 2*x
exponential_part = sp.exp(x)
f = polynomial_part + exponential_part
polynomial_derivative = sp.diff(polynomial_part, x)
exponential_derivative = sp.diff(exponential_part, x)
derivative = sp.diff(f, x)
print("Polynomial part =", polynomial_part)
print("Exponential part =", exponential_part)
print("Derivative of polynomial part =", polynomial_derivative)
print("Derivative of exponential part =", exponential_derivative)
print("f'(x) =", derivative)
print("Difference from 2*x + 2 + exp(x) =", sp.simplify(derivative-(2*x+2+sp.exp(x))))
Utskrift fra Python:
Polynomial part = x**2 + 2*x
Exponential part = exp(x)
Derivative of polynomial part = 2*x + 2
Derivative of exponential part = exp(x)
f'(x) = 2*x + exp(x) + 2
Difference from 2*x + 2 + exp(x) = 0

Fasit: \(f^{\prime}(x)=2x+2+e^x\).

Vanlig feil: Å glemme at den deriverte av \(e^x\) er \(e^x\), eller å la konstantfaktoren 2 forsvinne.
Sensorpunkt: Alle tre ledd skal deriveres korrekt og samles uten unødvendige omskrivinger.
Del 1 - Oppgave 1bDerivasjon - produktregelen

Oppgave 1b

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

Hva spør oppgaven om? Funksjonen er et produkt av \(x^2\) og \(\ln x\), så produktregelen må brukes. Definisjonsmengden er \(x>0\).

Steg 1 - Velg faktorene

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

Steg 2 - Deriver faktorene

\[u^{\prime}(x)=2x,\qquad v^{\prime}(x)=\frac1x.\]

Steg 3 - Skriv produktregelen

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

Steg 4 - Sett inn

\[g^{\prime}(x)=2x\ln x+x^2\cdot\frac1x.\]

Steg 5 - Forenkle

For \(x>0\) er \(x^2/x=x\).

Steg 6 - Skriv sluttresultatet

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

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[x^2 ln(x),x]
\(2x\ln x+x\)
2
Factor[%]
\(x(2\ln x+1)\)

Tolkning: CAS bekrefter både sumformen og den faktoriserte formen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", positive=True)
u = x**2
v = sp.log(x)
u_prime = sp.diff(u, x)
v_prime = sp.diff(v, x)
product_rule = sp.expand(u_prime*v + u*v_prime)
direct_derivative = sp.diff(u*v, x)
print("u(x) =", u)
print("v(x) =", v)
print("u'(x) =", u_prime)
print("v'(x) =", v_prime)
print("Product-rule result =", product_rule)
print("Factored result =", sp.factor(product_rule))
print("Direct derivative check =", direct_derivative)
print("Difference check =", sp.simplify(product_rule-direct_derivative))
Utskrift fra Python:
u(x) = x**2
v(x) = log(x)
u'(x) = 2*x
v'(x) = 1/x
Product-rule result = 2*x*log(x) + x
Factored result = x*(2*log(x) + 1)
Direct derivative check = 2*x*log(x) + x
Difference check = 0

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

Vanlig feil: Å derivere produktet som \(2x\cdot1/x\). Produktregelen krever to ledd.
Sensorpunkt: Produktregelen og forenklingen \(x^2/x=x\) skal komme tydelig fram.
Del 1 - Oppgave 1cDerivasjon - kvotient og kjerneregel

Oppgave 1c

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

Hva spør oppgaven om? Vi kan skrive brøken som et produkt med negativ eksponent og deretter bruke produktregelen og kjerneregelen.

Steg 1 - Skriv om brøken

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

Steg 2 - Deriver første faktor

\(\frac{d}{dx}(x-1)=1\).

Steg 3 - Deriver andre faktor

Kjerneregelen gir \[\frac{d}{dx}e^{-(2x+1)}=-2e^{-(2x+1)}.\]

Steg 4 - Bruk produktregelen

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

Steg 5 - Faktoriser eksponentialleddet

\[h^{\prime}(x)=e^{-(2x+1)}\bigl(1-2x+2\bigr).\]

Steg 6 - Forenkle parentesen

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

Steg 7 - Skriv som brøk

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

GeoGebra/CAS-kontroll

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

Tolkning: CAS utfører kvotientregelen og forenkler til samme uttrykk.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
numerator = x - 1
denominator = sp.exp(2*x + 1)
h = numerator / denominator
rewritten = numerator * sp.exp(-(2*x + 1))
product_rule = sp.diff(numerator, x)*sp.exp(-(2*x+1)) + numerator*sp.diff(sp.exp(-(2*x+1)), x)
derivative = sp.simplify(sp.diff(h, x))
print("Numerator =", numerator)
print("Denominator =", denominator)
print("Rewritten h(x) =", rewritten)
print("Product-rule expression =", sp.expand(product_rule))
print("Simplified derivative =", derivative)
print("Expected form =", (3-2*x)/sp.exp(2*x+1))
print("Difference check =", sp.simplify(derivative-(3-2*x)/sp.exp(2*x+1)))
Utskrift fra Python:
Numerator = x - 1
Denominator = exp(2*x + 1)
Rewritten h(x) = (x - 1)*exp(-2*x - 1)
Product-rule expression = -2*x*exp(-1)*exp(-2*x) + 3*exp(-1)*exp(-2*x)
Simplified derivative = (3 - 2*x)*exp(-2*x - 1)
Expected form = (3 - 2*x)*exp(-2*x - 1)
Difference check = 0

Fasit: \(h^{\prime}(x)=\dfrac{3-2x}{e^{2x+1}}\).

Vanlig feil: Å glemme faktoren 2 når \(e^{2x+1}\) eller \(e^{-(2x+1)}\) deriveres.
Sensorpunkt: Kjerneregelen må være synlig, og sluttformen skal være algebraisk korrekt for alle reelle \(x\).
Del 1 - Oppgave 2aEksponentiallikning

Oppgave 2a

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

Hva spør oppgaven om? Likningen er andregradsliknende i \(e^x\). Vi innfører en positiv hjelpevariabel.

Steg 1 - Innfør variabel

Sett \(u=e^x\). Da er \(u>0\) og \(e^{2x}=u^2\).

Steg 2 - Skriv om likningen

\[u^2+7u-8=0.\]

Steg 3 - Faktoriser

\[u^2+7u-8=(u-1)(u+8).\]

Steg 4 - Finn kandidatene

\[u=1\quad\text{eller}\quad u=-8.\]

Steg 5 - Bruk positivitet

Siden \(u=e^x>0\), forkastes \(u=-8\).

Steg 6 - Gå tilbake til x

\[e^x=1\iff x=0.\]

Steg 7 - Kontroller

Innsetting gir \(1+7-8=0\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[exp(2x)+7exp(x)-8=0,x]
\(x=0\)

Tolkning: CAS gir den eneste reelle løsningen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, u = sp.symbols("x u", real=True)
quadratic = u**2 + 7*u - 8
factored = sp.factor(quadratic)
u_solutions = sp.solve(sp.Eq(quadratic, 0), u)
positive_u = [value for value in u_solutions if value.is_positive]
x_solutions = [sp.log(value) for value in positive_u]
original = sp.exp(2*x) + 7*sp.exp(x) - 8
print("Quadratic in u =", quadratic)
print("Factored quadratic =", factored)
print("All u-solutions =", u_solutions)
print("Positive u-solutions =", positive_u)
print("Corresponding x-solutions =", x_solutions)
for value in x_solutions:
    print("Check at x =", value, ":", sp.simplify(original.subs(x, value)))
Utskrift fra Python:
Quadratic in u = u**2 + 7*u - 8
Factored quadratic = (u - 1)*(u + 8)
All u-solutions = [-8, 1]
Positive u-solutions = [1]
Corresponding x-solutions = [0]
Check at x = 0 : 0

Fasit: \(x=0\).

Vanlig feil: Å ta med \(e^x=-8\) som en mulig reell løsning. En eksponentialverdi er alltid positiv.
Sensorpunkt: Substitusjonen og begrunnelsen for å forkaste den negative roten skal være med.
Del 1 - Oppgave 2bLogaritmelikning og definisjonsmengde

Oppgave 2b

Oppgave: Løs likningen \[\ln(x^2-5x-1)-\ln(3-2x)=0.\]
Vis løsning

Hva spør oppgaven om? Før logaritmeregler brukes, må begge logaritmeargumentene være positive.

Steg 1 - Sett opp kravene

Vi må ha \(x^2-5x-1>0\) og \(3-2x>0\).

Steg 2 - Samle logaritmene

\[\ln\!\left(\frac{x^2-5x-1}{3-2x}\right)=0.\]

Steg 3 - Bruk at \(\ln 1=0\)

For lovlige \(x\)-verdier må brøken være lik 1.

Steg 4 - Løs den algebraiske likningen

\[x^2-5x-1=3-2x\iff x^2-3x-4=0.\]

Steg 5 - Faktoriser

\[(x-4)(x+1)=0,\] så kandidatene er \(x=4\) og \(x=-1\).

Steg 6 - Kontroller definisjonsmengden

For \(x=4\) er \(3-2x=-5<0\), så kandidaten forkastes. For \(x=-1\) er begge argumentene lik 5.

Steg 7 - Kontroller originalen

\(\ln 5-\ln 5=0\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[x^2-5x-1=3-2x,x]
\(x=-1,4\)
2
Solutions[ln(x^2-5x-1)-ln(3-2x)=0]
\(x=-1\)

Tolkning: Den algebraiske likningen har to røtter, men bare én ligger i logaritmeuttrykkets definisjonsmengde.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
arg1 = x**2 - 5*x - 1
arg2 = 3 - 2*x
algebraic_equation = sp.expand(arg1 - arg2)
candidates = sp.solve(sp.Eq(arg1, arg2), x)
valid = [value for value in candidates if bool(arg1.subs(x,value)>0) and bool(arg2.subs(x,value)>0)]
print("First logarithm argument =", arg1)
print("Second logarithm argument =", arg2)
print("Equation after equal arguments =", algebraic_equation)
print("Candidates =", candidates)
for value in candidates:
    print("x =", value, "gives arguments", arg1.subs(x,value), "and", arg2.subs(x,value))
print("Valid solutions =", valid)
for value in valid:
    print("Original expression at x =", value, "is", sp.simplify(sp.log(arg1.subs(x,value))-sp.log(arg2.subs(x,value))))
Utskrift fra Python:
First logarithm argument = x**2 - 5*x - 1
Second logarithm argument = 3 - 2*x
Equation after equal arguments = x**2 - 3*x - 4
Candidates = [-1, 4]
x = -1 gives arguments 5 and 5
x = 4 gives arguments -5 and -5
Valid solutions = [-1]
Original expression at x = -1 is 0

Fasit: \(x=-1\).

Vanlig feil: Å godta begge røttene uten å kontrollere at logaritmeargumentene er positive.
Sensorpunkt: Definisjonsmengden skal brukes aktivt til å forkaste \(x=4\).
Del 1 - Oppgave 3aVektorregning - lineærkombinasjon

Oppgave 3a

Oppgave: Gitt \(\vec a=[2,3]\) og \(\vec b=[-5,3]\). Bestem vektorsummen \(2\vec b-3\vec a\).
Vis løsning

Hva spør oppgaven om? Vi skalerer vektorene komponentvis og trekker deretter komponent for komponent.

Steg 1 - Beregn \(2\vec b\)

\[2\vec b=2[-5,3]=[-10,6].\]

Steg 2 - Beregn \(3\vec a\)

\[3\vec a=3[2,3]=[6,9].\]

Steg 3 - Sett inn i uttrykket

\[2\vec b-3\vec a=[-10,6]-[6,9].\]

Steg 4 - Trekk fra x-komponentene

\(-10-6=-16\).

Steg 5 - Trekk fra y-komponentene

\(6-9=-3\).

Steg 6 - Skriv vektoren

\[2\vec b-3\vec a=[-16,-3].\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
a=(2,3)
\(\vec a\)
2
b=(-5,3)
\(\vec b\)
3
2b-3a
\((-16,-3)\)

Tolkning: GeoGebra regner lineærkombinasjonen komponentvis.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a = sp.Matrix([2, 3])
b = sp.Matrix([-5, 3])
two_b = 2*b
three_a = 3*a
result = two_b - three_a
print("a =", list(a))
print("b =", list(b))
print("2*b =", list(two_b))
print("3*a =", list(three_a))
print("2*b - 3*a =", list(result))
print("Component check =", [2*b[i]-3*a[i] for i in range(2)])
Utskrift fra Python:
a = [2, 3]
b = [-5, 3]
2*b = [-10, 6]
3*a = [6, 9]
2*b - 3*a = [-16, -3]
Component check = [-16, -3]

Fasit: \(2\vec b-3\vec a=[-16,-3]\).

Vanlig feil: Å trekke koeffisientene fra hverandre før vektorene skaleres, eller å miste minustegnet i \(\vec b\).
Sensorpunkt: Begge komponentene skal vises og beregnes korrekt.
Del 1 - Oppgave 3bVektorlengde og sammenlikning

Oppgave 3b

Oppgave: Avgjør om \(|\vec a|>4\) når \(\vec a=[2,3]\).
Vis løsning

Hva spør oppgaven om? Vi beregner den euklidske lengden og sammenlikner med 4.

Steg 1 - Skriv lengdeformelen

For \([u,v]\) er lengden \(\sqrt{u^2+v^2}\).

Steg 2 - Sett inn komponentene

\[|\vec a|=\sqrt{2^2+3^2}.\]

Steg 3 - Regn ut kvadratene

\[|\vec a|=\sqrt{4+9}=\sqrt{13}.\]

Steg 4 - Sammenlikn uten avrunding

Siden \(13<16\), er \(\sqrt{13}<\sqrt{16}=4\).

Steg 5 - Eventuell desimalkontroll

\(\sqrt{13}\approx3{,}606\).

Steg 6 - Konkluder

Påstanden \(|\vec a|>4\) er derfor usann.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Length[Vector[(0,0),(2,3)]]
\(\sqrt{13}\approx3.606\)

Tolkning: Lengden er mindre enn 4.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a = sp.Matrix([2, 3])
length_squared = a.dot(a)
length = sp.sqrt(length_squared)
comparison_value = sp.Integer(4)
comparison = sp.simplify(length < comparison_value)
print("a =", list(a))
print("Length squared =", length_squared)
print("Exact length =", length)
print("Decimal length =", sp.N(length, 12))
print("Comparison value =", comparison_value)
print("Is |a| > 4?", bool(length > comparison_value))
print("Is |a| < 4?", bool(comparison))
Utskrift fra Python:
a = [2, 3]
Length squared = 13
Exact length = sqrt(13)
Decimal length = 3.60555127546
Comparison value = 4
Is |a| > 4? False
Is |a| < 4? True

Fasit: Nei. \(|\vec a|=\sqrt{13}<4\).

Vanlig feil: Å sammenlikne \(13\) direkte med 4 i stedet for å sammenlikne \(\sqrt{13}\) med 4.
Sensorpunkt: En eksakt sammenlikning, for eksempel \(13<16\), er bedre enn bare en avrundet desimal.
Del 1 - Oppgave 3cSkalarprodukt og vinkeltype

Oppgave 3c

Oppgave: Avgjør ved hjelp av vektorregning om vinkelen mellom \(\vec a=[2,3]\) og \(\vec b=[-5,3]\) er spiss, rett eller stump.
Vis løsning

Hva spør oppgaven om? Fortegnet til skalarproduktet avgjør om cosinus til vinkelen er positiv, null eller negativ.

Steg 1 - Skriv skalarproduktet

\[\vec a\cdot\vec b=a_xb_x+a_yb_y.\]

Steg 2 - Sett inn komponentene

\[\vec a\cdot\vec b=2\cdot(-5)+3\cdot3.\]

Steg 3 - Regn ut

\[\vec a\cdot\vec b=-10+9=-1.\]

Steg 4 - Knytt til cosinus

\[\cos\theta=\frac{\vec a\cdot\vec b}{|\vec a||\vec b|}.\] Nevneren er positiv.

Steg 5 - Bruk fortegnet

Siden telleren er negativ, er \(\cos\theta<0\).

Steg 6 - Klassifiser vinkelen

En vinkel mellom \(90^{\circ}\) og \(180^{\circ}\) har negativ cosinus, så vinkelen er stump.

Steg 7 - Numerisk kontroll

Vinkelen er omtrent \(93{,}37^{\circ}\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Angle[Vector[(0,0),(2,3)],Vector[(0,0),(-5,3)]]
\(93.37^{\circ}\)
2
Dot[(2,3),(-5,3)]
\(-1\)

Tolkning: Negativt skalarprodukt og en vinkel større enn 90 grader viser at vinkelen er stump.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a = sp.Matrix([2, 3])
b = sp.Matrix([-5, 3])
dot_product = a.dot(b)
length_a = sp.sqrt(a.dot(a))
length_b = sp.sqrt(b.dot(b))
cosine = sp.simplify(dot_product/(length_a*length_b))
angle = sp.acos(cosine)
print("a =", list(a))
print("b =", list(b))
print("Dot product =", dot_product)
print("|a| =", length_a)
print("|b| =", length_b)
print("Exact cosine =", cosine)
print("Angle in degrees =", sp.N(angle*180/sp.pi, 12))
print("Angle classification =", "obtuse" if dot_product < 0 else "right" if dot_product == 0 else "acute")
Utskrift fra Python:
a = [2, 3]
b = [-5, 3]
Dot product = -1
|a| = sqrt(13)
|b| = sqrt(34)
Exact cosine = -sqrt(442)/442
Angle in degrees = 92.7263109939
Angle classification = obtuse

Fasit: Vinkelen er stump, fordi \(\vec a\cdot\vec b=-1<0\).

Vanlig feil: Å tro at et lite negativt skalarprodukt betyr at vinkelen er nesten rett og derfor skal kalles rett. Bare skalarprodukt 0 gir rett vinkel.
Sensorpunkt: Klassifiseringen skal begrunnes med fortegnet til skalarproduktet.
Del 1 - Oppgave 4aPolynomdivisjon - faktorprøve

Oppgave 4a

Oppgave: Funksjonen er \(f(x)=x^3+6x^2-x-30\). Vis at divisjonen \(f(x):(x-2)\) går opp.
Vis løsning

Hva spør oppgaven om? Et polynom er delelig med \(x-2\) akkurat når \(f(2)=0\). Vi kan også vise selve divisjonen.

Steg 1 - Bruk faktorsetningen

\(x-2\) er en faktor dersom \(f(2)=0\).

Steg 2 - Sett inn \(x=2\)

\[f(2)=2^3+6\cdot2^2-2-30.\]

Steg 3 - Regn ut

\[f(2)=8+24-2-30=0.\]

Steg 4 - Konkluder med faktorsetningen

Dermed er \(x-2\) en faktor i \(f(x)\).

Steg 5 - Utfør divisjonen

Polynomdivisjon gir kvotienten \(x^2+8x+15\) og rest 0.

Steg 6 - Kontroller multiplikasjonen

\[(x-2)(x^2+8x+15)=x^3+6x^2-x-30.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Div[x^3+6x^2-x-30,x-2]
\(x^2+8x+15\)
2
Mod[x^3+6x^2-x-30,x-2]
\(0\)

Tolkning: Resten er 0, så divisjonen går opp.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = x**3 + 6*x**2 - x - 30
divisor = x - 2
value_at_two = sp.expand(f.subs(x, 2))
quotient, remainder = sp.div(f, divisor)
reconstructed = sp.expand(divisor*quotient + remainder)
print("f(x) =", f)
print("f(2) =", value_at_two)
print("Divisor =", divisor)
print("Quotient =", quotient)
print("Remainder =", remainder)
print("Reconstructed polynomial =", reconstructed)
print("Difference check =", sp.expand(f-reconstructed))
Utskrift fra Python:
f(x) = x**3 + 6*x**2 - x - 30
f(2) = 0
Divisor = x - 2
Quotient = x**2 + 8*x + 15
Remainder = 0
Reconstructed polynomial = x**3 + 6*x**2 - x - 30
Difference check = 0

Fasit: Divisjonen går opp: \(f(2)=0\), og kvotienten er \(x^2+8x+15\).

Vanlig feil: Å bare skrive at 2 er en rot uten å vise innsettingen eller knytte den til faktorsetningen.
Sensorpunkt: Null rest eller en eksplisitt faktorprøve skal dokumenteres.
Del 1 - Oppgave 4bFaktorisering i lineære faktorer

Oppgave 4b

Oppgave: Faktoriser \(f(x)=x^3+6x^2-x-30\) i lineære faktorer.
Vis løsning

Hva spør oppgaven om? Fra forrige del vet vi at \(x-2\) er en faktor. Vi faktoriserer andregradskvotienten videre.

Steg 1 - Bruk resultatet fra a

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

Steg 2 - Faktoriser andregradsuttrykket

Vi søker to tall med sum 8 og produkt 15.

Steg 3 - Finn tallene

Tallene er 3 og 5.

Steg 4 - Skriv faktorene

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

Steg 5 - Samle faktoriseringen

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

Steg 6 - Kontroller nullpunktene

Nullpunktene er \(x=2\), \(x=-3\) og \(x=-5\).

Steg 7 - Multipliser som kontroll

Utvidelse gir tilbake \(x^3+6x^2-x-30\).

GeoGebra/CAS-kontroll

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

Tolkning: CAS gir tre lineære faktorer.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = x**3 + 6*x**2 - x - 30
known_factor = x - 2
quotient = sp.div(f, known_factor)[0]
factored_quotient = sp.factor(quotient)
full_factorization = sp.factor(f)
roots = sp.solve(sp.Eq(f, 0), x)
print("f(x) =", f)
print("Known factor =", known_factor)
print("Quadratic quotient =", quotient)
print("Factored quotient =", factored_quotient)
print("Full factorization =", full_factorization)
print("Roots =", roots)
print("Expansion check =", sp.expand(full_factorization))
Utskrift fra Python:
f(x) = x**3 + 6*x**2 - x - 30
Known factor = x - 2
Quadratic quotient = x**2 + 8*x + 15
Factored quotient = (x + 3)*(x + 5)
Full factorization = (x - 2)*(x + 3)*(x + 5)
Roots = [-5, -3, 2]
Expansion check = x**3 + 6*x**2 - x - 30

Fasit: \(f(x)=(x-2)(x+3)(x+5)\).

Vanlig feil: Å skrive røttene som faktorer med samme fortegn, for eksempel \((x-3)\) når roten er \(-3\).
Sensorpunkt: Alle tre lineære faktorer og korrekt fortegn skal være med.
Del 1 - Oppgave 4cPolynomulikhet og fortegn

Oppgave 4c

Oppgave: Løs ulikheten \[-2f(x)\ge 0,\qquad f(x)=x^3+6x^2-x-30.\]
Vis løsning

Hva spør oppgaven om? Når vi deler på det negative tallet \(-2\), snur ulikhetstegnet. Deretter bruker vi fortegnet til de lineære faktorene.

Steg 1 - Del på \(-2\)

\[-2f(x)\ge0\iff f(x)\le0.\] Ulikhetstegnet snur fordi vi deler på et negativt tall.

Steg 2 - Bruk faktoriseringen

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

Steg 3 - Finn kritiske punkter

Nullpunktene \(-5\), \(-3\) og 2 deler tallinjen i fire intervaller.

Steg 4 - Bestem fortegn lengst til høyre

For \(x>2\) er alle faktorene positive, så \(f(x)>0\).

Steg 5 - La fortegnet skifte ved enkle røtter

Fortegnet blir negativt på \((-3,2)\), positivt på \((-5,-3)\) og negativt på \(( -\infty,-5)\).

Steg 6 - Velg der \(f(x)\le0\)

Vi tar intervallene med negativt fortegn og inkluderer nullpunktene.

Steg 7 - Skriv løsningen

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

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[-2(x^3+6x^2-x-30)>=0,x]
\(x\le-5\;\lor\;-3\le x\le2\)

Tolkning: CAS bekrefter de to intervallene, inkludert nullpunktene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = (x+5)*(x+3)*(x-2)
expression = -2*f
solution = sp.solve_univariate_inequality(expression >= 0, x)
test_points = [-6, -4, 0, 3]
print("Factored f(x) =", f)
print("Inequality expression =", sp.expand(expression))
print("Equivalent condition is f(x) <= 0")
print("Roots =", sp.solve(sp.Eq(f, 0), x))
for point in test_points:
    print("f(", point, ") =", f.subs(x, point))
print("Solution set =", solution)
Utskrift fra Python:
Factored f(x) = (x - 2)*(x + 3)*(x + 5)
Inequality expression = -2*x**3 - 12*x**2 + 2*x + 60
Equivalent condition is f(x) <= 0
Roots = [-5, -3, 2]
f( -6 ) = -24
f( -4 ) = 6
f( 0 ) = -30
f( 3 ) = 48
Solution set = (x <= -5) | ((-3 <= x) & (x <= 2))

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

Vanlig feil: Å dele på \(-2\) uten å snu ulikhetstegnet, eller å utelate endepunktene når ulikheten er \(\ge\).
Sensorpunkt: Fortegnsskjemaet og inkluderingen av nullpunktene skal være korrekt.
Del 1 - Oppgave 5aTotal sannsynlighet

Oppgave 5a

Oppgave: 70 % av kundene er menn. 60 % av mennene og 40 % av kvinnene kjøper edelgran. Hva er sannsynligheten for at det første treet som selges, er edelgran?
Vis løsning

Hva spør oppgaven om? Vi deler hendelsen edelgran i to gjensidig utelukkende veier: mann som kjøper edelgran, eller kvinne som kjøper edelgran.

Steg 1 - Finn kvinneandelen

Når 70 % er menn, er \(P(K)=1-0{,}70=0{,}30\).

Steg 2 - Skriv betingede sannsynligheter

\(P(E\mid M)=0{,}60\) og \(P(E\mid K)=0{,}40\).

Steg 3 - Bruk total sannsynlighet

\[P(E)=P(M)P(E\mid M)+P(K)P(E\mid K).\]

Steg 4 - Sett inn tallene

\[P(E)=0{,}70\cdot0{,}60+0{,}30\cdot0{,}40.\]

Steg 5 - Regn ut grenene

\[0{,}70\cdot0{,}60=0{,}42,\qquad0{,}30\cdot0{,}40=0{,}12.\]

Steg 6 - Summer

\[P(E)=0{,}42+0{,}12=0{,}54.\]

Steg 7 - Skriv i prosent

Sannsynligheten er 54 %.

Illustrasjon til Oppgave 5a
Sannsynlighetstreet viser de to veiene som ender i edelgran.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
0.70*0.60+0.30*0.40
\(0.54\)

Tolkning: De to grenene i sannsynlighetstreet summeres.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
p_man = sp.Rational(70, 100)
p_woman = 1 - p_man
p_fir_given_man = sp.Rational(60, 100)
p_fir_given_woman = sp.Rational(40, 100)
man_branch = p_man*p_fir_given_man
woman_branch = p_woman*p_fir_given_woman
p_fir = sp.simplify(man_branch + woman_branch)
print("P(man) =", p_man)
print("P(woman) =", p_woman)
print("P(man and fir) =", man_branch)
print("P(woman and fir) =", woman_branch)
print("P(fir) =", p_fir)
print("Decimal probability =", sp.N(p_fir, 12))
print("Percentage =", sp.N(100*p_fir, 12))
Utskrift fra Python:
P(man) = 7/10
P(woman) = 3/10
P(man and fir) = 21/50
P(woman and fir) = 3/25
P(fir) = 27/50
Decimal probability = 0.540000000000
Percentage = 54.0000000000

Fasit: \(P(\text{edelgran})=0{,}54=54\,\%\).

Vanlig feil: Å legge sammen 60 % og 40 % uten å vekte med andelen menn og kvinner.
Sensorpunkt: Begge grenproduktene og summeringen skal vises.
Del 1 - Oppgave 5bBetinget sannsynlighet - Bayes

Oppgave 5b

Oppgave: Alle som kjøper edelgran, får et lodd. Hva er sannsynligheten for at lotterivinneren blir en kvinne?
Vis løsning

Hva spør oppgaven om? Vinneren trekkes blant edelgrankjøperne. Vi søker derfor \(P(K\mid E)\), ikke bare kvinneandelen i hele kundegruppen.

Steg 1 - Identifiser betingelsen

Utvalgsrommet er redusert til kunder som har kjøpt edelgran.

Steg 2 - Bruk definisjonen

\[P(K\mid E)=\frac{P(K\cap E)}{P(E)}.\]

Steg 3 - Finn telleren

\[P(K\cap E)=0{,}30\cdot0{,}40=0{,}12.\]

Steg 4 - Bruk nevneren fra a

\[P(E)=0{,}54.\]

Steg 5 - Sett inn

\[P(K\mid E)=\frac{0{,}12}{0{,}54}.\]

Steg 6 - Forkort brøken

\[\frac{12}{54}=\frac{2}{9}.\]

Steg 7 - Regn om til prosent

\[\frac29\approx0{,}2222=22{,}22\,\%.\]

Illustrasjon til Oppgave 5b
Lotteriet omfatter bare de to edelgran-grenene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
0.12/0.54
\(2/9\approx0.2222\)

Tolkning: Andelen kvinnelige edelgrankjøpere divideres med alle edelgrankjøpere.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
p_woman = sp.Rational(3, 10)
p_fir_given_woman = sp.Rational(2, 5)
p_woman_and_fir = p_woman*p_fir_given_woman
p_fir = sp.Rational(54, 100)
conditional = sp.simplify(p_woman_and_fir/p_fir)
print("P(woman) =", p_woman)
print("P(fir | woman) =", p_fir_given_woman)
print("P(woman and fir) =", p_woman_and_fir)
print("P(fir) =", p_fir)
print("P(woman | fir) =", conditional)
print("Decimal probability =", sp.N(conditional, 12))
print("Percentage =", sp.N(100*conditional, 12))
Utskrift fra Python:
P(woman) = 3/10
P(fir | woman) = 2/5
P(woman and fir) = 3/25
P(fir) = 27/50
P(woman | fir) = 2/9
Decimal probability = 0.222222222222
Percentage = 22.2222222222

Fasit: \(P(\text{kvinne}\mid\text{edelgran})=\dfrac29\approx22{,}2\,\%\).

Vanlig feil: Å svare 30 %, som er kvinneandelen blant alle kunder, ikke blant dem som har lodd.
Sensorpunkt: Betinget sannsynlighet med riktig teller og nevner skal brukes.
Del 1 - Oppgave 6Kontinuitet i stykkevis funksjon

Oppgave 6

Oppgave: Funksjonen er gitt ved \[f(x)=\begin{cases}2x^2-3x-2,&x\le a,\\x^2+x+3,&x>a.\end{cases}\] For hvilke verdier av \(a\) blir \(f\) kontinuerlig?
Vis løsning

Hva spør oppgaven om? Begge deluttrykkene er polynomer og dermed kontinuerlige hver for seg. Det eneste mulige bruddpunktet er skjøten \(x=a\).

Steg 1 - Finn funksjonsverdien fra venstre del

Siden første gren gjelder for \(x\le a\), er \[f(a)=2a^2-3a-2.\]

Steg 2 - Finn høyregrensen

Når \(x\to a^+\), nærmer andre gren seg \[a^2+a+3.\]

Steg 3 - Sett kontinuitetskravet

\[2a^2-3a-2=a^2+a+3.\]

Steg 4 - Samle på én side

\[a^2-4a-5=0.\]

Steg 5 - Faktoriser

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

Steg 6 - Løs likningen

\[a=5\quad\text{eller}\quad a=-1.\]

Steg 7 - Kontroller skjøten

For begge verdier gir de to grenene samme verdi ved \(x=a\), så ingen sprang oppstår.

GeoGebra/CAS-kontroll

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

Tolkning: Kontinuitetslikningen har to løsninger.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
a, x = sp.symbols("a x", real=True)
left_branch = 2*x**2 - 3*x - 2
right_branch = x**2 + x + 3
left_value = sp.expand(left_branch.subs(x, a))
right_limit = sp.expand(right_branch.subs(x, a))
continuity_polynomial = sp.expand(left_value-right_limit)
solutions = sp.solve(sp.Eq(left_value, right_limit), a)
print("Left branch =", left_branch)
print("Right branch =", right_branch)
print("f(a) from left branch =", left_value)
print("Right-hand limit at a =", right_limit)
print("Continuity polynomial =", continuity_polynomial)
print("Factored equation =", sp.factor(continuity_polynomial))
print("Solutions for a =", solutions)
for value in solutions:
    print("a =", value, "gives common value", left_value.subs(a,value))
Utskrift fra Python:
Left branch = 2*x**2 - 3*x - 2
Right branch = x**2 + x + 3
f(a) from left branch = 2*a**2 - 3*a - 2
Right-hand limit at a = a**2 + a + 3
Continuity polynomial = a**2 - 4*a - 5
Factored equation = (a - 5)*(a + 1)
Solutions for a = [-1, 5]
a = -1 gives common value 3
a = 5 gives common value 33

Fasit: \(a=-1\) eller \(a=5\).

Vanlig feil: Å sette \(x=0\) i grenene, eller å kreve at de deriverte skal være like. Kontinuitet krever bare samme funksjonsverdi ved skjøten.
Sensorpunkt: Det skal framgå hvorfor bare \(x=a\) må undersøkes.
Del 1 - Oppgave 7aDerivasjon av logaritmefunksjon

Oppgave 7a

Oppgave: Funksjonen er \[g(x)=x-2\ln(x^2+3),\qquad x\in\mathbb R.\] Vis at \[g^{\prime}(x)=\frac{x^2-4x+3}{x^2+3}.\]
Vis løsning

Hva spør oppgaven om? Vi deriverer logaritmeleddet med kjerneregelen og samler resultatet over fellesnevner.

Steg 1 - Deriver første ledd

\(\frac{d}{dx}x=1\).

Steg 2 - Identifiser kjernen

I \(\ln(x^2+3)\) er kjernen \(u=x^2+3\), med \(u^{\prime}=2x\).

Steg 3 - Deriver logaritmen

\[\frac{d}{dx}\ln(x^2+3)=\frac{2x}{x^2+3}.\]

Steg 4 - Ta med faktoren \(-2\)

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

Steg 5 - Skriv 1 med fellesnevner

\[1=\frac{x^2+3}{x^2+3}.\]

Steg 6 - Samle telleren

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

Steg 7 - Ordne leddene

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

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[x-2ln(x^2+3),x]
\(1-4x/(x^2+3)\)
2
Simplify[%]
\((x^2-4x+3)/(x^2+3)\)

Tolkning: CAS gir først en sumform og deretter den ønskede brøkformen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
inner = x**2 + 3
g = x - 2*sp.log(inner)
inner_derivative = sp.diff(inner, x)
log_derivative = inner_derivative/inner
derivative_sum_form = 1 - 2*log_derivative
derivative_fraction = sp.factor(sp.together(derivative_sum_form))
direct = sp.diff(g, x)
print("Inner function =", inner)
print("Inner derivative =", inner_derivative)
print("g(x) =", g)
print("Derivative in sum form =", derivative_sum_form)
print("Derivative as one fraction =", derivative_fraction)
print("Direct derivative =", direct)
print("Difference check =", sp.simplify(direct-derivative_fraction))
Utskrift fra Python:
Inner function = x**2 + 3
Inner derivative = 2*x
g(x) = x - 2*log(x**2 + 3)
Derivative in sum form = -4*x/(x**2 + 3) + 1
Derivative as one fraction = (x - 3)*(x - 1)/(x**2 + 3)
Direct derivative = -4*x/(x**2 + 3) + 1
Difference check = 0

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

Vanlig feil: Å glemme kjernens deriverte \(2x\), eller å miste faktoren \(-2\).
Sensorpunkt: Kjerneregelen og overgangen til fellesnevner skal vises eksplisitt.
Del 1 - Oppgave 7bMonotoni og ekstremalpunkt

Oppgave 7b

Oppgave: Bestem x-koordinaten til eventuelle toppunkt og x-koordinaten til eventuelle bunnpunkt på grafen til \(g\).
Vis løsning

Hva spør oppgaven om? Vi finner nullpunktene til den deriverte og analyserer fortegnet. Nevneren \(x^2+3\) er alltid positiv.

Steg 1 - Faktoriser telleren

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

Steg 2 - Finn kritiske x-verdier

\[g^{\prime}(x)=0\iff x=1\quad\text{eller}\quad x=3.\]

Steg 3 - Bruk positiv nevner

Fortegnet til \(g^{\prime}\) bestemmes bare av \((x-1)(x-3)\).

Steg 4 - Undersøk \(x<1\)

Begge faktorene er negative, så produktet og \(g^{\prime}\) er positivt.

Steg 5 - Undersøk \(1<x<3\)

Faktorene har ulike fortegn, så \(g^{\prime}<0\).

Steg 6 - Undersøk \(x>3\)

Begge faktorene er positive, så \(g^{\prime}>0\).

Steg 7 - Klassifiser punktene

Ved \(x=1\) går grafen fra voksende til avtakende: toppunkt. Ved \(x=3\) går den fra avtakende til voksende: bunnpunkt.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Extremum[x-2ln(x^2+3)]
Topp ved \(x=1\), bunn ved \(x=3\)

Tolkning: Fortegnsskiftene til den deriverte klassifiserer punktene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
g = x - 2*sp.log(x**2 + 3)
g_prime = sp.factor(sp.diff(g, x))
critical = sp.solve(sp.Eq(sp.together(g_prime).as_numer_denom()[0], 0), x)
test_points = [0, 2, 4]
signs = [sp.sign(sp.N(g_prime.subs(x, value))) for value in test_points]
print("g(x) =", g)
print("g'(x) =", g_prime)
print("Critical x-values =", critical)
for point, sign in zip(test_points, signs):
    print("Sign of g' at x =", point, "is", sign)
print("g(1) =", sp.simplify(g.subs(x, 1)))
print("g(3) =", sp.simplify(g.subs(x, 3)))
print("Classification: x=1 maximum, x=3 minimum")
Utskrift fra Python:
g(x) = x - 2*log(x**2 + 3)
g'(x) = (x - 3)*(x - 1)/(x**2 + 3)
Critical x-values = [1, 3]
Sign of g' at x = 0 is 1
Sign of g' at x = 2 is -1
Sign of g' at x = 4 is 1
g(1) = 1 - log(16)
g(3) = 3 - log(144)
Classification: x=1 maximum, x=3 minimum

Fasit: Toppunktet har x-koordinat \(1\), og bunnpunktet har x-koordinat \(3\).

Vanlig feil: Å stoppe etter å ha løst \(g^{\prime}(x)=0\). Nullpunktene må klassifiseres med fortegnsskifte.
Sensorpunkt: Et fortegnsskjema eller tilsvarende begrunnelse skal vise hvilken rot som gir topp og bunn.
Del 1 - Oppgave 7cAndrederivert og vendepunkt

Oppgave 7c

Oppgave: Bestem x-koordinaten til eventuelle vendepunkt på grafen til \(g\).
Vis løsning

Hva spør oppgaven om? Et vendepunkt krever at krumningen skifter fortegn. Vi finner og analyserer \(g^{\prime\prime}(x)\).

Steg 1 - Start med en praktisk form

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

Steg 2 - Deriver brøkleddet

Kvotientregelen gir \[g^{\prime\prime}(x)=-4\frac{(x^2+3)-2x^2}{(x^2+3)^2}.\]

Steg 3 - Forenkle

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

Steg 4 - Finn kandidater

Nevneren er positiv, så \(g^{\prime\prime}(x)=0\iff x^2-3=0\).

Steg 5 - Løs

\[x=\pm\sqrt3.\]

Steg 6 - Kontroller fortegn

For \(|x|>\sqrt3\) er andrederivert positiv, mens den er negativ for \(|x|<\sqrt3\).

Steg 7 - Konkluder

Krumningen skifter ved begge x-verdiene, så begge gir vendepunkt.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Derivative[x-2ln(x^2+3),x,2]
\(4(x^2-3)/(x^2+3)^2\)
2
Solve[%=0,x]
\(x=-\sqrt3,\sqrt3\)

Tolkning: Andrederivert skifter fortegn ved begge nullpunktene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
g = x - 2*sp.log(x**2 + 3)
g_second = sp.factor(sp.diff(g, x, 2))
numerator, denominator = sp.together(g_second).as_numer_denom()
candidates = sp.solve(sp.Eq(numerator, 0), x)
test_points = [-2, 0, 2]
print("g(x) =", g)
print("g''(x) =", g_second)
print("Numerator =", sp.factor(numerator))
print("Denominator =", denominator)
print("Candidates =", candidates)
for point in test_points:
    print("Sign of g'' at x =", point, "is", sp.sign(g_second.subs(x, point)))
print("Inflection x-values =", candidates)
Utskrift fra Python:
g(x) = x - 2*log(x**2 + 3)
g''(x) = 4*(x**2 - 3)/(x**2 + 3)**2
Numerator = 4*(x**2 - 3)
Denominator = (x**2 + 3)**2
Candidates = [-sqrt(3), sqrt(3)]
Sign of g'' at x = -2 is 1
Sign of g'' at x = 0 is -1
Sign of g'' at x = 2 is 1
Inflection x-values = [-sqrt(3), sqrt(3)]

Fasit: Vendepunktene har x-koordinater \(x=-\sqrt3\) og \(x=\sqrt3\).

Vanlig feil: Å anta at alle nullpunkter til andrederivert automatisk er vendepunkt uten å kontrollere fortegnsskifte.
Sensorpunkt: Begge kandidatene og krumningsskiftet skal dokumenteres.
Del 1 - Oppgave 8aGeometrisk konstruksjon - SSS

Oppgave 8a

Oppgave: I trekanten \(ABC\) er \(AB=8\) cm, \(AC=5\) cm og \(BC=7\) cm. Konstruer trekanten.
Vis løsning

Hva spør oppgaven om? Tre sidelengder bestemmer trekanten entydig opp til speiling. Vi bruker skjæringen mellom to sirkler.

Steg 1 - Tegn grunnlinjen

Konstruer linjestykket \(AB=8\) cm.

Steg 2 - Lag første sirkel

Tegn en sirkel med sentrum \(A\) og radius 5 cm. Punktet \(C\) må ligge på denne.

Steg 3 - Lag andre sirkel

Tegn en sirkel med sentrum \(B\) og radius 7 cm.

Steg 4 - Finn skjæringspunktet

Et skjæringspunkt mellom sirklene velges som \(C\). Det andre gir speilbildet.

Steg 5 - Tegn sidene

Tegn linjestykkene \(AC\) og \(BC\).

Steg 6 - Kontroller lengdene

Konstruksjonen gir direkte \(AC=5\) og \(BC=7\), mens grunnlinjen er 8.

Steg 7 - Koordinatkontroll

Med \(A=(0,0)\) og \(B=(8,0)\) kan \(C=(5/2,5\sqrt3/2)\).

Illustrasjon til Oppgave 8a
Figuren viser den konstruerte trekanten og de videre konstruksjonene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
A=(0,0)
Punkt A
2
B=(8,0)
Punkt B
3
c1=Circle[A,5]
Sirkel med radius 5
4
c2=Circle[B,7]
Sirkel med radius 7
5
Intersect[c1,c2]
\(C=(2.5,4.330\ldots)\) eller speilpunktet

Tolkning: Skjæringen av de to sirklene gir punktet med riktige avstander til A og B.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x, y = sp.symbols("x y", real=True)
A = sp.Point(0, 0)
B = sp.Point(8, 0)
solutions = sp.solve([sp.Eq(x**2+y**2, 25), sp.Eq((x-8)**2+y**2, 49)], [x, y])
C = sp.Point(sp.Rational(5,2), 5*sp.sqrt(3)/2)
print("A =", A)
print("B =", B)
print("Circle-intersection solutions =", solutions)
print("Chosen C =", C)
print("AB =", A.distance(B))
print("AC =", sp.simplify(A.distance(C)))
print("BC =", sp.simplify(B.distance(C)))
print("Triangle area =", sp.Triangle(A,B,C).area)
Utskrift fra Python:
A = Point2D(0, 0)
B = Point2D(8, 0)
Circle-intersection solutions = [(5/2, -5*sqrt(3)/2), (5/2, 5*sqrt(3)/2)]
Chosen C = Point2D(5/2, 5*sqrt(3)/2)
AB = 8
AC = 5
BC = 7
Triangle area = 10*sqrt(3)

Fasit: Tegn \(AB=8\) cm og bruk sirklene \(S(A,5)\) og \(S(B,7)\); et skjæringspunkt er \(C\).

Vanlig feil: Å bytte radiusene 5 og 7 mellom A og B. Da blir de merkede sidene feil selv om en trekant kan tegnes.
Sensorpunkt: Konstruksjonsbuer og begrunnelse med avstander skal være synlige.
Del 1 - Oppgave 8bGeometrisk konstruksjon - innsirkel

Oppgave 8b

Oppgave: Konstruer den innskrevne sirkelen til trekanten \(ABC\).
Vis løsning

Hva spør oppgaven om? Sentrum i den innskrevne sirkelen er skjæringspunktet mellom trekantens vinkelhalveringslinjer.

Steg 1 - Halver en vinkel

Konstruer vinkelhalveringslinjen i for eksempel \(\angle A\) med passer og linjal.

Steg 2 - Halver en ny vinkel

Konstruer vinkelhalveringslinjen i \(\angle B\).

Steg 3 - Finn innsentrum

La skjæringspunktet være \(I\). Den tredje vinkelhalveringslinjen går også gjennom \(I\).

Steg 4 - Konstruer radiusen

Senk normalen fra \(I\) til en side, for eksempel \(AB\). La fotpunktet være \(T\).

Steg 5 - Tegn sirkelen

Tegn sirkelen med sentrum \(I\) og radius \(IT\).

Steg 6 - Begrunn tangeringen

Et punkt på vinkelhalveringslinjen har lik avstand til vinkelens sider. Derfor er avstanden fra \(I\) til alle tre sidene lik.

Steg 7 - Kontrollverdi

Arealet er \(10\sqrt3\) og halvperimeteren er 10, så innradiusen er \(r=\sqrt3\) cm.

Illustrasjon til Oppgave 8b
Den innskrevne sirkelen tangerer alle tre sidene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
AngleBisector[A,B,C]
Vinkelhalveringslinje i B
2
AngleBisector[B,A,C]
Vinkelhalveringslinje i A
3
I=Intersect[line1,line2]
Innsentrum
4
Distance[I,Line[A,B]]
\(\sqrt3\)
5
Circle[I,sqrt(3)]
Innskrevet sirkel

Tolkning: Sirkelen med innsentrum og normalavstand som radius tangerer alle sidene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
A = sp.Point(0, 0)
B = sp.Point(8, 0)
C = sp.Point(sp.Rational(5,2), 5*sp.sqrt(3)/2)
a = B.distance(C)
b = A.distance(C)
c = A.distance(B)
I = sp.Point((a*A.x+b*B.x+c*C.x)/(a+b+c), (a*A.y+b*B.y+c*C.y)/(a+b+c))
area = sp.Triangle(A,B,C).area
semiperimeter = (a+b+c)/2
inradius = sp.simplify(area/semiperimeter)
print("Side lengths a,b,c =", a, b, c)
print("Semiperimeter =", semiperimeter)
print("Area =", area)
print("Incenter I =", I)
print("Inradius =", inradius)
print("Distance from I to AB =", sp.Line(A,B).distance(I))
print("Distance from I to AC =", sp.Line(A,C).distance(I))
print("Distance from I to BC =", sp.Line(B,C).distance(I))
Utskrift fra Python:
Side lengths a,b,c = 7 5 8
Semiperimeter = 10
Area = 10*sqrt(3)
Incenter I = Point2D(3, sqrt(3))
Inradius = sqrt(3)
Distance from I to AB = sqrt(3)
Distance from I to AC = sqrt(3)
Distance from I to BC = sqrt(3)

Fasit: Konstruer to vinkelhalveringslinjer, finn innsentrum \(I\), og tegn sirkelen med radius lik normalavstanden fra \(I\) til en side.

Vanlig feil: Å bruke skjæringspunktet mellom medianene eller midtnormalene. Disse gir andre sentre enn innsentrum.
Sensorpunkt: Det må være tydelig at radiusen står normalt på en side.
Del 1 - Oppgave 8cGeometrisk konstruksjon - periferivinkel

Oppgave 8c

Oppgave: Trekanten er del av firkanten \(ABCD\), der \(AD=6\) cm, \(AD<CD\) og \(\angle ADC=30^{\circ}\). Konstruer firkanten.
Vis løsning

Hva spør oppgaven om? Kravet om 30 graders periferivinkel kan omformes til en sirkel gjennom A og C. Deretter brukes lengdekravet \(AD=6\).

Steg 1 - Bruk periferivinkelsetningen

En periferivinkel på \(30^{\circ}\) spenner over en bue med sentralvinkel \(60^{\circ}\).

Steg 2 - Finn aktuell sirkelradius

Korden er \(AC=5\). Når sentralvinkelen er \(60^{\circ}\), blir radiusen også 5 fordi trekanten mellom sentrum, A og C er likesidet.

Steg 3 - Konstruer mulige sentre

Tegn sirkler med radius 5 og sentre A og C. Skjæringspunktene gir de to mulige sentrene for sirkler gjennom A og C.

Steg 4 - Tegn periferivinkelsirkelen

Tegn en av sirklene med radius 5 gjennom A og C, på riktig side av AC.

Steg 5 - Bruk lengdekravet

Tegn en sirkel med sentrum A og radius 6. Skjæringspunktene med periferivinkelsirkelen er kandidater til D.

Steg 6 - Velg riktig kandidat

Velg skjæringspunktet som ligger på buen som gir \(\angle ADC=30^{\circ}\), og som oppfyller \(AD<CD\).

Steg 7 - Fullfør firkanten

Tegn \(CD\) og \(DA\). Sammen med sidene i trekanten er firkanten \(ABCD\) konstruert.

Steg 8 - Koordinatkontroll

Med koordinatene i figuren kan \(D=(18/5,-24/5)\). Da er \(AD=6\), \(CD=4+3\sqrt3>6\), og vinkelen er \(30^{\circ}\).

Illustrasjon til Oppgave 8c
Den stiplete sirkelen er lokuset som gir 30 graders periferivinkel over AC.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
A=(0,0)
Punkt A
2
C=(2.5,5sqrt(3)/2)
Punkt C
3
s=Circle[(5,0),5]
Periferivinkelsirkel
4
k=Circle[A,6]
Lengdesirkel for AD
5
Intersect[s,k]
Kandidater til D

Tolkning: Kandidaten under AB oppfyller både vinkelkravet og ulikheten \(AD<CD\).

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
A = sp.Point(0, 0)
C = sp.Point(sp.Rational(5,2), 5*sp.sqrt(3)/2)
D = sp.Point(sp.Rational(18,5), sp.Rational(-24,5))
AD = sp.simplify(A.distance(D))
CD = sp.simplify(C.distance(D))
DA = sp.Matrix(A-D)
DC = sp.Matrix(C-D)
cos_angle = sp.simplify(DA.dot(DC)/(sp.sqrt(DA.dot(DA))*sp.sqrt(DC.dot(DC))))
angle = sp.acos(cos_angle)
print("A =", A)
print("C =", C)
print("Chosen D =", D)
print("AD =", AD)
print("CD =", CD)
print("Is AD < CD?", bool(AD < CD))
print("cos(angle ADC) =", cos_angle)
print("angle ADC in degrees =", sp.N(angle*180/sp.pi, 12))
Utskrift fra Python:
A = Point2D(0, 0)
C = Point2D(5/2, 5*sqrt(3)/2)
Chosen D = Point2D(18/5, -24/5)
AD = 6
CD = sqrt(24*sqrt(3) + 43)
Is AD < CD? True
cos(angle ADC) = (4*sqrt(3) + 9)/(2*sqrt(24*sqrt(3) + 43))
angle ADC in degrees = 30.0000000000

Fasit: Konstruer en sirkel gjennom A og C der korden AC svarer til \(30^{\circ}\) periferivinkel, skjær denne med sirkelen \(S(A,6)\), og velg kandidaten med \(AD<CD\).

Vanlig feil: Å konstruere en 30-graders vinkel ved A eller C. Vinkelen skal ha toppunkt i D og spenne over korden AC.
Sensorpunkt: Både periferivinkelargumentet, lengden \(AD=6\) og vilkåret \(AD<CD\) skal brukes.

Del 2 - med hjelpemidler

Del 2 - Oppgave 1aBinomisk sannsynlighet - nøyaktig fem

Oppgave 1a

Oppgave: Sannsynligheten for gule blomster er \(p=0{,}4\). Astrid kjøper ti planter. Bestem sannsynligheten for at halvparten får gule blomster.
Vis løsning

Hva spør oppgaven om? Antall gule planter er binomisk fordelt med \(n=10\) og \(p=0{,}4\). Halvparten av ti betyr nøyaktig fem.

Steg 1 - Definer variabelen

La \(X\) være antall planter med gule blomster. Da er \(X\sim\operatorname{Bin}(10,0{,}4)\).

Steg 2 - Velg antall suksesser

Vi søker \(P(X=5)\).

Steg 3 - Skriv binomialformelen

\[P(X=5)=\binom{10}{5}(0{,}4)^5(0{,}6)^5.\]

Steg 4 - Beregn kombinasjonstallet

\[\binom{10}{5}=252.\]

Steg 5 - Sett sammen

\[P(X=5)=252\cdot0{,}4^5\cdot0{,}6^5.\]

Steg 6 - Regn ut

\[P(X=5)=0{,}2006581248.\]

Steg 7 - Rund av

Sannsynligheten er omtrent \(0{,}201\), altså \(20{,}1\,\%\).

Illustrasjon til Oppgave 1a
Søylen ved 5 svarer til sannsynligheten i oppgaven.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
BinomialDist[10,0.4,5,false]
\(0.2006581248\)

Tolkning: Kommandoen beregner punktsannsynligheten for nøyaktig fem gule.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
n = 10
k = 5
p = sp.Rational(2, 5)
q = 1 - p
combination = sp.binomial(n, k)
probability = sp.simplify(combination*p**k*q**(n-k))
print("n =", n)
print("k =", k)
print("p =", p)
print("q =", q)
print("C(10,5) =", combination)
print("Exact probability =", probability)
print("Decimal probability =", sp.N(probability, 14))
print("Percentage =", sp.N(100*probability, 12))
Utskrift fra Python:
n = 10
k = 5
p = 2/5
q = 3/5
C(10,5) = 252
Exact probability = 1959552/9765625
Decimal probability = 0.20065812480000
Percentage = 20.0658124800

Fasit: \(P(X=5)=\binom{10}{5}0{,}4^5 0{,}6^5\approx0{,}2007\).

Vanlig feil: Å bruke \(0{,}4^5\) alene og glemme både kombinasjonstallet og de fem røde plantene.
Sensorpunkt: Binomisk modell, korrekt \(k\)-verdi og en rimelig avrunding skal oppgis.
Del 2 - Oppgave 1bBinomisk sannsynlighet - øvre hale

Oppgave 1b

Oppgave: Bestem sannsynligheten for at flere enn fem av de ti plantene får gule blomster.
Vis løsning

Hva spør oppgaven om? «Flere enn fem» betyr \(X=6,7,8,9\) eller 10. Vi summerer punktsannsynlighetene.

Steg 1 - Bruk samme modell

\(X\sim\operatorname{Bin}(10,0{,}4)\).

Steg 2 - Oversett teksten

\[P(X>5)=P(X\ge6).\]

Steg 3 - Skriv summen

\[P(X>5)=\sum_{k=6}^{10}\binom{10}{k}0{,}4^k0{,}6^{10-k}.\]

Steg 4 - Beregn leddene

Summen omfatter fem mulige antall gule planter.

Steg 5 - Regn ut summen

\[P(X>5)=0{,}1662386176.\]

Steg 6 - Kontroller med komplement

Alternativt er \(P(X>5)=1-P(X\le5)\).

Steg 7 - Rund av

Sannsynligheten er omtrent \(0{,}166\), altså \(16{,}6\,\%\).

Illustrasjon til Oppgave 1b
Området til høyre for 5,5 utgjør sannsynligheten for flere enn fem gule.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
1-BinomialDist[10,0.4,5,true]
\(0.1662386176\)

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

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
n = 10
p = sp.Rational(2, 5)
q = 1 - p
terms = [sp.binomial(n,k)*p**k*q**(n-k) for k in range(6,11)]
tail_probability = sp.simplify(sum(terms))
cumulative_to_five = sp.simplify(sum(sp.binomial(n,k)*p**k*q**(n-k) for k in range(0,6)))
print("n =", n)
print("p =", p)
print("k-values included =", list(range(6,11)))
for k, term in zip(range(6,11), terms):
    print("P(X =", k, ") =", sp.N(term, 12))
print("Exact upper-tail probability =", tail_probability)
print("Decimal upper-tail probability =", sp.N(tail_probability, 14))
print("Complement check =", sp.simplify(1-cumulative_to_five))
Utskrift fra Python:
n = 10
p = 2/5
k-values included = [6, 7, 8, 9, 10]
P(X = 6 ) = 0.111476736000
P(X = 7 ) = 0.0424673280000
P(X = 8 ) = 0.0106168320000
P(X = 9 ) = 0.00157286400000
P(X = 10 ) = 0.000104857600000
Exact upper-tail probability = 1623424/9765625
Decimal upper-tail probability = 0.16623861760000
Complement check = 1623424/9765625

Fasit: \(P(X>5)\approx0{,}16624\), altså omtrent \(16{,}6\,\%\).

Vanlig feil: Å tolke «flere enn fem» som \(X\ge5\). Verdien 5 skal ikke tas med.
Sensorpunkt: Grensen i summen eller den kumulative kommandoen skal vise at summen starter ved 6.
Del 2 - Oppgave 1cKombinatorikk med like objekter

Oppgave 1c

Oppgave: Stian har fire like gule og seks like røde planter som skal stå på én rekke. På hvor mange ulike måter kan de plasseres?
Vis løsning

Hva spør oppgaven om? En plassering bestemmes av hvilke fire av de ti posisjonene som får en gul plante. Planter med samme farge er like.

Steg 1 - Nummerer plassene

Tenk deg ti posisjoner i blomsterkassen.

Steg 2 - Velg gule posisjoner

Vi velger fire av de ti posisjonene til de gule plantene.

Steg 3 - Plasser de røde automatisk

Når de gule posisjonene er valgt, må de seks resterende være røde.

Steg 4 - Bruk kombinasjonstall

\[\binom{10}{4}=\frac{10!}{4!6!}.\]

Steg 5 - Forkort

\[\frac{10\cdot9\cdot8\cdot7}{4\cdot3\cdot2\cdot1}=210.\]

Steg 6 - Alternativ tolkning

Dette er også antall ulike ord med fire G-er og seks R-er.

Steg 7 - Konkluder

Det finnes 210 ulike fargerekkefølger.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
nCr(10,4)
\(210\)

Tolkning: Valg av fire gule plasser blant ti gir antall ulike rekker.

Python-kontroll med SymPy

Python 3 - SymPy
import math
n_positions = 10
yellow_plants = 4
red_plants = 6
arrangements_choose_yellow = math.comb(n_positions, yellow_plants)
arrangements_multinomial = math.factorial(n_positions)//(math.factorial(yellow_plants)*math.factorial(red_plants))
print("Number of positions =", n_positions)
print("Identical yellow plants =", yellow_plants)
print("Identical red plants =", red_plants)
print("Choose yellow positions =", arrangements_choose_yellow)
print("Multinomial calculation =", arrangements_multinomial)
print("10! =", math.factorial(10))
print("4!*6! =", math.factorial(4)*math.factorial(6))
print("Methods agree?", arrangements_choose_yellow == arrangements_multinomial)
Utskrift fra Python:
Number of positions = 10
Identical yellow plants = 4
Identical red plants = 6
Choose yellow positions = 210
Multinomial calculation = 210
10! = 3628800
4!*6! = 17280
Methods agree? True

Fasit: \(\binom{10}{4}=210\) ulike plasseringer.

Vanlig feil: Å bruke \(10!\), som behandler alle plantene som forskjellige. Plantene med samme farge er like.
Sensorpunkt: Det skal framgå hvorfor valg av fire posisjoner er tilstrekkelig.
Del 2 - Oppgave 2aParallelle linjer og vinkler

Oppgave 2a

Oppgave: I figuren er \(AE\parallel BC\), og \(C,D,E\) ligger på samme linje. Begrunn at \(\angle DEA=\angle DCB\).
Vis løsning

Hva spør oppgaven om? Vinklene dannes av den samme tverrlinjen gjennom C, D og E og to parallelle linjer.

Steg 1 - Identifiser linjene

Linjen \(DE\) er den samme rette linjen som \(DC\).

Steg 2 - Bruk parallelliteten

\(EA\parallel CB\).

Steg 3 - Se på vinkelbeina

\(\angle DEA\) har bein langs \(DE\) og \(EA\). \(\angle DCB\) har bein langs \(DC\) og \(CB\).

Steg 4 - Bruk samsvarende/alternatvinkler

Når en tverrlinje skjærer parallelle linjer, er de aktuelle vinklene like.

Steg 5 - Konkluder

\[\angle DEA=\angle DCB.\]

Steg 6 - Knytt til figuren

Begge vinklene måler vinkelen mellom vinkelhalveringslinjen og retningen til \(BC\).

Illustrasjon til Oppgave 2a
Skissen viser tverrlinjen C-D-E gjennom de parallelle linjene.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Line[A,E]
Linje gjennom A og E
2
Line[B,C]
Linje gjennom B og C
3
AreParallel[Line[A,E],Line[B,C]]
true

Tolkning: Parallelliteten gjør de korresponderende vinklene like.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
# Exact coordinate model for a=6, b=7, c=10
A = sp.Point(0, 0)
B = sp.Point(10, 0)
C = sp.Point(sp.Rational(113,20), 3*sp.sqrt(759)/20)
D = sp.Point(sp.Rational(70,13), 0)
E = sp.Point(sp.Rational(203,40), -7*sp.sqrt(759)/40)
direction_ED = sp.Matrix(D-E)
direction_EA = sp.Matrix(A-E)
direction_CD = sp.Matrix(D-C)
direction_CB = sp.Matrix(B-C)
def cosine(u,v):
    return sp.simplify(u.dot(v)/(sp.sqrt(u.dot(u))*sp.sqrt(v.dot(v))))
parallel_test = sp.simplify(direction_EA[0]*direction_CB[1]-direction_EA[1]*direction_CB[0])
print("A, B, C, D, E =", A, B, C, D, E)
print("Direction ED =", list(direction_ED))
print("Direction EA =", list(direction_EA))
print("Direction CD =", list(direction_CD))
print("Direction CB =", list(direction_CB))
print("EA x CB determinant =", parallel_test)
print("EA parallel to CB?", parallel_test == 0)
print("cos(angle DEA) =", cosine(direction_ED,direction_EA))
print("cos(angle DCB) =", cosine(direction_CD,direction_CB))
print("Cosine difference =", sp.simplify(cosine(direction_ED,direction_EA)-cosine(direction_CD,direction_CB)))
Utskrift fra Python:
A, B, C, D, E = Point2D(0, 0) Point2D(10, 0) Point2D(113/20, 3*sqrt(759)/20) Point2D(70/13, 0) Point2D(203/40, -7*sqrt(759)/40)
Direction ED = [161/520, 7*sqrt(759)/40]
Direction EA = [-203/40, 7*sqrt(759)/40]
Direction CD = [-69/260, -3*sqrt(759)/20]
Direction CB = [87/20, -3*sqrt(759)/20]
EA x CB determinant = 0
EA parallel to CB? True
cos(angle DEA) = sqrt(322)/28
cos(angle DCB) = sqrt(322)/28
Cosine difference = 0

Fasit: \(\angle DEA=\angle DCB\) fordi \(DE\) og \(DC\) er samme linje, mens \(EA\parallel CB\).

Vanlig feil: Å bruke toppvinkler her. Vinklene har ulike toppunkter; likheten følger av parallelle linjer.
Sensorpunkt: Vinkelbeina og parallelliteten skal nevnes eksplisitt.
Del 2 - Oppgave 2bFormlikhet ved vinkel-vinkel

Oppgave 2b

Oppgave: Begrunn at trekantene \(AED\) og \(BCD\) er formlike.
Vis løsning

Hva spør oppgaven om? Vi trenger to par like vinkler. Ett par følger fra del a, og ett par er toppvinkler i D.

Steg 1 - Bruk del a

\[\angle DEA=\angle DCB.\]

Steg 2 - Se på skjæringen i D

Linjen \(AB\) skjærer linjen \(CE\) i D.

Steg 3 - Bruk toppvinkler

\[\angle ADE=\angle BDC.\]

Steg 4 - Bruk VV-kriteriet

To vinkler i den ene trekanten er like to vinkler i den andre.

Steg 5 - Angi samsvar

Vertexene svarer slik: \(E\leftrightarrow C\), \(D\leftrightarrow D\), \(A\leftrightarrow B\).

Steg 6 - Konkluder

\[\triangle AED\sim\triangle BCD.\]

Illustrasjon til Oppgave 2b
De to trekantene ligger på hver sin side av skjæringspunktet D.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Angle[D,E,A]
\(\angle DEA\)
2
Angle[D,C,B]
\(\angle DCB\)
3
Angle[A,D,E]
\(\angle ADE\)
4
Angle[B,D,C]
\(\angle BDC\)

Tolkning: De to første vinklene er like på grunn av parallelle linjer, og de to siste er toppvinkler.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
# Symbolic angle labels are enough for the AA argument
angle_AED = sp.Symbol("alpha", positive=True)
angle_BCD = angle_AED
angle_ADE = sp.Symbol("beta", positive=True)
angle_BDC = angle_ADE
angle_EAD = sp.pi-angle_AED-angle_ADE
angle_CBD = sp.pi-angle_BCD-angle_BDC
print("angle AED =", angle_AED)
print("angle BCD =", angle_BCD)
print("angle ADE =", angle_ADE)
print("angle BDC =", angle_BDC)
print("Third angle EAD =", angle_EAD)
print("Third angle CBD =", angle_CBD)
print("Third angles equal?", sp.simplify(angle_EAD-angle_CBD) == 0)
print("Similarity correspondence = E<->C, D<->D, A<->B")
Utskrift fra Python:
angle AED = alpha
angle BCD = alpha
angle ADE = beta
angle BDC = beta
Third angle EAD = -alpha - beta + pi
Third angle CBD = -alpha - beta + pi
Third angles equal? True
Similarity correspondence = E<->C, D<->D, A<->B

Fasit: \(\triangle AED\sim\triangle BCD\) ved vinkel-vinkel.

Vanlig feil: Å sette opp feil samsvar mellom hjørnene. Riktig samsvar er E-C, D-D og A-B.
Sensorpunkt: Begge vinkelpar og korrekt samsvar skal framgå.
Del 2 - Oppgave 2cLikebeint trekant fra vinkelhalvering

Oppgave 2c

Oppgave: Begrunn at trekant \(AEC\) er likebeint.
Vis løsning

Hva spør oppgaven om? Vi viser at vinklene ved E og C er like. Da er sidene som står mot disse vinklene, like.

Steg 1 - Bruk vinkelhalveringen

Linjen \(CE\) halverer \(\angle ACB\), så \[\angle ACE=\angle ECB.\]

Steg 2 - Bruk parallelliteten

Siden \(AE\parallel BC\), er vinkelen mellom \(AE\) og \(EC\) lik vinkelen mellom \(BC\) og \(CE\).

Steg 3 - Skriv vinkelrelasjonen

\[\angle AEC=\angle ECB.\]

Steg 4 - Kombiner

Fra steg 1 og 3 får vi \[\angle ACE=\angle AEC.\]

Steg 5 - Bruk omvendt likebeintsetning

I en trekant ligger like store vinkler mot like lange sider.

Steg 6 - Konkluder med sidene

Siden mot \(\angle ACE\) er \(AE\), og siden mot \(\angle AEC\) er \(AC\). Derfor \(AE=AC\).

Steg 7 - Konkluder

Trekant \(AEC\) er likebeint med grunnlinje \(CE\).

Illustrasjon til Oppgave 2c
Parallelliteten gjør vinkelen ved E lik den ene halverte vinkelen ved C.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
AngleBisector[A,C,B]
Vinkelhalveringslinjen gjennom C
2
AreParallel[Line[A,E],Line[B,C]]
true
3
Angle[A,C,E]
\(\angle ACE\)
4
Angle[A,E,C]
\(\angle AEC\)

Tolkning: Vinkelhalvering og parallellitet gir to like grunnvinkler i trekant AEC.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
alpha = sp.Symbol("alpha", positive=True)
angle_ACE = alpha
angle_ECB = alpha
angle_AEC = angle_ECB
angle_CAE = sp.pi-angle_ACE-angle_AEC
print("angle ACE =", angle_ACE)
print("angle ECB =", angle_ECB)
print("angle AEC =", angle_AEC)
print("angle ACE - angle AEC =", sp.simplify(angle_ACE-angle_AEC))
print("Third angle CAE =", angle_CAE)
print("Equal opposite sides: AE = AC")
print("Triangle AEC is isosceles?", sp.simplify(angle_ACE-angle_AEC) == 0)
Utskrift fra Python:
angle ACE = alpha
angle ECB = alpha
angle AEC = alpha
angle ACE - angle AEC = 0
Third angle CAE = pi - 2*alpha
Equal opposite sides: AE = AC
Triangle AEC is isosceles? True

Fasit: Trekant \(AEC\) er likebeint fordi \(\angle ACE=\angle AEC\), og dermed er \(AE=AC\).

Vanlig feil: Å konkludere at \(CE=AE\). Like vinkler står mot AE og AC, ikke mot CE.
Sensorpunkt: Riktig par like sider skal knyttes til de like vinklene.
Del 2 - Oppgave 2dVinkelhalveringssetningen via formlikhet

Oppgave 2d

Oppgave: Forklar at \[\frac{AD}{DB}=\frac{b}{a}.\]
Vis løsning

Hva spør oppgaven om? Vi bruker forhold mellom samsvarende sider i de formlike trekantene og resultatet \(AE=AC\).

Steg 1 - Bruk formlikheten

Fra \(\triangle AED\sim\triangle BCD\) er samsvarende sider proporsjonale.

Steg 2 - Velg relevante sidepar

Siden \(AD\) svarer til \(DB\), og \(AE\) svarer til \(BC\).

Steg 3 - Skriv proporsjonen

\[\frac{AD}{DB}=\frac{AE}{BC}.\]

Steg 4 - Bruk den likebeinte trekanten

Fra del c er \(AE=AC\).

Steg 5 - Bruk sidebetegnelsene

I trekant ABC er \(AC=b\) og \(BC=a\).

Steg 6 - Sett inn

\[\frac{AE}{BC}=\frac{AC}{BC}=\frac{b}{a}.\]

Steg 7 - Konkluder

\[\boxed{\frac{AD}{DB}=\frac{b}{a}}.\]

Illustrasjon til Oppgave 2d
Figuren viser hvilke sider som svarer til hverandre.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
AD/DB=AE/BC
Fra formlikhet
2
AE=AC
Fra likebeint trekant
3
AC=b, BC=a
Vanlig sidenotasjon

Tolkning: Kjeden av likheter gir vinkelhalveringssetningen.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
AD, DB, AE, AC, BC, a, b = sp.symbols("AD DB AE AC BC a b", positive=True)
ratio_from_similarity = AE/BC
substitute_isosceles = ratio_from_similarity.subs(AE, AC)
substitute_labels = substitute_isosceles.subs({AC:b, BC:a})
print("Similarity gives AD/DB = AE/BC")
print("Right-hand ratio =", ratio_from_similarity)
print("Using AE = AC gives =", substitute_isosceles)
print("Using AC = b and BC = a gives =", substitute_labels)
print("Final relation: AD/DB =", substitute_labels)
print("Cross-multiplied form: a*AD = b*DB")
Utskrift fra Python:
Similarity gives AD/DB = AE/BC
Right-hand ratio = AE/BC
Using AE = AC gives = AC/BC
Using AC = b and BC = a gives = b/a
Final relation: AD/DB = b/a
Cross-multiplied form: a*AD = b*DB

Fasit: \(\dfrac{AD}{DB}=\dfrac{AE}{BC}=\dfrac{AC}{BC}=\dfrac{b}{a}\).

Vanlig feil: Å bruke \(AD/DB=a/b\). Rekkefølgen av samsvarende sider må beholdes.
Sensorpunkt: Overgangen fra formlikhet til \(AE/BC\), og deretter til \(b/a\), skal vises.
Del 2 - Oppgave 2eEksakt deling av linjestykke

Oppgave 2e

Oppgave: Sett \(a=6\), \(b=7\) og \(c=10\). Bestem den eksakte verdien av \(AD\).
Vis løsning

Hva spør oppgaven om? Vinkelhalveringssetningen gir forholdet mellom AD og DB, mens summen av dem er hele siden AB=c.

Steg 1 - Sett inn i forholdet

\[\frac{AD}{DB}=\frac{b}{a}=\frac76.\]

Steg 2 - Parametriser lengdene

La \(AD=7k\) og \(DB=6k\).

Steg 3 - Bruk hele siden

\[AD+DB=AB=c=10.\]

Steg 4 - Sett inn uttrykkene

\[7k+6k=10.\]

Steg 5 - Løs for k

\[13k=10\iff k=\frac{10}{13}.\]

Steg 6 - Finn AD

\[AD=7k=7\cdot\frac{10}{13}=\frac{70}{13}.\]

Steg 7 - Kontroller DB

\(DB=60/13\), og summen er \(130/13=10\).

Illustrasjon til Oppgave 2e
Punkt D deler AB i forholdet 7:6.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Solve[AD/DB=7/6,AD+DB=10,{AD,DB}]
\(AD=70/13,\ DB=60/13\)

Tolkning: CAS løser forholds- og sumlikningen eksakt.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
AD, DB, k = sp.symbols("AD DB k", positive=True)
a = sp.Integer(6)
b = sp.Integer(7)
c = sp.Integer(10)
solution = sp.solve([sp.Eq(AD/DB,b/a), sp.Eq(AD+DB,c)], [AD,DB], dict=True)[0]
k_value = sp.solve(sp.Eq((7+6)*k,c), k)[0]
print("a =", a)
print("b =", b)
print("c =", c)
print("Ratio b/a =", sp.Rational(b,a))
print("k =", k_value)
print("AD =", solution[AD])
print("DB =", solution[DB])
print("Sum check =", sp.simplify(solution[AD]+solution[DB]))
print("Ratio check =", sp.simplify(solution[AD]/solution[DB]))
Utskrift fra Python:
a = 6
b = 7
c = 10
Ratio b/a = 7/6
k = 10/13
AD = 70/13
DB = 60/13
Sum check = 10
Ratio check = 7/6

Fasit: \(AD=\dfrac{70}{13}\).

Vanlig feil: Å sette \(AD=7\) og \(DB=6\) direkte. Tallene 7 og 6 gir bare forholdet, ikke de faktiske lengdene.
Sensorpunkt: Svaret skal være eksakt, og både forholdet og summen 10 skal brukes.
Del 2 - Oppgave 3aParameterframstilling for linje

Oppgave 3a

Oppgave: Gitt punktene \(A(3,0)\) og \(B(5,5)\). Bestem en parameterframstilling for linjen \(\ell\) gjennom A og B.
Vis løsning

Hva spør oppgaven om? En linje kan beskrives med et kjent punkt og en retningsvektor. Retningsvektoren fås ved å trekke koordinatene.

Steg 1 - Finn retningsvektoren

\[\overrightarrow{AB}=B-A=[5-3,5-0]=[2,5].\]

Steg 2 - Velg startpunkt

Vi bruker punktet \(A=(3,0)\).

Steg 3 - Skriv vektorformen

\[\vec r_{\ell}(s)=[3,0]+s[2,5].\]

Steg 4 - Skriv komponentene

\[x=3+2s,\qquad y=5s,\qquad s\in\mathbb R.\]

Steg 5 - Kontroller A

For \(s=0\) får vi \((3,0)=A\).

Steg 6 - Kontroller B

For \(s=1\) får vi \((5,5)=B\).

Steg 7 - Alternativ standardform

Eliminasjon av \(s\) gir \(5x-2y-15=0\).

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Line[(3,0),(5,5)]
Linjen gjennom A og B
2
Curve[3+2s,5s,s,-10,10]
Parameterframstilling

Tolkning: Retningsvektoren (2,5) fører fra A til B.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
s = sp.symbols("s", real=True)
A = sp.Matrix([3, 0])
B = sp.Matrix([5, 5])
direction = B - A
parametric_point = A + s*direction
point_at_zero = parametric_point.subs(s, 0)
point_at_one = parametric_point.subs(s, 1)
standard_form = sp.expand(5*parametric_point[0]-2*parametric_point[1]-15)
print("A =", list(A))
print("B =", list(B))
print("Direction vector B-A =", list(direction))
print("Parametric point =", list(parametric_point))
print("At s=0 =", list(point_at_zero))
print("At s=1 =", list(point_at_one))
print("Standard-form check 5x-2y-15 =", standard_form)
Utskrift fra Python:
A = [3, 0]
B = [5, 5]
Direction vector B-A = [2, 5]
Parametric point = [2*s + 3, 5*s]
At s=0 = [3, 0]
At s=1 = [5, 5]
Standard-form check 5x-2y-15 = 0

Fasit: \(\ell:\ [x,y]=[3,0]+s[2,5]\), \(s\in\mathbb R\).

Vanlig feil: Å bruke punktet B som retningsvektor. En retningsvektor er differansen mellom to punkter.
Sensorpunkt: Parameterframstillingen skal treffe begge oppgitte punkter.
Del 2 - Oppgave 3bParameterkurve og graftegning

Oppgave 3b

Oppgave: Vektorfunksjonen er \(\vec r(t)=[t+1,t^2+2]\). Tegn grafen for \(-3\le t\le3\), og tegn linjen \(\ell\) i samme koordinatsystem.
Vis løsning

Hva spør oppgaven om? Vi eliminerer parameteren for å kjenne kurveformen, og bruker deretter parameterintervallet til å avgrense grafen.

Steg 1 - Skriv komponentene

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

Steg 2 - Eliminer parameteren

Fra \(x=t+1\) får vi \(t=x-1\).

Steg 3 - Sett inn i y

\[y=(x-1)^2+2.\] Grafen er en oppadgående parabel.

Steg 4 - Finn x-intervallet

Når \(-3\le t\le3\), er \(-2\le x\le4\).

Steg 5 - Skriv linjen

Fra del a kan linjen skrives \(y=\frac52x-\frac{15}{2}\).

Steg 6 - Legg begge i samme koordinatsystem

Tegn den avgrensede parabolen og den uendelige rette linjen med tydelige akser.

Steg 7 - Kontroller noen punkter

Kurven går blant annet gjennom \((-2,11)\), \((1,2)\) og \((4,11)\).

Illustrasjon til Oppgave 3b
Parameterkurven og linjen er tegnet i samme koordinatsystem.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Curve[t+1,t^2+2,t,-3,3]
Avgrenset parameterkurve
2
Line[(3,0),(5,5)]
Linjen \(\ell\)

Tolkning: Kurven er parabeldelen \(y=(x-1)^2+2\) for \(-2\le x\le4\).

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t, x = sp.symbols("t x", real=True)
r = sp.Matrix([t+1, t**2+2])
parameter_from_x = sp.solve(sp.Eq(x, r[0]), t)[0]
cartesian_y = sp.expand(r[1].subs(t, parameter_from_x))
sample_parameters = [-3, -1, 0, 1, 3]
sample_points = [r.subs(t,value) for value in sample_parameters]
print("r(t) =", list(r))
print("t expressed by x =", parameter_from_x)
print("Cartesian equation y =", cartesian_y)
print("Parameter interval = [-3, 3]")
print("Corresponding x interval = [-2, 4]")
for value, point in zip(sample_parameters, sample_points):
    print("t =", value, "gives point", list(point))
print("Line equation: y = 5*x/2 - 15/2")
Utskrift fra Python:
r(t) = [t + 1, t**2 + 2]
t expressed by x = x - 1
Cartesian equation y = x**2 - 2*x + 3
Parameter interval = [-3, 3]
Corresponding x interval = [-2, 4]
t = -3 gives point [-2, 11]
t = -1 gives point [0, 3]
t = 0 gives point [1, 2]
t = 1 gives point [2, 3]
t = 3 gives point [4, 11]
Line equation: y = 5*x/2 - 15/2

Fasit: Grafen er parabeldelen \(y=(x-1)^2+2\) for \(-2\le x\le4\), tegnet sammen med \(\ell:y=\frac52x-\frac{15}{2}\).

Vanlig feil: Å tegne hele parabolen uten å markere parameterbegrensningen, eller å bruke t som horisontalakse i stedet for x.
Sensorpunkt: Begge grafer, riktig parameterintervall og samme koordinatsystem skal være med.
Del 2 - Oppgave 3cMinste avstand mellom kurve og linje

Oppgave 3c

Oppgave: La P være punktet på grafen til \(\vec r\) som ligger nærmest \(\ell\). Tangenten i P er parallell med \(\ell\). Bestem den eksakte minste avstanden.
Vis løsning

Hva spør oppgaven om? Vi bruker parallellitetskravet til å finne parameterverdien, og deretter punkt-linje-formelen for avstanden.

Steg 1 - Finn tangentvektoren

\[\vec r^{\prime}(t)=[1,2t].\]

Steg 2 - Bruk linjens retning

Linjen \(\ell\) har retningsvektor \([2,5]\).

Steg 3 - Sett vektorene parallelle

For parallelle vektorer må helningene være like: \[\frac{2t}{1}=\frac52.\]

Steg 4 - Løs for t

\[t=\frac54.\]

Steg 5 - Finn punktet P

\[P=\vec r(5/4)=\left(\frac94,\frac{57}{16}\right).\]

Steg 6 - Skriv linjen på standardform

\[\ell:5x-2y-15=0.\]

Steg 7 - Bruk avstandsformelen

\[d=\frac{|5\cdot\frac94-2\cdot\frac{57}{16}-15|}{\sqrt{5^2+(-2)^2}}.\]

Steg 8 - Forenkle

Telleren blir \(87/8\), og \[d=\frac{87}{8\sqrt{29}}=\frac{3\sqrt{29}}8.\]

Steg 9 - Kontroller intervallet

\(t=5/4\) ligger i \([-3,3]\), så punktet tilhører den avgrensede kurven.

Illustrasjon til Oppgave 3c
P er markert der kurvens tangent er parallell med linjen.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
r(t)=(t+1,t^2+2)
Parameterkurven
2
Solve[2t=5/2,t]
\(t=5/4\)
3
P=r(5/4)
\((9/4,57/16)\)
4
Distance[P,Line[(3,0),(5,5)]]
\(3\sqrt{29}/8\)

Tolkning: Tangenten er parallell med linjen ved t=5/4, og punkt-linje-avstanden gir minimumet.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
t = sp.symbols("t", real=True)
r = sp.Matrix([t+1, t**2+2])
tangent = r.diff(t)
t_value = sp.solve(sp.Eq(tangent[1]/tangent[0], sp.Rational(5,2)), t)[0]
P = sp.simplify(r.subs(t, t_value))
line_expression = 5*P[0] - 2*P[1] - 15
distance = sp.simplify(abs(line_expression)/sp.sqrt(5**2+(-2)**2))
rationalized = sp.radsimp(distance)
print("r(t) =", list(r))
print("Tangent vector r'(t) =", list(tangent))
print("Parallel-tangent parameter =", t_value)
print("Closest point P =", list(P))
print("Line expression at P =", line_expression)
print("Distance before rationalizing =", distance)
print("Exact minimum distance =", rationalized)
print("Decimal minimum distance =", sp.N(rationalized, 12))
print("Parameter belongs to [-3,3]?", bool(-3 <= t_value <= 3))
Utskrift fra Python:
r(t) = [t + 1, t**2 + 2]
Tangent vector r'(t) = [1, 2*t]
Parallel-tangent parameter = 5/4
Closest point P = [9/4, 57/16]
Line expression at P = -87/8
Distance before rationalizing = 3*sqrt(29)/8
Exact minimum distance = 3*sqrt(29)/8
Decimal minimum distance = 2.01943680268
Parameter belongs to [-3,3]? True

Fasit: Den minste avstanden er \(\dfrac{3\sqrt{29}}8\).

Vanlig feil: Å finne den vertikale avstanden mellom grafene. Minste avstand måles normalt på linjen og beregnes med punkt-linje-formelen.
Sensorpunkt: Punktet P, standardformen til linjen og eksakt forenkling av avstanden skal vises.
Del 2 - Oppgave 4aGraftegning, vendetangent og punkter

Oppgave 4a

Oppgave: Funksjonen er \(f(x)=x(x^2-4)\). Tegn grafen sammen med vendetangenten og punktene \(A,B,C,D\) som beskrevet.
Vis løsning

Hva spør oppgaven om? Vi bestemmer vendetangenten og toppunktet analytisk slik at graftegningen kan kontrolleres nøyaktig.

Steg 1 - Utvid funksjonen

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

Steg 2 - Finn deriverte

\[f^{\prime}(x)=3x^2-4,\qquad f^{\prime\prime}(x)=6x.\]

Steg 3 - Kontroller vendepunktet

\(f^{\prime\prime}(0)=0\) og fortegnet skifter ved 0, så \(B=(0,0)\) er vendepunkt.

Steg 4 - Finn vendetangenten

Helningen er \(f^{\prime}(0)=-4\), derfor \[t:y=-4x.\]

Steg 5 - Finn C

På linjen \(x=-2\) har tangenten verdien \(y=8\), så \(C=(-2,8)\).

Steg 6 - Finn toppunktets x-verdi

\(f^{\prime}(x)=0\) gir \(x=\pm2/\sqrt3\). Den negative verdien gir toppunkt.

Steg 7 - Finn D

\[D=\left(-\frac{2}{\sqrt3},\frac{16}{3\sqrt3}\right).\]

Steg 8 - Tegn

Tegn kubikkgrafen, linjen \(y=-4x\), og marker A=(-2,0), B=(0,0), C=(-2,8) og D.

Illustrasjon til Oppgave 4a
Figuren viser grafen, vendetangenten og punktene A, B, C og D.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
f(x)=x(x^2-4)
Funksjonen
2
t=Tangent[(0,0),f]
\(y=-4x\)
3
A=(-2,0)
Punkt A
4
C=Intersect[t,x=-2]
\((-2,8)\)
5
Extremum[f]
Topp ved \(x=-2/\sqrt3\)

Tolkning: Graftegneren bekrefter tangentlinjen og alle fire punktene.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
x = sp.symbols("x", real=True)
f = x*(x**2-4)
f_prime = sp.diff(f, x)
f_second = sp.diff(f, x, 2)
tangent = sp.expand(f.subs(x,0)+f_prime.subs(x,0)*x)
critical_points = sp.solve(sp.Eq(f_prime,0), x)
x_D = -2/sp.sqrt(3)
y_D = sp.simplify(f.subs(x,x_D))
print("f(x) =", sp.expand(f))
print("f'(x) =", f_prime)
print("f''(x) =", f_second)
print("Inflection tangent =", tangent)
print("A =", (-2,0))
print("B =", (0,0))
print("C =", (-2,tangent.subs(x,-2)))
print("Critical x-values =", critical_points)
print("D =", (x_D,y_D))
Utskrift fra Python:
f(x) = x**3 - 4*x
f'(x) = 3*x**2 - 4
f''(x) = 6*x
Inflection tangent = -4*x
A = (-2, 0)
B = (0, 0)
C = (-2, 8)
Critical x-values = [-2*sqrt(3)/3, 2*sqrt(3)/3]
D = (-2*sqrt(3)/3, 16*sqrt(3)/9)

Fasit: \(t:y=-4x\), \(A=(-2,0)\), \(B=(0,0)\), \(C=(-2,8)\), \(D=(-2/\sqrt3,16/(3\sqrt3))\).

Vanlig feil: Å bruke den horisontale linjen y=0 som vendetangent. Tangentens helning er \(f^{\prime}(0)=-4\).
Sensorpunkt: Grafen må vise riktig tangent, og D skal være det venstre lokale toppunktet.
Del 2 - Oppgave 4bArealforhold mellom trekanter

Oppgave 4b

Oppgave: Bestem forholdet mellom arealene av trekantene \(ABC\) og \(ABD\).
Vis løsning

Hva spør oppgaven om? Trekantene har samme grunnlinje AB. Arealforholdet er derfor forholdet mellom høydene fra C og D til x-aksen.

Steg 1 - Finn grunnlinjen

\(A=(-2,0)\) og \(B=(0,0)\), så \(|AB|=2\).

Steg 2 - Finn høyden til C

\(C=(-2,8)\), så høyden over AB er 8.

Steg 3 - Beregn arealet ABC

\[A_{ABC}=\frac12\cdot2\cdot8=8.\]

Steg 4 - Finn høyden til D

Fra del a er \[y_D=\frac{16}{3\sqrt3}.\]

Steg 5 - Beregn arealet ABD

\[A_{ABD}=\frac12\cdot2\cdot\frac{16}{3\sqrt3}=\frac{16}{3\sqrt3}.\]

Steg 6 - Sett opp forholdet

\[\frac{A_{ABC}}{A_{ABD}}=\frac{8}{16/(3\sqrt3)}.\]

Steg 7 - Forenkle

\[\frac{A_{ABC}}{A_{ABD}}=\frac{3\sqrt3}{2}.\]

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
Area[Polygon[A,B,C]]
\(8\)
2
Area[Polygon[A,B,D]]
\(16/(3\sqrt3)\)
3
8/(16/(3sqrt(3)))
\(3\sqrt3/2\)

Tolkning: Felles grunnlinje gjør at arealforholdet også er høydeforholdet.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
A = sp.Point(-2,0)
B = sp.Point(0,0)
C = sp.Point(-2,8)
D = sp.Point(-2/sp.sqrt(3), 16/(3*sp.sqrt(3)))
area_ABC = abs(sp.Polygon(A,B,C).area)
area_ABD = sp.simplify(abs(sp.Polygon(A,B,D).area))
ratio = sp.radsimp(sp.simplify(area_ABC/area_ABD))
print("A =", A)
print("B =", B)
print("C =", C)
print("D =", D)
print("Area ABC =", area_ABC)
print("Area ABD =", area_ABD)
print("Exact ratio Area(ABC)/Area(ABD) =", ratio)
print("Decimal ratio =", sp.N(ratio, 12))
Utskrift fra Python:
A = Point2D(-2, 0)
B = Point2D(0, 0)
C = Point2D(-2, 8)
D = Point2D(-2*sqrt(3)/3, 16*sqrt(3)/9)
Area ABC = 8
Area ABD = 16*sqrt(3)/9
Exact ratio Area(ABC)/Area(ABD) = 3*sqrt(3)/2
Decimal ratio = 2.59807621135

Fasit: \(A_{ABC}:A_{ABD}=\dfrac{3\sqrt3}{2}:1\), altså \(A_{ABC}/A_{ABD}=3\sqrt3/2\).

Vanlig feil: Å bruke avstanden CD som høyde. Begge høyder skal måles normalt på den felles grunnlinjen AB.
Sensorpunkt: Det må være tydelig hvilken vei forholdet tas.
Del 2 - Oppgave 4cCAS-bevis med parameter

Oppgave 4c

Oppgave: For \(g(x)=x(x^2-r^2)\), \(r>0\), vis med CAS at forholdet mellom arealene av trekantene \(EFG\) og \(EFH\) er uavhengig av r.
Vis løsning

Hva spør oppgaven om? Vi uttrykker alle punktene og begge arealene symbolsk i r og forenkler kvotienten.

Steg 1 - Finn nullpunktene

\[g(x)=x(x-r)(x+r),\] så venstre nullpunkt er \(E=(-r,0)\), og \(F=(0,0)\).

Steg 2 - Finn vendetangenten i F

\[g^{\prime}(x)=3x^2-r^2,\qquad g^{\prime}(0)=-r^2.\] Dermed er tangenten \(y=-r^2x\).

Steg 3 - Finn G

Ved \(x=-r\) er tangentverdien \(y=r^3\), så \(G=(-r,r^3)\).

Steg 4 - Finn toppunktets x-verdi

\(g^{\prime}(x)=0\) gir \(x=\pm r/\sqrt3\). Venstre punkt er toppunktet.

Steg 5 - Finn H

\[H=\left(-\frac r{\sqrt3},\frac{2r^3}{3\sqrt3}\right).\]

Steg 6 - Beregn arealet EFG

Grunnlinjen EF har lengde r og høyden til G er \(r^3\): \[A_{EFG}=\frac12r\cdot r^3=\frac{r^4}{2}.\]

Steg 7 - Beregn arealet EFH

\[A_{EFH}=\frac12r\cdot\frac{2r^3}{3\sqrt3}=\frac{r^4}{3\sqrt3}.\]

Steg 8 - Finn forholdet

\[\frac{A_{EFG}}{A_{EFH}}=\frac{r^4/2}{r^4/(3\sqrt3)}=\frac{3\sqrt3}{2}.\]

Steg 9 - Tolk

Faktoren \(r^4\) forkortes bort. Derfor er forholdet uavhengig av r for alle \(r>0\).

Illustrasjon til Oppgave 4c
Tilfellet r=2 illustrerer den generelle situasjonen; det symbolske beviset gjelder alle r>0.

GeoGebra/CAS-kontroll

GeoGebra - CAS
1
g(x)=x(x^2-r^2)
Generell funksjon
2
E=(-r,0)
Venstre nullpunkt
3
t=Tangent[(0,0),g]
\(y=-r^2x\)
4
G=(-r,r^3)
Skjæring med x=-r
5
H=(-r/sqrt(3),2r^3/(3sqrt(3)))
Toppunkt
6
Simplify[(r^4/2)/(r^4/(3sqrt(3)))]
\(3\sqrt3/2\)

Tolkning: CAS forkorter parameterfaktoren r^4, slik at kvotienten blir konstant.

Python-kontroll med SymPy

Python 3 - SymPy
import sympy as sp
r, x = sp.symbols("r x", positive=True)
g = x*(x**2-r**2)
g_prime = sp.diff(g, x)
E = sp.Point(-r,0)
F = sp.Point(0,0)
tangent = sp.expand(g_prime.subs(x,0)*x)
G = sp.Point(-r, sp.simplify(tangent.subs(x,-r)))
x_H = -r/sp.sqrt(3)
H = sp.Point(x_H, sp.simplify(g.subs(x,x_H)))
area_EFG = sp.simplify(abs(sp.Polygon(E,F,G).area))
area_EFH = sp.simplify(abs(sp.Polygon(E,F,H).area))
ratio = sp.radsimp(sp.simplify(area_EFG/area_EFH))
print("g(x) =", sp.expand(g))
print("g'(x) =", g_prime)
print("Inflection tangent =", tangent)
print("E =", E)
print("F =", F)
print("G =", G)
print("H =", H)
print("Area EFG =", area_EFG)
print("Area EFH =", area_EFH)
print("Simplified area ratio =", ratio)
Utskrift fra Python:
g(x) = -r**2*x + x**3
g'(x) = -r**2 + 3*x**2
Inflection tangent = -r**2*x
E = Point2D(-r, 0)
F = Point2D(0, 0)
G = Point2D(-r, r**3)
H = Point2D(-sqrt(3)*r/3, 2*sqrt(3)*r**3/9)
Area EFG = r**4/2
Area EFH = sqrt(3)*r**4/9
Simplified area ratio = 3*sqrt(3)/2

Fasit: \(A_{EFG}/A_{EFH}=\dfrac{3\sqrt3}{2}\), uavhengig av \(r\).

Vanlig feil: Å sette inn en bestemt verdi av r og tro at det beviser uavhengighet. Parameteren må beholdes symbolsk helt til kvotienten forenkles.
Sensorpunkt: CAS-uttrykkene for punktene, begge arealene og kanselleringen av \(r^4\) skal være med.
Kilde og metode: Oppgavetekstene er transkribert fra Utdanningsdirektoratets eksamenssett REA3022 Matematikk R1, høsten 2018. Løsningene, figurene og kontrollkodene er originale ifingo-utarbeidelser. Python-utskriftene er generert ved faktisk kjøring av hver kodeblokk under produksjonen.