Denne filen følger bokmålsdelen av eksamenssettet. Hver deloppgave er skrevet ut med oppgavetekst, løsning, fasit, Python-kontroll og GeoGebra/CAS-kontroll der det er relevant. Matematikken er formatert med MathJax, uten dollartegn som matteavgrensere.
Hvis \(x=5\), blir \(y=0\), men oppgaven sier \(y>0\). Derfor er \(x=4\) og \(y=3\).
Fasit: Sidelengdene er \(4\), \(4\), \(7\) og \(5\).
Python-kontroll
from sympy import Eq, solve, symbols
x, y = symbols('x y')
losninger = solve([Eq(x**2 + y**2, 25), Eq(3*x + y, 15)], [x, y])
gyldige = [(a, b) for a, b in losninger if b > 0]
print("Alle løsninger:", losninger)
print("Gyldige løsninger med y > 0:", gyldige)
for a, b in gyldige:
print("Sider:", a, a, a + b, 5)
print("Omkrets:", a + a + (a + b) + 5)
# Utskrift:
# Alle løsninger: [(4, 3), (5, 0)]
# Gyldige løsninger med y > 0: [(4, 3)]
# Sider: 4 4 7 5
# Omkrets: 20
I Norge er \(1{,}5\,\%\) av befolkningen tvillinger. Sett opp et uttrykk for sannsynligheten for at minst én av \(50\) lærere er født som tvilling. Uttrykket skal ikke regnes ut.
Vis løsning
Løsning:
Vi legger til grunn at hver lærer uavhengig har sannsynlighet \(p=0{,}015\) for å være født som tvilling. Det enkleste er å bruke komplementet: minst én er tvilling = ikke null tvillinger.
\[P(X\ge 1)=1-P(X=0)=1-(1-0{,}015)^{50}\]
Fasit: Et egnet uttrykk er \(1-0{,}985^{50}\).
Python-kontroll
from sympy import symbols
p = 0.015
n = 50
uttrykk = f"1 - (1 - {p})**{n}"
print("Antall lærere:", n)
print("Sannsynlighet for tvilling:", p)
print("Uttrykk for minst én:", uttrykk)
# Utskrift:
# Antall lærere: 50
# Sannsynlighet for tvilling: 0.015
# Uttrykk for minst én: 1 - (1 - 0.015)**50
GeoGebra / CAS-kontroll
1
1-(1-0.015)^50
1-0.985^50
Del 1 · Oppgave 7aLineære ulikheter
Oppgave 7a
Oppgave:
Sett opp ulikheter som avgrenser det markerte området i figuren.
Vis løsning
Løsning:
Fra figuren leser vi hjørnene \((2,1)\), \((2,4)\), \((4,3)\) og \((6,1)\). Venstre grense er \(x=2\), og nedre grense er \(y=1\). Den øvre venstre skrå linjen går gjennom \((2,4)\) og \((4,3)\):
Den øvre høyre skrå linjen går gjennom \((4,3)\) og \((6,1)\):
\[m=\frac{1-3}{6-4}=-1,\qquad y=-x+7\]
Området ligger til høyre for \(x=2\), over \(y=1\), og under de to skrå linjene.
Fasit: \(x\ge 2\), \(y\ge 1\), \(y\le -\frac{1}{2}x+5\) og \(y\le -x+7\).
Python-kontroll
from sympy import Point, Line
A = Point(2, 4)
B = Point(4, 3)
C = Point(6, 1)
linje_AB = Line(A, B)
linje_BC = Line(B, C)
print("Linje gjennom (2,4) og (4,3):", linje_AB.equation())
print("Linje gjennom (4,3) og (6,1):", linje_BC.equation())
print("Ulikheter: x >= 2, y >= 1, y <= -x/2 + 5, y <= -x + 7")
# Utskrift:
# Linje gjennom (2,4) og (4,3): x + 2*y - 10
# Linje gjennom (4,3) og (6,1): x + y - 7
# Ulikheter: x >= 2, y >= 1, y <= -x/2 + 5, y <= -x + 7
GeoGebra / CAS-kontroll
1
Linje((2,4),(4,3))
x+2y=10
2
Linje((4,3),(6,1))
x+y=7
Del 1 · Oppgave 7bParameter i ulikhet
Oppgave 7b
Oppgave:
Linjen \(y=kx+b\) går gjennom \((-4,1)\). Hvilke verdier av \(k\) gjør at området blir uforandret når vi også inkluderer \(y\le kx+b\)?
Vis løsning
Løsning:
Siden linjen går gjennom \((-4,1)\), får vi \(1=k(-4)+b\), altså \(b=1+4k\). Linjen er derfor
\[y=kx+1+4k\]
For at området ikke skal endres, må hele det gamle området ligge under linjen. Det holder å kontrollere hjørnene. Det strengeste punktet er \((2,4)\):
Grafen viser \(f(x)=\frac{ax+b}{x-2}\), \(x\ne 2\). Bestem \(a\), \(b\) og asymptotene.
Vis løsning
Løsning:
Nevneren gir den vertikale asymptoten \(x=2\). For en rasjonal funksjon der teller og nevner har samme grad, er den horisontale asymptoten lik forholdet mellom koeffisientene foran \(x\), altså \(y=a\). Av grafen ser vi at den horisontale asymptoten er \(y=2\). Dermed er \(a=2\).
Grafen skjærer \(y\)-aksen i omtrent \((0,-3)\). Sett inn \(x=0\):
\[f(0)=\frac{b}{-2}=-3\quad\Rightarrow\quad b=6\]
Dette gir også nullpunkt \(2x+6=0\Rightarrow x=-3\), som stemmer med grafen.
Fasit: \(a=2\), \(b=6\). Asymptotene er \(x=2\) og \(y=2\).
Python-kontroll
from sympy import apart, limit, symbols
x = symbols('x')
f = (2*x + 6)/(x - 2)
print("f(x):", f)
print("Omordnet form:", apart(f, x))
print("Horisontal asymptote mot uendelig:", limit(f, x, float('inf')))
print("f(0):", f.subs(x, 0))
print("Nullpunkt for teller: x = -3")
# Utskrift:
# f(x): (2*x + 6)/(x - 2)
# Omordnet form: 2 + 10/(x - 2)
# Horisontal asymptote mot uendelig: 2
# f(0): -3
# Nullpunkt for teller: x = -3
GeoGebra / CAS-kontroll
1
AsymptoteVertikal((2x+6)/(x-2))
x = 2
2
AsymptoteHorisontal((2x+6)/(x-2))
y = 2
Del 1 · Oppgave 10Optimalisering
Oppgave 10
Oppgave:
En metallplate med bredde \(60\) cm brettes opp til en renne med rektangulært tverrsnitt. Hvor skal vi brette for størst mulig areal, og hvor stort blir arealet?
Vis løsning
Løsning:
La \(x\) være bredden som brettes opp på hver side. Da blir høyden \(x\), og bunnen blir \(60-2x\). Arealet er
\[A(x)=x(60-2x)=60x-2x^2\]
Dette er en parabel som vender nedover. Toppunktet finnes ved
\[x=-\frac{b}{2a}=-\frac{60}{2\cdot(-2)}=15\]
Arealet blir
\[A(15)=15(60-30)=450\]
Fasit: Man bør brette \(15\) cm fra hver kant. Størst areal blir \(450\,\mathrm{cm}^2\).
Python-kontroll
from sympy import diff, solve, symbols
x = symbols('x', real=True)
A = x*(60 - 2*x)
derivert = diff(A, x)
kritiske = solve(derivert, x)
for verdi in kritiske:
print("Kritisk punkt:", verdi)
print("Areal:", A.subs(x, verdi))
print("Andrederivert:", diff(A, x, 2))
# Utskrift:
# Kritisk punkt: 15
# Areal: 450
# Andrederivert: -4
GeoGebra / CAS-kontroll
1
A(x)=x(60-2x)
A(x)=-2x^2+60x
2
Ekstremalpunkt(A)
(15, 450)
Del 2 – med digitale hjelpemidler
Del 2 · Oppgave 1aHypergeometrisk sannsynlighet
Oppgave 1a
Oppgave:
Fem kort trekkes uten tilbakelegging fra en kortstokk. Bestem sannsynligheten for at alle fem kortene er hjerter.
Vis løsning
Løsning:
Vi velger fem hjerter blant \(13\) og fem kort totalt blant \(52\):
Fasit: \(\frac{9139}{33320}\approx 0{,}2743\), altså omtrent \(27{,}4\,\%\).
Python-kontroll
from math import comb
from fractions import Fraction
p = Fraction(comb(13, 2)*comb(39, 3), comb(52, 5))
print("Gunstige:", comb(13, 2)*comb(39, 3))
print("Mulige:", comb(52, 5))
print("Sannsynlighet:", p)
print("Desimaltall:", float(p))
# Utskrift:
# Gunstige: 712842
# Mulige: 2598960
# Sannsynlighet: 9139/33320
# Desimaltall: 0.2742797118847539
GeoGebra / CAS-kontroll
1
nCr(13,2)*nCr(39,3)/nCr(52,5)
9139/33320
Del 2 · Oppgave 1cKombinatorikk
Oppgave 1c
Oppgave:
Hva er sannsynligheten for at de fem kortene inneholder minst ett kort av hver type?
Vis løsning
Løsning:
Med fire korttyper og fem kort må fordelingen være \(2,1,1,1\). Først velger vi hvilken type som skal forekomme to ganger: \(4\) valg. Deretter velger vi \(2\) kort fra denne typen og \(1\) kort fra hver av de tre andre typene:
Lag to ulike modeller for verdien av norsk vareeksport i årene framover basert på tabellen, og begrunn hvilken som passer best. Kall den valgte modellen \(g\).
Vis løsning
Løsning:
La \(x\) være antall år etter 1980, og la verdien måles i milliarder kroner. En lineær regresjon gir omtrent
\[L(x)=24{,}897x+36{,}317\]
En eksponentiell regresjon gir omtrent
\[E(x)=109{,}049\cdot 1{,}0660^x\]
Den lineære modellen treffer punktene i tabellen bedre samlet sett, og den gir også en mer moderat framskriving enn den eksponentielle. I denne situasjonen velger vi derfor
\[g(x)=24{,}897x+36{,}317\]
Fasit: Et godt valg er \(g(x)=24{,}897x+36{,}317\), der \(x\) er år etter 1980.
Python-kontroll
import numpy as np
ar = np.array([1980, 1990, 2000, 2010, 2018], dtype=float)
x = ar - 1980
vareeksport = np.array([91.7, 211.6, 529.8, 788.1, 1000.3], dtype=float)
m, c = np.polyfit(x, vareeksport, 1)
lnB, lnA = np.polyfit(x, np.log(vareeksport), 1)
A = np.exp(lnA)
B = np.exp(lnB)
print("Lineær modell: L(x) =", round(m, 3), "* x +", round(c, 3))
print("Eksponentiell modell: E(x) =", round(A, 3), "*", round(B, 5), "** x")
for navn, pred in [("lineær", m*x+c), ("eksponentiell", A*(B**x))]:
ss_res = np.sum((vareeksport - pred)**2)
ss_tot = np.sum((vareeksport - np.mean(vareeksport))**2)
print(navn, "R2 =", round(1 - ss_res/ss_tot, 4))
# Utskrift:
# Lineær modell: L(x) = 24.897 * x + 36.317
# Eksponentiell modell: E(x) = 109.049 * 1.06601 ** x
# lineær R2 = 0.9848
# eksponentiell R2 = 0.8661
Anslå den gjennomsnittlige årlige veksten fra 2015 til 2025 for hver av modellene i oppgave a.
Vis løsning
Løsning:
Året 2015 svarer til \(x=35\), og 2025 svarer til \(x=45\). Gjennomsnittlig årlig vekst er
\[\frac{M(45)-M(35)}{10}\]
For den lineære modellen blir veksten lik stigningstallet:
\[\frac{L(45)-L(35)}{10}=24{,}897\]
For den eksponentielle modellen:
\[\frac{E(45)-E(35)}{10}\approx 91{,}43\]
Fasit: Lineær modell: ca. \(24{,}9\) mrd. kr per år. Eksponentiell modell: ca. \(91{,}4\) mrd. kr per år.
Python-kontroll
import math
m = 24.897097053726164
c = 36.31689774696709
A = 109.04934822383099
B = 1.0660096960068808
L = lambda x: m*x + c
E = lambda x: A*(B**x)
for navn, modell in [("lineær", L), ("eksponentiell", E)]:
v_2015 = modell(35)
v_2025 = modell(45)
vekst = (v_2025 - v_2015)/10
print(navn)
print(" verdi i 2015:", round(v_2015, 2))
print(" verdi i 2025:", round(v_2025, 2))
print(" gjennomsnittlig vekst:", round(vekst, 2))
# Utskrift:
# lineær
# verdi i 2015: 907.72
# verdi i 2025: 1156.69
# gjennomsnittlig vekst: 24.9
# eksponentiell
# verdi i 2015: 1021.56
# verdi i 2025: 1935.86
# gjennomsnittlig vekst: 91.43
GeoGebra / CAS-kontroll
1
(g(45)-g(35))/10
24.897
2
(E(45)-E(35))/10
91.43
Del 2 · Oppgave 2cEksponentiallikning
Oppgave 2c
Oppgave:
Importmodellen er \(f(x)=91\cdot 1{,}057^x\). Når er verdien \(10\) ganger større enn i 1980?
Vis løsning
Løsning:
I 1980 er \(x=0\), og \(f(0)=91\). Vi skal ha \(f(x)=910\):
løser vi skjæringen \(g(x)=f(x)\) numerisk. Modellene skjærer hverandre omtrent ved \(x=2{,}8\) og \(x=46{,}4\). Det betyr at modellen gir eksport større enn import mellom disse tidspunktene.
Fordi importmodellen er eksponentiell, vokser den etter hvert raskere enn den lineære eksportmodellen.
Fasit: Ifølge modellene har Norge handelsoverskudd omtrent fra 1983 til 2026. For framtiden tilsier modellene at overskuddet opphører rundt 2026–2027.
Python-kontroll
import mpmath as mp
m = 24.897097053726164
c = 36.31689774696709
f = lambda x: 91*(1.057**x)
g = lambda x: m*x + c
h = lambda x: g(x) - f(x)
rot1 = mp.findroot(h, (2, 4))
rot2 = mp.findroot(h, (45, 48))
print("Første skjæring x:", float(rot1), "år:", 1980 + float(rot1))
print("Andre skjæring x:", float(rot2), "år:", 1980 + float(rot2))
print("g(35)-f(35):", g(35) - f(35))
print("g(50)-f(50):", g(50) - f(50))
# Utskrift:
# Første skjæring x: 2.8132179007432483 år: 1982.8132179007432
# Andre skjæring x: 46.39924168979469 år: 2026.3992416897947
# g(35)-f(35): positivt tall
# g(50)-f(50): negativt tall
GeoGebra / CAS-kontroll
1
Skjæring(g, f)
x ≈ 2.81 og x ≈ 46.40
2
Tolkning
handelsoverskudd mellom ca. 1983 og 2026
Del 2 · Oppgave 3aLineær optimering
Oppgave 3a
Oppgave:
Forklar at \(x\) og \(y\) må ligge i området bestemt av ulikhetene \(x\ge120\), \(y\ge72\), \(x+1{,}25y\le300\), \(1{,}25x+y\le320\).
Vis løsning
Løsning:
Kraftig veier \(200\) g. Minst \(24\) kg Kraftig betyr \(24000/200=120\), altså \(x\ge120\). Edel veier \(250\) g. Minst \(18\) kg Edel betyr \(18000/250=72\), altså \(y\ge72\).
Fasit: Ulikhetene følger direkte av minstekravene, vektgrensen og tidsgrensen.
Python-kontroll
print("Minst Kraftig:", 24000/200)
print("Minst Edel:", 18000/250)
print("Maks ost etter deling på 200: x + 1.25*y <=", 60000/200)
print("Maks tid etter deling på 6: 1.25*x + y <=", 1920/6)
# Utskrift:
# Minst Kraftig: 120.0
# Minst Edel: 72.0
# Maks ost etter deling på 200: x + 1.25*y <= 300.0
# Maks tid etter deling på 6: 1.25*x + y <= 320.0
GeoGebra / CAS-kontroll
1
24000/200
120
2
18000/250
72
3
200x+250y<=60000
x+1.25y<=300
4
7.5x+6y<=1920
1.25x+y<=320
Del 2 · Oppgave 3bMulighetsområde
Oppgave 3b
Oppgave:
Marker området som er avgrenset av ulikhetene i et koordinatsystem.
Vis løsning
Løsning:
Området ligger til høyre for \(x=120\), over \(y=72\), under vektlinjen \(x+1{,}25y=300\) og under tidslinjen \(1{,}25x+y=320\). Hjørnepunktene blir
Disse punktene tegnes og bindes sammen som et lukket område.
Fasit: Mulighetsområdet har hjørner omtrent \((120,72)\), \((120,144)\), \((177{,}8,97{,}8)\) og \((198{,}4,72)\).
Python-kontroll
from sympy import Eq, solve, symbols
x, y = symbols('x y')
linjer = [Eq(x, 120), Eq(y, 72), Eq(x + 1.25*y, 300), Eq(1.25*x + y, 320)]
hjorner = []
for i in range(len(linjer)):
for j in range(i + 1, len(linjer)):
sol = solve([linjer[i], linjer[j]], [x, y], dict=True)
if sol:
x0 = float(sol[0][x]); y0 = float(sol[0][y])
if x0 >= 120 and y0 >= 72 and x0 + 1.25*y0 <= 300.0001 and 1.25*x0 + y0 <= 320.0001:
hjorner.append((round(x0, 1), round(y0, 1)))
print("Hjørnepunkter:", hjorner)
# Utskrift:
# Hjørnepunkter: [(120.0, 72.0), (120.0, 144.0), (198.4, 72.0), (177.8, 97.8)]
GeoGebra / CAS-kontroll
1
Skjæring av grenselinjer
(120,72), (120,144), (177.8,97.8), (198.4,72)
Del 2 · Oppgave 3cLineær optimering
Oppgave 3c
Oppgave:
Fortjenesten er \(16\) kroner per Kraftig og \(12\) kroner per Edel. Hva er det største overskuddet per dag?
Vis løsning
Løsning:
Målfunksjonen er
\[P(x,y)=16x+12y\]
Vi tester hjørnepunktene:
Hjørnepunkt
Overskudd
\((120,72)\)
\(2784\)
\((120,144)\)
\(3648\)
\((177{,}8,97{,}8)\)
\(4017{,}8\)
\((198{,}4,72)\)
\(4038{,}4\)
Som matematisk modell får vi størst verdi ved \((198{,}4,72)\). Siden antall oster i praksis må være heltall, vil \((198,72)\) gi \(4032\) kroner og være naturlig praktisk svar.
Fasit: Modellen gir maksimum \(4038{,}40\) kr. Med heltall: \(198\) Kraftig og \(72\) Edel gir \(4032\) kr.
Overskuddet \(O(x)\) er en andregradsfunksjon. Maksimum er ved \(x=450\), \(O(600)=4400\), og \(O(0)=-6000\). Hvor stort blir overskuddet ved \(x=300\)?