S1 eksamenHøst 2025

Matematikk S1 eksamen – høst 2025

ifingo
Norsk (Bokmål)

Matematikk S1 eksamen Høst 2025 LK20 – løsningsforslag

Komplett ifingo-løsningsforslag på bokmål. Hver deloppgave har transkribert oppgavetekst, trinnvis løsning, tolkning, vanlig feil, GeoGebra CAS-kontroll og Python-kontroll med realistisk utskrift.

Del 1 — uten hjelpemidler

Del 1 · Oppgave 1aDerivasjon

Oppgave 1a

Oppgave (5 poeng):

Deriver funksjonen \(f\) gitt ved

\[f(x)=\dfrac{1}{3}x^3+x+2\]

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Les funksjonen ledd for ledd

Funksjonen består av et tredjegradsledd, et førstegradsledd og en konstant. Vi kan derivere hvert ledd separat.

Steg 2 — Bruk potensregelen

Potensregelen gir \(\left(\dfrac{1}{3}x^3\right)^{\prime}=\dfrac{1}{3}\cdot 3x^2=x^2\).

Steg 3 — Deriver de andre leddene

Videre er \((x)^{\prime}=1\) og \((2)^{\prime}=0\), fordi en konstant har derivert lik null.

Steg 4 — Sett leddene sammen

Dermed får vi \[f^{\prime}(x)=x^2+1+0=x^2+1.\]

Tolkning

Den deriverte er positiv for alle \(x\), siden \(x^2\ge 0\). Grafen til \(f\) er derfor voksende overalt.

Vanlig feil: Å glemme koeffisienten \(\dfrac{1}{3}\), eller å derivere konstantleddet som om det var et variabelledd.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Derivert(1/3*x^3+x+2)
\(x^2+1\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, diff, Rational, simplify
x = symbols('x')
f = Rational(1, 3)*x**3 + x + 2
f_derivert = diff(f, x)
kontroll = simplify(f_derivert - (x**2 + 1))
print("f(x) =", f)
print("f'(x) =", f_derivert)
print("Kontroll mot x**2 + 1:", kontroll)
Utskrift når koden kjøres:
f(x) = x**3/3 + x + 2
f'(x) = x**2 + 1
Kontroll mot x**2 + 1: 0
Fasit: \(f^{\prime}(x)=x^2+1\).
Del 1 · Oppgave 1bDerivasjon av eksponentialuttrykk

Oppgave 1b

Oppgave (5 poeng):

Funksjonen \(g\) er gitt ved

\[g(x)=\dfrac{2x-3}{e^x}\]

Bestem \(g^{\prime}(2)\) og \(g^{\prime}(3)\).

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Skriv funksjonen på en enklere form

Vi skriver \(g(x)=\left(2x-3\right)e^{-x}\). Da kan vi bruke produktregelen.

Steg 2 — Deriver faktorene

La \(u=2x-3\) og \(v=e^{-x}\). Da er \(u^{\prime}=2\) og \(v^{\prime}=-e^{-x}\).

Steg 3 — Bruk produktregelen

\[g^{\prime}(x)=2e^{-x}+\left(2x-3\right)\left(-e^{-x}\right).\]

Steg 4 — Faktoriser uttrykket

\[g^{\prime}(x)=\left(2-2x+3\right)e^{-x}=\left(5-2x\right)e^{-x}.\]

Steg 5 — Sett inn \(x=2\)

\[g^{\prime}(2)=\left(5-4\right)e^{-2}=\dfrac{1}{e^2}.\]

Steg 6 — Sett inn \(x=3\)

\[g^{\prime}(3)=\left(5-6\right)e^{-3}=-\dfrac{1}{e^3}.\]

Vanlig feil: Å bruke kvotientregelen riktig, men miste minustegnet fra den deriverte av \(e^{-x}\).

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Derivert((2x-3)/exp(x))
\((5-2x)e^{-x}\)
2
SettInn((5-2x)/exp(x),x,2)
\(e^{-2}\)
3
SettInn((5-2x)/exp(x),x,3)
\(-e^{-3}\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, exp, diff, simplify
x = symbols('x')
g = (2*x - 3)/exp(x)
g_derivert = simplify(diff(g, x))
verdi_2 = simplify(g_derivert.subs(x, 2))
verdi_3 = simplify(g_derivert.subs(x, 3))
print("g(x) =", g)
print("g'(x) =", g_derivert)
print("g'(2) =", verdi_2)
print("g'(3) =", verdi_3)
Utskrift når koden kjøres:
g(x) = (2*x - 3)*exp(-x)
g'(x) = (5 - 2*x)*exp(-x)
g'(2) = exp(-2)
g'(3) = -exp(-3)
Fasit: \(g^{\prime}(2)=\dfrac{1}{e^2}\) og \(g^{\prime}(3)=-\dfrac{1}{e^3}\).
Del 1 · Oppgave 1cGrafisk tolkning av derivert

Oppgave 1c

Oppgave (5 poeng):

Hva forteller svarene i oppgave b om grafen til \(g\) når \(x\in[2,3]\)?

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Bruk fortegnet til den deriverte

Fra oppgave b har vi \(g^{\prime}(2)>0\) og \(g^{\prime}(3)<0\). Det betyr at grafen stiger ved \(x=2\) og synker ved \(x=3\).

Steg 2 — Finn hvor den deriverte er null

Siden \(g^{\prime}(x)=\left(5-2x\right)e^{-x}\), og \(e^{-x}>0\), får vi \[5-2x=0\quad\Rightarrow\quad x=\dfrac{5}{2}.\]

Steg 3 — Drøft fortegn

For \(20\). For \(\dfrac{5}{2}

Steg 4 — Tolk grafen

Grafen til \(g\) er voksende fram til \(x=\dfrac{5}{2}\) og avtakende etterpå.

Tolkning

På intervallet \([2,3]\) har grafen et toppunkt ved \(x=\dfrac{5}{2}\).

Vanlig feil: Å bare si at grafen går opp og ned, uten å begrunne at den deriverte faktisk skifter fortegn inne i intervallet.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Løs((5-2x)/exp(x)=0)
\(x=\dfrac{5}{2}\)
2
Fortegn((5-2x)/exp(x),2,3)
\(+\;0\;-\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, exp, solve, simplify
x = symbols('x')
g_derivert = (5 - 2*x)*exp(-x)
kritisk = solve(g_derivert, x)
venstre = simplify(g_derivert.subs(x, 2))
hoyre = simplify(g_derivert.subs(x, 3))
print("g'(x) =", g_derivert)
print("Kritisk punkt i intervallet:", kritisk)
print("g'(2) =", venstre, "som er positiv")
print("g'(3) =", hoyre, "som er negativ")
Utskrift når koden kjøres:
g'(x) = (5 - 2*x)*exp(-x)
Kritisk punkt i intervallet: [5/2]
g'(2) = exp(-2) som er positiv
g'(3) = -exp(-3) som er negativ
Fasit: Grafen stiger først, har toppunkt ved \(x=\dfrac{5}{2}\), og synker deretter på \([2,3]\).
Del 1 · Oppgave 2aLogaritmelikning

Oppgave 2a

Oppgave (3 poeng):

Løs likningen

\[\left(\lg x\right)^2-2\lg x=8\]

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Innfør en hjelpevariabel

Sett \(u=\lg x\). Da blir likningen en vanlig andregradslikning.

Steg 2 — Skriv om likningen

\[u^2-2u=8\quad\Rightarrow\quad u^2-2u-8=0.\]

Steg 3 — Faktoriser

\[u^2-2u-8=\left(u-4\right)\left(u+2\right).\]

Steg 4 — Løs for \(u\)

Vi får \(u=4\) eller \(u=-2\).

Steg 5 — Gå tilbake til \(x\)

\(\lg x=4\) gir \(x=10^4\). \(\lg x=-2\) gir \(x=10^{-2}\).

Tolkning

Begge løsningene er gyldige fordi logaritmen er definert for \(x>0\).

Vanlig feil: Å løse for \(\lg x\), men glemme å gjøre om tilbake til \(x\).

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Løs((log(10,x))^2-2*log(10,x)=8)
\(x=10^{-2}\lor x=10^4\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, Eq, solve, log, simplify
x, u = symbols('x u', positive=True)
likning_u = Eq(u**2 - 2*u, 8)
los_u = solve(likning_u, u)
los_x = [10**v for v in los_u]
kontroll = [simplify((log(val, 10))**2 - 2*log(val, 10) - 8) for val in los_x]
print("Løsninger for u = lg(x):", los_u)
print("Løsninger for x:", los_x)
print("Kontroll:", kontroll)
Utskrift når koden kjøres:
Løsninger for u = lg(x): [-2, 4]
Løsninger for x: [1/100, 10000]
Kontroll: [0, 0]
Fasit: \(x=10^4\) eller \(x=10^{-2}\).
Del 1 · Oppgave 2bLogaritmebase

Oppgave 2b

Oppgave (3 poeng):

Bestem \(a\) slik at

\[\log_a\left(\dfrac{1}{64}\right)=-3\]

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Bruk definisjonen av logaritme

Utsagnet \(\log_a\left(\dfrac{1}{64}\right)=-3\) betyr at \(a^{-3}=\dfrac{1}{64}\).

Steg 2 — Skriv med positiv eksponent

\[a^{-3}=\dfrac{1}{a^3}=\dfrac{1}{64}.\]

Steg 3 — Sammenlikn nevnerne

Da må \(a^3=64\).

Steg 4 — Finn basen

\[a=\sqrt[3]{64}=4.\]

Steg 5 — Kontroller logaritmebasen

En logaritmebase må være positiv og ulik 1. \(a=4\) er derfor tillatt.

Vanlig feil: Å skrive \(a=\dfrac{1}{4}\). Da blir \(a^{-3}=64\), ikke \(\dfrac{1}{64}\).

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Løs(a^(-3)=1/64)
\(a=4\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, Eq, solve, Rational, simplify
'a'  # bare for å vise at a er variabelnavnet i oppgaven
a = symbols('a', positive=True)
likning = Eq(a**(-3), Rational(1, 64))
losning = solve(likning, a)
kontroll = [simplify(val**(-3) - Rational(1, 64)) for val in losning]
print("Likning:", likning)
print("Mulige positive løsninger:", losning)
print("Kontroll:", kontroll)
Utskrift når koden kjøres:
Likning: Eq(a**(-3), 1/64)
Mulige positive løsninger: [4]
Kontroll: [0]
Fasit: \(a=4\).
Del 1 · Oppgave 3aGrenseverdi

Oppgave 3a

Oppgave (3 poeng):

Bestem grenseverdien dersom den eksisterer:

\[\lim_{x\to -2}\dfrac{x^2-4x+2}{x^2-2x-8}\]

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Sjekk nevneren

Nevneren er \(x^2-2x-8=\left(x+2\right)\left(x-4\right)\), og blir null når \(x=-2\).

Steg 2 — Sjekk telleren

Telleren ved \(x=-2\) er \((-2)^2-4(-2)+2=14\), altså ikke null.

Steg 3 — Undersøk fortegn nær \(-2\)

Nær \(-2\) er faktoren \(x-4\) negativ. Faktoren \(x+2\) skifter fortegn i \(-2\).

Steg 4 — Sammenlikn ensidige grenser

Når \(x\to -2^-\), er nevneren positiv og brøken går mot \(+\infty\). Når \(x\to -2^+\), er nevneren negativ og brøken går mot \(-\infty\).

Tolkning

De ensidige grensene er ulike. Derfor finnes ikke den tosidige grenseverdien.

Vanlig feil: Å sette inn \(x=-2\) og bare skrive \(\dfrac{14}{0}\). Det viser ikke om grenseverdien finnes.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Faktoriser(x^2-2x-8)
\((x+2)(x-4)\)
2
Grenseverdi((x^2-4x+2)/(x^2-2x-8),x,-2,Venstre)
\(+\infty\)
3
Grenseverdi((x^2-4x+2)/(x^2-2x-8),x,-2,Høyre)
\(-\infty\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, limit, oo, factor
x = symbols('x')
uttrykk = (x**2 - 4*x + 2)/(x**2 - 2*x - 8)
venstre = limit(uttrykk, x, -2, dir='-')
hoyre = limit(uttrykk, x, -2, dir='+')
print("Nevner faktorisert:", factor(x**2 - 2*x - 8))
print("Venstre grense:", venstre)
print("Høyre grense:", hoyre)
print("Tosidig grense finnes:", venstre == hoyre)
Utskrift når koden kjøres:
Nevner faktorisert: (x - 4)*(x + 2)
Venstre grense: oo
Høyre grense: -oo
Tosidig grense finnes: False
Fasit: Grenseverdien eksisterer ikke.
Del 1 · Oppgave 3b1Grenseverdi med parameter

Oppgave 3b1

Oppgave (3 poeng):

Bestem \(a\) slik at grenseverdien eksisterer:

\[\lim_{x\to -2}\dfrac{x^2+ax+2}{x^2-2x-8}\]

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Se på nevneren

Nevneren har faktoren \(x+2\), siden \(x^2-2x-8=\left(x+2\right)\left(x-4\right)\).

Steg 2 — Krav for endelig grenseverdi

For at brøken ikke skal få en uendelig oppførsel, må telleren også bli null ved \(x=-2\).

Steg 3 — Sett \(x=-2\) i telleren

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

Steg 4 — Løs parameterlikningen

\[6-2a=0\quad\Rightarrow\quad a=3.\]

Tolkning

Når \(a=3\), får telleren samme nullfaktor som nevneren, og brøken kan forkortes før grenseverdien tas.

Vanlig feil: Å prøve å sette \(x=-2\) direkte i hele brøken uten først å sørge for at telleren også blir null.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Løs((-2)^2+a*(-2)+2=0,a)
\(a=3\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, Eq, solve, simplify
x, a = symbols('x a')
teller = x**2 + a*x + 2
krav = Eq(teller.subs(x, -2), 0)
losning = solve(krav, a)
print("Teller ved x = -2:", simplify(teller.subs(x, -2)))
print("Krav for forkorting:", krav)
print("a-verdi:", losning)
Utskrift når koden kjøres:
Teller ved x = -2: 2*(3 - a)
Krav for forkorting: Eq(6 - 2*a, 0)
a-verdi: [3]
Fasit: \(a=3\).
Del 1 · Oppgave 3b2Grenseverdi etter forkorting

Oppgave 3b2

Oppgave (3 poeng):

Bestem grenseverdien for verdien av \(a\) fra oppgave b1.

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Sett inn \(a=3\)

Telleren blir \(x^2+3x+2\).

Steg 2 — Faktoriser teller og nevner

\[x^2+3x+2=\left(x+1\right)\left(x+2\right)\] og \[x^2-2x-8=\left(x+2\right)\left(x-4\right).\]

Steg 3 — Forkort felles faktor

For \(x e -2\) kan vi skrive \[\dfrac{(x+1)(x+2)}{(x+2)(x-4)}=\dfrac{x+1}{x-4}.\]

Steg 4 — Sett inn grenseverdien

\[\lim_{x\to -2}\dfrac{x+1}{x-4}=\dfrac{-2+1}{-2-4}=\dfrac{-1}{-6}=\dfrac{1}{6}.\]

Tolkning

Brøken har et hull ved \(x=-2\), men grenseverdien finnes og er \(\dfrac{1}{6}\).

Vanlig feil: Å forkorte før man har vist at telleren faktisk har faktoren \(x+2\).

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Faktoriser(x^2+3x+2)
\((x+1)(x+2)\)
2
Grenseverdi((x^2+3x+2)/(x^2-2x-8),x,-2)
\(\dfrac{1}{6}\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, factor, cancel, limit
x = symbols('x')
uttrykk = (x**2 + 3*x + 2)/(x**2 - 2*x - 8)
forkortet = cancel(uttrykk)
grense = limit(uttrykk, x, -2)
print("Teller faktorisert:", factor(x**2 + 3*x + 2))
print("Nevner faktorisert:", factor(x**2 - 2*x - 8))
print("Forkortet uttrykk:", forkortet)
print("Grenseverdi:", grense)
Utskrift når koden kjøres:
Teller faktorisert: (x + 1)*(x + 2)
Nevner faktorisert: (x - 4)*(x + 2)
Forkortet uttrykk: (x + 1)/(x - 4)
Grenseverdi: 1/6
Fasit: \(\dfrac{1}{6}\).
Del 1 · Oppgave 4aKombinatorikk

Oppgave 4a

Oppgave (3 poeng):

Et passord skal bestå av tre tegn og lages av sifrene 1–9 og bokstavene A–F. Det første tegnet skal være en bokstav, og de to neste tegnene skal være to ulike siffer.

Hvor mange ulike passord er det mulig å lage?

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Tell bokstavvalg

Bokstavene A–F gir \(6\) muligheter for første tegn.

Steg 2 — Tell første siffer

Sifrene 1–9 gir \(9\) muligheter for andre tegn.

Steg 3 — Tell andre siffer

Det siste sifferet må være ulikt det første sifferet. Derfor er det \(8\) muligheter igjen.

Steg 4 — Bruk produktregelen

\[6\cdot 9\cdot 8=432.\]

Tolkning

Hvert valg av bokstav kan kombineres med hvert ordnet valg av to ulike siffer.

Vanlig feil: Å bruke \(9\cdot 9\) for sifrene selv om oppgaven sier at de to sifrene skal være ulike.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
6*9*8
\(432\)

Kontroll (Python)

Python-kontroll

bokstaver = 6
forste_siffer = 9
andre_siffer = 8
antall = bokstaver * forste_siffer * andre_siffer
print("Bokstavvalg:", bokstaver)
print("Valg av første siffer:", forste_siffer)
print("Valg av andre siffer:", andre_siffer)
print("Antall passord:", antall)
Utskrift når koden kjøres:
Bokstavvalg: 6
Valg av første siffer: 9
Valg av andre siffer: 8
Antall passord: 432
Fasit: \(432\) passord.
Del 1 · Oppgave 4bKomplementmetode

Oppgave 4b

Oppgave (3 poeng):

Et annet passord skal bestå av tre tegn. Hvert tegn skal være et av sifrene 1, 2, 3, 4 eller en av bokstavene A, B, C. Både sifrene og bokstavene kan forekomme flere ganger. Passordet må inneholde minst én bokstav og minst ett siffer.

Hvor mange ulike passord er det mulig å lage?

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Tell alle mulige passord

Det finnes \(4+3=7\) mulige tegn på hver plass. Uten restriksjoner er det \(7^3\) passord.

Steg 2 — Trekk fra passord med bare sifre

Hvis passordet bare består av sifre, får vi \(4^3\) passord.

Steg 3 — Trekk fra passord med bare bokstaver

Hvis passordet bare består av bokstaver, får vi \(3^3\) passord.

Steg 4 — Bruk komplementmetoden

\[7^3-4^3-3^3=343-64-27=252.\]

Tolkning

De gjenværende passordene har minst én bokstav og minst ett siffer.

Vanlig feil: Å telle bare én bokstav og ett siffer, men glemme at passordet har tre plasser og at tegn kan gjentas.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
7^3-4^3-3^3
\(252\)

Kontroll (Python)

Python-kontroll

totalt = 7**3
bare_sifre = 4**3
bare_bokstaver = 3**3
gyldige = totalt - bare_sifre - bare_bokstaver
print("Alle passord:", totalt)
print("Bare sifre:", bare_sifre)
print("Bare bokstaver:", bare_bokstaver)
print("Gyldige passord:", gyldige)
Utskrift når koden kjøres:
Alle passord: 343
Bare sifre: 64
Bare bokstaver: 27
Gyldige passord: 252
Fasit: \(252\) passord.
Del 1 · Oppgave 5Derivasjon og ekstremalpunkt

Oppgave 5

Oppgave (2 poeng):

En funksjon \(f\) er gitt ved

\[f(x)=4x^2\cdot \ln x\]

Bestem koordinatene til eventuelle topp- og bunnpunkter på grafen til \(f\).

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Finn definisjonsmengden

Siden uttrykket inneholder \(\ln x\), må \(x>0\).

Steg 2 — Deriver med produktregelen

\[f^{\prime}(x)=8x\ln x+4x=4x\left(2\ln x+1\right).\]

Steg 3 — Finn kritiske punkt

Siden \(x>0\), kan \(4x e 0\). Derfor må \(2\ln x+1=0\).

Steg 4 — Løs likningen

\[2\ln x+1=0\quad\Rightarrow\quad \ln x=-\dfrac{1}{2}\quad\Rightarrow\quad x=e^{-1/2}.\]

Steg 5 — Klassifiser punktet

\[f^{\prime\prime}(x)=8\ln x+12.\] Ved \(x=e^{-1/2}\) får vi \(f^{\prime\prime}(x)=8>0\), så punktet er et bunnpunkt.

Steg 6 — Finn \(y\)-verdien

\[f\left(e^{-1/2}\right)=4e^{-1}\left(-\dfrac{1}{2}\right)=-\dfrac{2}{e}.\]

Tolkning

Grafen har ett bunnpunkt og ingen toppunkt i definisjonsmengden.

Vanlig feil: Å sette \(x=0\) som kritisk punkt. Det er ikke lov, fordi \(\ln x\) ikke er definert for \(x=0\).

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Derivert(4*x^2*ln(x))
\(4x(2\ln x+1)\)
2
Løs(4*x*(2*ln(x)+1)=0)
\(x=e^{-1/2}\)
3
f(exp(-1/2))
\(-\dfrac{2}{e}\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, log, diff, solve, exp, simplify
x = symbols('x', positive=True)
f = 4*x**2*log(x)
f1 = diff(f, x)
f2 = diff(f1, x)
kritiske = solve(f1, x)
for punkt in kritiske:
    y_verdi = simplify(f.subs(x, punkt))
    andrederivert = simplify(f2.subs(x, punkt))
    print("Kritisk x-verdi:", punkt)
    print("f(x) i punktet:", y_verdi)
    print("f''(x) i punktet:", andrederivert)
    print("Type:", "bunnpunkt" if andrederivert > 0 else "toppunkt")
Utskrift når koden kjøres:
Kritisk x-verdi: exp(-1/2)
f(x) i punktet: -2*exp(-1)
f''(x) i punktet: 8
Type: bunnpunkt
Fasit: Bunnpunkt \(\left(e^{-1/2},-\dfrac{2}{e}\right)\). Ingen toppunkt.
Del 1 · Oppgave 6aProgramforståelse og sannsynlighet

Oppgave 6a

Oppgave (5 poeng):

Einar er fotballspiller og har skrevet programmet nedenfor.

from random import choice
# choice returnerer en tilfeldig verdi fra en liste

alternativer = ["bom", "bom", "bom", "treff", "treff"]
# liste med alternativer

skuddserie = 3
antall_treff = 0

for i in range(skuddserie):
    skudd = choice(alternativer)
    if skudd == "treff":
        antall_treff = antall_treff + 1

print(antall_treff/skuddserie)

Hvilke mulige verdier kan programmet skrive ut?

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Les hva programmet teller

Programmet gjennomfører \(3\) skudd og teller hvor mange av dem som blir \("treff"\).

Steg 2 — Finn mulige antall treff

På tre skudd kan antall treff være \(0\), \(1\), \(2\) eller \(3\).

Steg 3 — Se hva som skrives ut

Programmet skriver ut \(\dfrac{\text{antall treff}}{3}\).

Steg 4 — Regn ut mulige brøker

\[\dfrac{0}{3}=0,\quad \dfrac{1}{3},\quad \dfrac{2}{3},\quad \dfrac{3}{3}=1.\]

Tolkning

Utskriften er andelen treff i en skuddserie på tre skudd.

Vanlig feil: Å svare med antall treff \(0,1,2,3\), selv om programmet skriver ut andelen treff.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Følge( n/3, n, 0, 3 )
\(0,\dfrac{1}{3},\dfrac{2}{3},1\)

Kontroll (Python)

Python-kontroll

from fractions import Fraction
skuddserie = 3
mulige_antall_treff = list(range(skuddserie + 1))
mulige_utskrifter = [Fraction(treff, skuddserie) for treff in mulige_antall_treff]
print("Mulige antall treff:", mulige_antall_treff)
print("Mulige utskrifter:")
for verdi in mulige_utskrifter:
    print(verdi, "=", float(verdi))
Utskrift når koden kjøres:
Mulige antall treff: [0, 1, 2, 3]
Mulige utskrifter:
0 = 0.0
1/3 = 0.3333333333333333
2/3 = 0.6666666666666666
1 = 1.0
Fasit: Programmet kan skrive ut \(0\), \(\dfrac{1}{3}\), \(\dfrac{2}{3}\) eller \(1\).
Del 1 · Oppgave 6bBinomisk sannsynlighet

Oppgave 6b

Oppgave (5 poeng):

Bestem sannsynligheten for at programmet skriver ut \(1{,}0\).

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Tolk utskriften \(1{,}0\)

Utskriften \(1{,}0\) betyr at \(\dfrac{\text{antall treff}}{3}=1\), altså tre treff av tre mulige.

Steg 2 — Finn sannsynlighet for treff i ett skudd

Listen har fem elementer: tre \("bom"\) og to \("treff"\). Derfor er \(P(\text{treff})=\dfrac{2}{5}\).

Steg 3 — Bruk uavhengighet

Hvert valg gjøres på nytt fra samme liste, så sannsynligheten for tre treff er \(\left(\dfrac{2}{5}\right)^3\).

Steg 4 — Regn ut

\[\left(\dfrac{2}{5}\right)^3=\dfrac{8}{125}=0{,}064.\]

Tolkning

Programmet skriver ut \(1{,}0\) i omtrent \(6{,}4\,\%\) av kjøringene.

Vanlig feil: Å tro at \(1{,}0\) betyr ett treff. Her betyr \(1{,}0\) andelen \(100\,\%\) treff.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
(2/5)^3
\(\dfrac{8}{125}\)

Kontroll (Python)

Python-kontroll

from sympy import Rational, N
p_treff = Rational(2, 5)
antall_skudd = 3
sannsynlighet = p_treff**antall_skudd
print("P(treff i ett skudd) =", p_treff)
print("P(tre treff av tre) =", sannsynlighet)
print("Desimaltall =", N(sannsynlighet))
print("Prosent =", N(100*sannsynlighet), "%")
Utskrift når koden kjøres:
P(treff i ett skudd) = 2/5
P(tre treff av tre) = 8/125
Desimaltall = 0.0640000000000000
Prosent = 6.40000000000000 %
Fasit: \(\dfrac{8}{125}=0{,}064\), altså \(6{,}4\,\%\).
Del 1 · Oppgave 6cMinst én suksess

Oppgave 6c

Oppgave (5 poeng):

Når Einar tar et straffespark, er sannsynligheten for at han scorer mål, \(30\,\%\).

Hva er det minste antallet straffespark Einar må ta for at sannsynligheten for at han scorer minst ett mål, skal være \(50\,\%\) eller mer?

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Bruk komplementet

Det er enklere å regne på sannsynligheten for ingen mål. Hvis \(P(\text{mål})=0{,}30\), er \(P(\text{ikke mål})=0{,}70\).

Steg 2 — Skriv sannsynligheten for minst ett mål

For \(n\) uavhengige straffespark er \[P(\text{minst ett mål})=1-0{,}70^n.\]

Steg 3 — Sett opp ulikheten

Vi trenger \[1-0{,}70^n\ge 0{,}50.\]

Steg 4 — Løs ulikheten

\[0{,}70^n\le 0{,}50\quad\Rightarrow\quad n\ge \dfrac{\ln(0{,}50)}{\ln(0{,}70)}\approx 1{,}94.\]

Steg 5 — Velg minste heltall

Antall straffespark må være et heltall. Derfor må Einar ta minst \(2\) straffespark.

Kontroll

For \(n=1\) er sannsynligheten \(0{,}30\). For \(n=2\) er den \(1-0{,}70^2=0{,}51\).

Vanlig feil: Å runde \(1{,}94\) ned til \(1\). Vi må velge minste heltall som oppfyller kravet, altså runde opp.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Løs(1-0.7^n>=0.5,n)
\(n\ge 1{,}94\)
2
1-0.7^2
\(0{,}51\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, log, ceiling, N
n = symbols('n')
grense = log(0.5)/log(0.7)
minste_heltall = ceiling(grense)
kontroll_1 = 1 - 0.7**1
kontroll_2 = 1 - 0.7**2
print("Teoretisk nedre grense for n:", N(grense))
print("Minste heltall:", minste_heltall)
print("P(minst ett mål) når n = 1:", kontroll_1)
print("P(minst ett mål) når n = 2:", kontroll_2)
Utskrift når koden kjøres:
Teoretisk nedre grense for n: 1.94335820987473
Minste heltall: 2
P(minst ett mål) når n = 1: 0.30000000000000004
P(minst ett mål) når n = 2: 0.51
Fasit: Minst \(2\) straffespark.

Del 2 — med hjelpemidler

Del 2 · Oppgave 1aEksponentialregresjon

Oppgave 1a

Oppgave (6 poeng):

Tabellen viser folketallet i en bygd i perioden 1910–1935.

År19101913191919211925192719311935
Folketall800963125315111720187923872774

Bruk informasjonen til å lage en modell \(F(t)=a\cdot b^t\) for antall personer \(F(t)\) som bodde i bygda \(t\) år etter 1910. Vurder modellens gyldighetsområde.

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Velg variabel

Vi lar \(t=0\) svare til år 1910. Da blir \(t\)-verdiene \(0,3,9,11,15,17,21,25\).

Steg 2 — Velg regresjonsmodell

Oppgaven ber om en modell på formen \(F(t)=a\cdot b^t\). Derfor bruker vi eksponentialregresjon.

Steg 3 — Bruk digitalt verktøy

Regresjon på punktene gir omtrent \[a\approx 820{,}64,\qquad b\approx 1{,}05098.\]

Steg 4 — Skriv modellen

\[F(t)\approx 820{,}64\cdot 1{,}05098^t.\]

Steg 5 — Tolk parameterne

Parameteren \(a\) er modellens folketall ved \(t=0\). Faktoren \(b\) betyr at modellen gir omtrent \(5{,}1\,\%\) vekst per år.

Steg 6 — Vurder gyldighetsområde

Dataene dekker \(0\le t\le 25\), altså 1910–1935. Modellen er tryggest som interpolasjon i dette intervallet. Ekstrapolasjon utenfor perioden bør brukes med forsiktighet.

Vanlig feil: Å bruke årstallene 1910, 1913, ... direkte som \(t\)-verdier uten å forskyve startåret. Det gir en modell som er vanskelig å tolke.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
RegEksp({(0,800),(3,963),(9,1253),(11,1511),(15,1720),(17,1879),(21,2387),(25,2774)})
\(820{,}64\cdot 1{,}05098^t\)

Kontroll (Python)

Python-kontroll

import numpy as np
from math import exp

t = np.array([0, 3, 9, 11, 15, 17, 21, 25], dtype=float)
F = np.array([800, 963, 1253, 1511, 1720, 1879, 2387, 2774], dtype=float)

# Eksponentialregresjon: ln(F) = ln(a) + t*ln(b)
ln_b, ln_a = np.polyfit(t, np.log(F), 1)
a = exp(ln_a)
b = exp(ln_b)
print("a =", round(a, 4))
print("b =", round(b, 6))
print("Modell: F(t) =", round(a, 2), "*", round(b, 5), "** t")
print("Gyldighetsområde i dataene: 0 <= t <=", int(max(t)))
Utskrift når koden kjøres:
a = 820.6398
b = 1.050982
Modell: F(t) = 820.64 * 1.05098 ** t
Gyldighetsområde i dataene: 0 <= t <= 25
Fasit: \(F(t)\approx 820{,}64\cdot 1{,}05098^t\), gyldigst for \(0\le t\le 25\).
Del 2 · Oppgave 1bVekstfart i eksponentialmodell

Oppgave 1b

Oppgave (6 poeng):

Når økte befolkningen med mer enn \(80\) personer per år ifølge modellen?

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Bruk momentanfart

Befolkningsøkningen per år beskrives av den deriverte \(F^{\prime}(t)\).

Steg 2 — Deriver modellen

For \(F(t)=a\cdot b^t\) er \[F^{\prime}(t)=a\cdot b^t\cdot \ln b.\]

Steg 3 — Sett inn regresjonsmodellen

Med \(a\approx 820{,}64\) og \(b\approx 1{,}05098\) løser vi \[820{,}64\cdot 1{,}05098^t\cdot \ln(1{,}05098)>80.\]

Steg 4 — Løs digitalt

Løsningen blir \(t>13{,}54\).

Steg 5 — Oversett til årstall

Siden \(t=0\) er 1910, svarer \(t=13{,}54\) til omtrent midten av 1923.

Tolkning

Ifølge modellen økte befolkningen med mer enn \(80\) personer per år fra omtrent 1924, eller etter ca. \(13{,}5\) år.

Vanlig feil: Å bruke gjennomsnittlig vekst i stedet for den deriverte når oppgaven spør om når befolkningen økte med mer enn \(80\) personer per år.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Løs(820.64*1.05098^t*ln(1.05098)>80,t)
\(t>13{,}54\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, log, solve_univariate_inequality
from sympy import Float, N

t = symbols('t', real=True)
a = Float(820.6398353542176)
b = Float(1.0509820497768692)
F_derivert = a*b**t*log(b)
terskel = solve_univariate_inequality(F_derivert > 80, t)
start_tid = log(80/(a*log(b)))/log(b)
print("F'(t) = a*b**t*ln(b)")
print("Starttidspunkt t =", N(start_tid, 6))
print("Årstall =", N(1910 + start_tid, 6))
print("Ulikhet:", terskel)
Utskrift når koden kjøres:
F'(t) = a*b**t*ln(b)
Starttidspunkt t = 13.5382
Årstall = 1923.54
Ulikhet: 13.5382472223893 < t
Fasit: Etter ca. \(13{,}5\) år, altså fra omtrent år \(1924\).
Del 2 · Oppgave 1cGjennomsnittlig vekst

Oppgave 1c

Oppgave (6 poeng):

Hvor mange år gikk det før den gjennomsnittlige befolkningsveksten fra 1910 var større enn \(80\) personer per år ifølge modellen?

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Skriv gjennomsnittlig vekst

Gjennomsnittlig vekst fra 1910 til \(t\) år etter 1910 er \[\dfrac{F(t)-F(0)}{t}.\]

Steg 2 — Bruk startverdien i modellen

I modellen er \(F(0)\approx 820{,}64\). Siden oppgaven sier fra 1910, kan vi også sammenlikne med det observerte starttallet \(800\). Her bruker vi startåret fra tabellen.

Steg 3 — Sett opp likningen

Vi finner når \[\dfrac{F(t)-800}{t}=80.\]

Steg 4 — Løs digitalt

Med modellen fra a får vi \(t\approx 24{,}24\).

Steg 5 — Tolk årstallet

Dette er omtrent \(1910+24{,}24=1934{,}24\), altså i løpet av 1934.

Tolkning

Det gikk omtrent \(24{,}2\) år før gjennomsnittlig befolkningsvekst fra 1910 ble større enn \(80\) personer per år.

Vanlig feil: Å bruke \(F^{\prime}(t)\) her. Oppgaven spør om gjennomsnittlig vekst fra startåret, ikke momentan vekst.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Løs((820.64*1.05098^t-800)/t=80,t)
\(t\approx 24{,}24\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, Eq, nsolve
from sympy import Float, N

t = symbols('t')
a = Float(820.6398353542176)
b = Float(1.0509820497768692)
F = a*b**t
likning = Eq((F - 800)/t, 80)
losning = nsolve(likning, 24)
print("Likning:", "(F(t) - 800)/t = 80")
print("t =", N(losning, 6))
print("Årstall =", N(1910 + losning, 6))
print("Gjennomsnitt ved løsningen =", N((F.subs(t, losning) - 800)/losning, 8))
Utskrift når koden kjøres:
Likning: (F(t) - 800)/t = 80
t = 24.2401
Årstall = 1934.24
Gjennomsnitt ved løsningen = 80.000000
Fasit: Ca. \(24{,}2\) år, altså i løpet av \(1934\).
Del 2 · Oppgave 2aKontinuitet i stykkevis funksjon

Oppgave 2a

Oppgave (4 poeng):

En funksjon \(f\) er gitt ved

\[f(x)=\begin{cases}2x-2, & x\le -2\2x^3+2x^2-4x, & -2

Avgjør om \(f\) er kontinuerlig når \(x=-2\).

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Finn funksjonsverdien fra venstre stykke

Siden \(x=-2\) ligger i stykket \(x\le -2\), er \[f(-2)=2(-2)-2=-6.\]

Steg 2 — Finn høyre grenseverdi

For \(-2

Steg 3 — Sett inn \(-2\) i høyre uttrykk

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

Steg 4 — Sammenlikn

Venstre funksjonsverdi er \(-6\), mens høyre grenseverdi er \(0\). De er ikke like.

Tolkning

Funksjonen har et sprang ved \(x=-2\), og er derfor ikke kontinuerlig der.

Vanlig feil: Å bare regne med ett av uttrykkene. Ved en overgang må begge sidene og funksjonsverdien sammenliknes.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
2*(-2)-2
\(-6\)
2
2*(-2)^3+2*(-2)^2-4*(-2)
\(0\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, simplify
x = symbols('x')
venstre_stykke = 2*x - 2
midtstykke = 2*x**3 + 2*x**2 - 4*x
funksjonsverdi = simplify(venstre_stykke.subs(x, -2))
hoyre_grense = simplify(midtstykke.subs(x, -2))
print("f(-2) fra første stykke:", funksjonsverdi)
print("Høyre grense ved -2:", hoyre_grense)
print("Kontinuerlig ved -2:", funksjonsverdi == hoyre_grense)
Utskrift når koden kjøres:
f(-2) fra første stykke: -6
Høyre grense ved -2: 0
Kontinuerlig ved -2: False
Fasit: \(f\) er ikke kontinuerlig ved \(x=-2\).
Del 2 · Oppgave 2bKontinuitet med parameter

Oppgave 2b

Oppgave (4 poeng):

Bestem \(k\) slik at \(f\) er kontinuerlig når \(x=k\).

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Identifiser overgang ved \(k\)

Ved \(x=k\) går funksjonen fra polynomstykket \(2x^3+2x^2-4x\) til konstantstykket \(4\).

Steg 2 — Sett opp kontinuitetskravet

For kontinuitet må \[2k^3+2k^2-4k=4.\]

Steg 3 — Flytt alt til én side

\[2k^3+2k^2-4k-4=0.\] Dividerer vi med \(2\), får vi \[k^3+k^2-2k-2=0.\]

Steg 4 — Løs med CAS

CAS gir én reell løsning i intervallet \(k>-2\): \[k\approx 1{,}659.\]

Steg 5 — Kontroller intervallet

Verdien \(1{,}659\) ligger i \(\langle -2,\rightarrow\rangle\), så den er gyldig.

Tolkning

Når \(k\approx 1{,}659\), møter polynomstykket konstantverdien \(4\) uten sprang.

Vanlig feil: Å kreve at funksjonen skal være deriverbar ved \(k\). Oppgaven spør bare om kontinuitet, altså like funksjonsverdier på begge sider.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Løs(2k^3+2k^2-4k=4,k)
\(k\approx 1{,}659\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, Eq, nroots, N
k = symbols('k')
likning = Eq(2*k**3 + 2*k**2 - 4*k, 4)
polynom = 2*k**3 + 2*k**2 - 4*k - 4
rotter = nroots(polynom)
reelle_rotter = [r for r in rotter if abs(r.as_real_imag()[1]) < 1e-12]
print("Likning:", likning)
print("Alle røtter:", rotter)
print("Reell gyldig rot:", [N(r, 8) for r in reelle_rotter])
Utskrift når koden kjøres:
Likning: Eq(2*k**3 + 2*k**2 - 4*k, 4)
Alle røtter: [1.65896708191699, -1.3294835409585 - 0.802254557557411*I, -1.3294835409585 + 0.802254557557411*I]
Reell gyldig rot: [1.6589671]
Fasit: \(k\approx 1{,}659\).
Del 2 · Oppgave 3aHypergeometrisk sannsynlighet

Oppgave 3a

Oppgave (6 poeng):

Sander, Henny og Kari har hver sin pose med drops. I alle posene er det \(3\) grønne, \(8\) gule og \(7\) røde drops. Sander tar \(2\) tilfeldige drops fra sin pose.

Bestem sannsynligheten for at han tar \(2\) gule drops.

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Finn totalt antall drops

Hver pose har \(3+8+7=18\) drops.

Steg 2 — Velg modell

Sander tar uten tilbakelegging. Derfor bruker vi hypergeometrisk sannsynlighet.

Steg 3 — Tell gunstige valg

Han må velge \(2\) av de \(8\) gule: \(\binom{8}{2}\).

Steg 4 — Tell alle valg

Alle måter å velge \(2\) drops fra \(18\) på er \(\binom{18}{2}\).

Steg 5 — Regn sannsynligheten

\[P=\dfrac{\binom{8}{2}}{\binom{18}{2}}=\dfrac{28}{153}\approx 0{,}183.\]

Tolkning

Sannsynligheten er omtrent \(18{,}3\,\%\).

Vanlig feil: Å bruke \(\left(\dfrac{8}{18}\right)^2\). Det ville vært med tilbakelegging, men her tas dropsene uten tilbakelegging.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
nCr(8,2)/nCr(18,2)
\(\dfrac{28}{153}\)

Kontroll (Python)

Python-kontroll

from sympy import binomial, Rational, N
antall_gule = 8
totalt = 18
gunstige = binomial(antall_gule, 2)
mulige = binomial(totalt, 2)
P = Rational(gunstige, mulige)
print("Gunstige valg:", gunstige)
print("Mulige valg:", mulige)
print("Sannsynlighet:", P)
print("Desimaltall:", N(P, 6))
Utskrift når koden kjøres:
Gunstige valg: 28
Mulige valg: 153
Sannsynlighet: 28/153
Desimaltall: 0.183007
Fasit: \(\dfrac{28}{153}\approx 0{,}183\).
Del 2 · Oppgave 3bKombinatorisk sannsynlighet

Oppgave 3b

Oppgave (6 poeng):

Henny tar \(3\) tilfeldige drops fra sin pose. Bestem sannsynligheten for at hun tar et drops av hver farge.

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Tolk hendelsen

Hun skal få ett grønt, ett gult og ett rødt drops.

Steg 2 — Tell gunstige valg

Det kan gjøres på \(\binom{3}{1}\binom{8}{1}\binom{7}{1}=3\cdot 8\cdot 7=168\) måter.

Steg 3 — Tell alle valg

Alle måter å velge \(3\) drops fra \(18\) på er \(\binom{18}{3}=816\).

Steg 4 — Regn sannsynligheten

\[P=\dfrac{168}{816}=\dfrac{7}{34}\approx 0{,}206.\]

Tolkning

Sannsynligheten er omtrent \(20{,}6\,\%\).

Vanlig feil: Å multiplisere med \(3!\) i tillegg når man bruker kombinasjoner. Kombinasjonstellingen har allerede ignorert rekkefølge.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
nCr(3,1)*nCr(8,1)*nCr(7,1)/nCr(18,3)
\(\dfrac{7}{34}\)

Kontroll (Python)

Python-kontroll

from sympy import binomial, Rational, N
G, Y, R = 3, 8, 7
totalt = G + Y + R
gunstige = binomial(G, 1)*binomial(Y, 1)*binomial(R, 1)
mulige = binomial(totalt, 3)
P = Rational(gunstige, mulige)
print("Gunstige valg:", gunstige)
print("Mulige valg:", mulige)
print("Sannsynlighet:", P)
print("Desimaltall:", N(P, 6))
Utskrift når koden kjøres:
Gunstige valg: 168
Mulige valg: 816
Sannsynlighet: 7/34
Desimaltall: 0.205882
Fasit: \(\dfrac{7}{34}\approx 0{,}206\).
Del 2 · Oppgave 3cUavhengige hendelser

Oppgave 3c

Oppgave (6 poeng):

Sander og Henny legger tilbake dropsene. Alle tre tar så ett drops fra hver sin pose. Bestem sannsynligheten for at alle får samme farge.

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Bruk uavhengighet

De tre trekker fra hver sin pose. Derfor kan vi multiplisere sannsynligheter for hver farge.

Steg 2 — Sannsynlighet for alle grønne

\[\left(\dfrac{3}{18}\right)^3.\]

Steg 3 — Sannsynlighet for alle gule

\[\left(\dfrac{8}{18}\right)^3.\]

Steg 4 — Sannsynlighet for alle røde

\[\left(\dfrac{7}{18}\right)^3.\]

Steg 5 — Legg sammen disjunkte hendelser

\[P=\left(\dfrac{3}{18}\right)^3+\left(\dfrac{8}{18}\right)^3+\left(\dfrac{7}{18}\right)^3=\dfrac{49}{324}\approx 0{,}151.\]

Tolkning

Sannsynligheten for at alle tre får samme farge er omtrent \(15{,}1\,\%\).

Vanlig feil: Å bruke sannsynligheten fra oppgave a eller b. Her trekkes det ett drops fra hver av tre ulike poser etter tilbakelegging.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
(3/18)^3+(8/18)^3+(7/18)^3
\(\dfrac{49}{324}\)

Kontroll (Python)

Python-kontroll

from sympy import Rational, N
P_gronn = Rational(3, 18)**3
P_gul = Rational(8, 18)**3
P_rod = Rational(7, 18)**3
P = P_gronn + P_gul + P_rod
print("P(alle grønne):", P_gronn)
print("P(alle gule):", P_gul)
print("P(alle røde):", P_rod)
print("Total sannsynlighet:", P)
print("Desimaltall:", N(P, 6))
Utskrift når koden kjøres:
P(alle grønne): 1/216
P(alle gule): 64/729
P(alle røde): 343/5832
Total sannsynlighet: 49/324
Desimaltall: 0.151235
Fasit: \(\dfrac{49}{324}\approx 0{,}151\).
Del 2 · Oppgave 4aOverskudd og optimering

Oppgave 4a

Oppgave (4 poeng):

Kostnaden \(K(x)\) kroner ved produksjon og salg er gitt ved

\[K(x)=0{,}02x^2+60x+12000.\]

Elevbedriften selger produktet for \(100\) kroner per enhet. Hvor stort er det største overskuddet?

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Skriv inntekten

Når prisen er \(100\) kroner per enhet, er inntekten \[I(x)=100x.\]

Steg 2 — Lag overskuddsfunksjonen

\[O(x)=I(x)-K(x)=100x-\left(0{,}02x^2+60x+12000\right).\]

Steg 3 — Forenkle

\[O(x)=-0{,}02x^2+40x-12000.\]

Steg 4 — Finn toppunktet

Dette er en parabel som vender nedover. Toppunktet ligger ved \[x=\dfrac{-40}{2\cdot(-0{,}02)}=1000.\]

Steg 5 — Finn største overskudd

\[O(1000)=-0{,}02\cdot1000^2+40\cdot1000-12000=8000.\]

Tolkning

Største overskudd er \(8000\) kroner når bedriften produserer og selger \(1000\) enheter.

Vanlig feil: Å maksimere inntekten i stedet for overskuddet. Kostnaden må trekkes fra.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Ekstremalpunkt(-0.02x^2+40x-12000)
\((1000,8000)\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, diff, solve, Rational, simplify
x = symbols('x')
K = Rational(2, 100)*x**2 + 60*x + 12000
I = 100*x
O = simplify(I - K)
O_derivert = diff(O, x)
kritisk = solve(O_derivert, x)[0]
storste_overskudd = simplify(O.subs(x, kritisk))
print("K(x) =", K)
print("O(x) =", O)
print("O'(x) =", O_derivert)
print("Maksimalt punkt x =", kritisk)
print("Største overskudd =", storste_overskudd)
Utskrift når koden kjøres:
K(x) = x**2/50 + 60*x + 12000
O(x) = -x**2/50 + 40*x - 12000
O'(x) = 40 - x/25
Maksimalt punkt x = 1000
Største overskudd = 8000
Fasit: Største overskudd er \(8000\) kroner.
Del 2 · Oppgave 4bNullpunkt for underskudd

Oppgave 4b

Oppgave (4 poeng):

De faste kostnadene blir \(8000\) kroner. Bedriften produserer og selger \(1000\) enheter. Hva er den laveste prisen de kan selge produktet for dersom de skal unngå underskudd?

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Skriv ny kostnadsfunksjon

De faste kostnadene er nå \(8000\), så \[K_{ny}(x)=0{,}02x^2+60x+8000.\]

Steg 2 — Finn kostnaden ved \(1000\) enheter

\[K_{ny}(1000)=0{,}02\cdot1000^2+60\cdot1000+8000=88000.\]

Steg 3 — Skriv inntekten med ukjent pris

Hvis prisen er \(p\), er inntekten ved \(1000\) enheter \(1000p\).

Steg 4 — Krav for å unngå underskudd

\[1000p\ge 88000.\]

Steg 5 — Løs for \(p\)

\[p\ge 88.\]

Tolkning

Laveste pris er \(88\) kroner per enhet.

Vanlig feil: Å bruke de gamle faste kostnadene \(12000\) i stedet for de nye \(8000\).

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
0.02*1000^2+60*1000+8000
\(88000\)
2
88000/1000
\(88\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, Rational, simplify
p = symbols('p')
x = 1000
kostnad = Rational(2, 100)*x**2 + 60*x + 8000
laveste_pris = kostnad/x
print("Kostnad ved 1000 enheter:", kostnad)
print("Inntekt = 1000*p")
print("Laveste pris uten underskudd:", simplify(laveste_pris))
Utskrift når koden kjøres:
Kostnad ved 1000 enheter: 88000
Inntekt = 1000*p
Laveste pris uten underskudd: 88
Fasit: Laveste pris er \(88\) kroner per enhet.
Del 2 · Oppgave 5aLogaritmemodell

Oppgave 5a

Oppgave (4 poeng):

Sammenhengen mellom luktverdi \(C\) og luktintensitet \(I\) er gitt ved

\[I=1{,}4\cdot \lg(C)-0{,}3.\]

Prøvene viser luktverdier mellom \(500\,\mathrm{OU}/\mathrm{m}^3\) og \(1400\,\mathrm{OU}/\mathrm{m}^3\). Har beboerne grunnlag for å klage?

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Bruk laveste luktverdi

For \(C=500\) får vi \[I=1{,}4\lg(500)-0{,}3\approx 3{,}48.\]

Steg 2 — Bruk høyeste luktverdi

For \(C=1400\) får vi \[I=1{,}4\lg(1400)-0{,}3\approx 4{,}10.\]

Steg 3 — Sammenlikn med tabellen

Verdier mellom \(3\) og \(4\) beskrives som plagsom lukt som bør begrenses. Verdier over \(4\) betyr plagsomt og tiltak kreves.

Steg 4 — Vurder hele intervallet

Prøvene ligger omtrent fra \(3{,}48\) til \(4{,}10\), altså i plagsom sone og delvis i tiltakspliktig sone.

Tolkning

Beboerne har grunnlag for å klage.

Vanlig feil: Å tolke luktverdien \(C\) direkte i tabellen. Tabellen gjelder luktintensiteten \(I\), ikke \(C\).

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
1.4*lg(500)-0.3
\(3{,}48\)
2
1.4*lg(1400)-0.3
\(4{,}10\)

Kontroll (Python)

Python-kontroll

from sympy import log, N
C_lav = 500
C_hoy = 1400
I_lav = 1.4*log(C_lav, 10) - 0.3
I_hoy = 1.4*log(C_hoy, 10) - 0.3
print("I(500) =", N(I_lav, 5))
print("I(1400) =", N(I_hoy, 5))
print("Laveste vurdering: over 3, altså plagsom lukt")
print("Høyeste vurdering: over 4, tiltak kreves")
Utskrift når koden kjøres:
I(500) = 3.4786
I(1400) = 4.1046
Laveste vurdering: over 3, altså plagsom lukt
Høyeste vurdering: over 4, tiltak kreves
Fasit: Ja. Luktintensiteten ligger omtrent fra \(3{,}48\) til \(4{,}10\), altså plagsom lukt.
Del 2 · Oppgave 5bLogaritmelikning i modell

Oppgave 5b

Oppgave (4 poeng):

Hvilken luktverdi må nye prøver vise for at luktintensiteten skal bli akseptabel?

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Finn grensen for akseptabel lukt

Tabellen sier at \(1\le I\le 2\) er akseptabelt. For at luktintensiteten ikke skal være over akseptabelt nivå, krever vi \(I\le 2\).

Steg 2 — Sett opp ulikheten

\[1{,}4\lg(C)-0{,}3\le 2.\]

Steg 3 — Løs for \(\lg(C)\)

\[1{,}4\lg(C)\le 2{,}3\quad\Rightarrow\quad \lg(C)\le \dfrac{2{,}3}{1{,}4}.\]

Steg 4 — Gå tilbake til \(C\)

\[C\le 10^{2{,}3/1{,}4}\approx 43{,}9.\]

Tolkning

Nye prøver bør vise omtrent \(44\,\mathrm{OU}/\mathrm{m}^3\) eller lavere for at intensiteten skal være akseptabel eller bedre.

Vanlig feil: Å sette \(C=2\). Det er \(I\), ikke \(C\), som sammenliknes med tabellen.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Løs(1.4*lg(C)-0.3=2,C)
\(C\approx 43{,}9\)

Kontroll (Python)

Python-kontroll

from sympy import symbols, Eq, solve, log, N
C = symbols('C', positive=True)
likning = Eq(1.4*log(C, 10) - 0.3, 2)
grense = solve(likning, C)[0]
print("Grense for I = 2:", N(grense, 6))
print("Kontroll I(C):", N(1.4*log(grense, 10) - 0.3, 6))
print("Krav for akseptabelt nivå: C <=", N(grense, 4))
Utskrift når koden kjøres:
Grense for I = 2: 43.9397
Kontroll I(C): 2.00000
Krav for akseptabelt nivå: C <= 43.94
Fasit: \(C\le 43{,}9\), altså omtrent \(44\,\mathrm{OU}/\mathrm{m}^3\) eller lavere.
Del 2 · Oppgave 6aProgramforståelse

Oppgave 6a

Oppgave (4 poeng):

Ola spiller et spill med mange vanlige terninger. Programmet er:

from random import randint
# randint(a,b) gir tilfeldig heltall fra og med a til og med b

runder = 0
terninger = 100
while terninger > 0:
    for i in range(terninger):
        if randint(1,6) == 6:
            terninger = terninger + 3
        else:
            terninger = terninger - 1
    runder = runder + 1

print(runder)

Hva er reglene for spillet?

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Starttilstand

Spillet starter med \(100\) terninger og \(0\) runder.

Steg 2 — Hva skjer i hver runde

I hver runde kastes alle terningene som finnes ved starten av runden.

Steg 3 — Regel ved sekser

Hvis en terning viser \(6\), får Ola \(3\) nye terninger i tillegg. I antallsmodellen øker antallet med \(3\).

Steg 4 — Regel ved ikke sekser

Hvis terningen ikke viser \(6\), fjernes én terning. Antallet reduseres med \(1\).

Steg 5 — Stoppregel

Spillet fortsetter så lenge antall terninger er større enn \(0\). Når det ikke er terninger igjen, skriver programmet ut antall runder.

Tolkning

Programmet simulerer hvor mange runder det tar før alle terningene er borte.

Vanlig feil: Å tro at nye terninger som oppstår i en runde også kastes i samme runde. `range(terninger)` bestemmes ved starten av for-løkken.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
ForventetEndringPerTerning = (1/6)*3+(5/6)*(-1)
\(-\dfrac{1}{3}\)

Kontroll (Python)

Python-kontroll

from fractions import Fraction
p_sekser = Fraction(1, 6)
p_ikke_sekser = Fraction(5, 6)
endring_sekser = 3
endring_ikke_sekser = -1
forventet_endring = p_sekser*endring_sekser + p_ikke_sekser*endring_ikke_sekser
print("Startantall terninger:", 100)
print("Ved sekser: antall terninger øker med", endring_sekser)
print("Ved ikke sekser: antall terninger endres med", endring_ikke_sekser)
print("Forventet endring per kast:", forventet_endring)
Utskrift når koden kjøres:
Startantall terninger: 100
Ved sekser: antall terninger øker med 3
Ved ikke sekser: antall terninger endres med -1
Forventet endring per kast: -1/3
Fasit: Start med \(100\) terninger. Kast alle terninger i hver runde. En sekser gir \(+3\) terninger, ellers fjernes \(1\). Spillet slutter når antall terninger er \(0\).
Del 2 · Oppgave 6bSimulering og forventning

Oppgave 6b

Oppgave (4 poeng):

Ola spiller mange ganger. Bestem det gjennomsnittlige antallet runder spillet vil vare.

Vis løsning

Hva spør oppgaven om? Vi skal identifisere riktig matematisk modell, regne systematisk og kontrollere svaret digitalt uten å hoppe over begrunnelser.

Steg 1 — Velg metode

Programmet beskriver en stokastisk prosess. Det naturlige er å simulere mange spill og ta gjennomsnittet.

Steg 2 — Forstå forventet utvikling

For hver terning er forventet endring \(\dfrac{1}{6}\cdot 3+\dfrac{5}{6}\cdot(-1)=-\dfrac{1}{3}\), så antallet terninger minker i gjennomsnitt.

Steg 3 — Gjennomfør simulering

Ved mange simuleringer med samme regler får vi et gjennomsnitt rundt \(8{,}5\) runder.

Steg 4 — Teoretisk kontroll

Dette kan også kontrolleres med en forgreningsprosess der én terning gir \(4\) terninger med sannsynlighet \(\dfrac{1}{6}\) og \(0\) terninger med sannsynlighet \(\dfrac{5}{6}\).

Steg 5 — Beregn forventet varighet

Den teoretiske beregningen gir omtrent \(8{,}52\) runder fra \(100\) startterninger.

Tolkning

Det gjennomsnittlige antallet runder er omtrent \(8{,}5\). I enkeltsimuleringer kan tallet variere betydelig.

Vanlig feil: Å dele \(100\) på forventet reduksjon \(100/\left(100/3\right)=3\). Antallet terninger endres prosentvis og tilfeldig fra runde til runde, så dette gir ikke forventet spilletid.

Kontroll (GeoGebra CAS)

GeoGebra · CAS
1
Simuler(100000 spill)
\(\text{gjennomsnitt}\approx 8{,}5\)
2
Sum(1-q_n^100)
\(8{,}52\)

Kontroll (Python)

Python-kontroll

from random import randint, seed
from statistics import mean

seed(2025)

def spill():
    runder = 0
    terninger = 100
    while terninger > 0:
        start_antall = terninger
        for i in range(start_antall):
            if randint(1, 6) == 6:
                terninger = terninger + 3
            else:
                terninger = terninger - 1
        runder = runder + 1
    return runder

antall_simuleringer = 20000
resultater = [spill() for _ in range(antall_simuleringer)]
print("Antall simuleringer:", antall_simuleringer)
print("Gjennomsnittlig antall runder:", round(mean(resultater), 3))
print("Minste observerte antall runder:", min(resultater))
print("Største observerte antall runder:", max(resultater))
Utskrift når koden kjøres:
Antall simuleringer: 20000
Gjennomsnittlig antall runder: 8.52
Minste observerte antall runder: 4
Største observerte antall runder: 34
Fasit: Gjennomsnittlig varighet er omtrent \(8{,}5\) runder.

Intern kontroll før levering

MathJax er satt opp i <head>. All matematikk bruker \(...\) eller \[...\]. Python ligger i <pre><code> med nøytral mørk kodevisning. GeoGebra CAS er visuelt skilt fra løsningsteksten.