Forkurseksamen etter tema
Øv på ett tema om gangen med oppgavene fra forkurseksamenene i matematikk. Velg tema, så henter vi oppgavene fra alle settene vi har lagt ut. Prøv selv først – løsningen ligger under oppgaven når du står fast.
programmering
Velger du flere tema, får du oppgavene som har alle sammen.
6 oppgaver om programmering
- Samme tema på R1-eksamen (12 oppgaver)
Oppgavene
Oppgave 7
3 poeng
Vi vil bruke Python til å finne et estimat for
Vi skriver programmet vist under. Python-funksjonen representerer uttrykket som skal integreres. Variabelen representerer estimatet for det bestemte integralet.
Linje 1 kan erstattes med:
Oppgave 7a)
Hva skal stå på linjene 3 og 8?
Vis løsningSkjul løsning på oppgave 7a
Svar
Linje 3 og linje 8 blir:
Programmet regner ut en Riemann-sum: arealet av fire firkanter under grafen. Linje 3 er selve funksjonen, og linje 8 legger til én firkant om gangen.
1. Skriv funksjonen på linje 3
Funksjonen skal returnere uttrykket som integreres:
\[ f(x) = \dfrac{x}{\sqrt{x^2 + 4}} \]
På Python skrives det slik, med \( \texttt{sqrt} \) fra linje 1 og \( x^2 \) som \( \texttt{x*x}\text{:} \)
\[ \texttt{return x/sqrt(x*x + 4)} \]
2. Skriv summen på linje 8
Arealet av en firkant er bredde ganget med høyde, som i videoen Riemann sum. Her er bredden \( \textcolor{blue}{\texttt{dx}} \) og høyden funksjonsverdien i venstre kant, \( \textcolor{red}{\texttt{f(x0)}}\text{:} \)
\[ \text{areal} = \textcolor{red}{f(x_0)} \cdot \textcolor{blue}{\Delta x} \]
Vi legger arealet til summen \( s\text{:} \)
\[ \texttt{s = s + }\textcolor{red}{\texttt{f(x0)}}\texttt{*}\textcolor{blue}{\texttt{dx}} \]
Oppgave 7b)
Vis ved regning at den eksakte løsningen på integralet er
Vis løsningSkjul løsning på oppgave 7b
Svar
Vi ser at \( x \) i telleren nesten er den deriverte av det som står under roten. Vi bruker derfor substitusjon med \( {u = x^2 + 4}\text{.} \)
1. Velg u
Vi setter det som står under roten lik \( \textcolor{green}{u}\text{,} \) som i videoen Substitusjon:
\[ \begin{aligned} \textcolor{green}{u} &= \textcolor{green}{x^2 + 4} \\ \dfrac{du}{dx} &= 2x \\ x\,dx &= \dfrac{1}{2}\,du \end{aligned} \]
2. Integrer med hensyn på u
Plugger vi dette inn, får vi:
\[ \begin{aligned} \int \dfrac{x}{\sqrt{x^2 + 4}}\,dx &= \int \dfrac{1}{\sqrt{\textcolor{green}{u}}} \cdot \dfrac{1}{2}\,du \\ &= \dfrac{1}{2}\int \textcolor{green}{u}^{-\tfrac{1}{2}}\,du \\ &= \dfrac{1}{2} \cdot 2\textcolor{green}{u}^{\tfrac{1}{2}} + C \\ &= \sqrt{\textcolor{green}{x^2 + 4}} + C \end{aligned} \]
3. Sett inn grensene
Vi bruker den antideriverte fra \( 0 \) til \( 2\text{:} \)
\[ \begin{aligned} \int_0^2 \dfrac{x}{\sqrt{x^2 + 4}}\,dx &= \left[\sqrt{x^2 + 4}\right]_0^2 \\ &= \sqrt{8} - \sqrt{4} \\ &= 2\sqrt{2} - 2 \end{aligned} \]
Oppgave 7c)
Hvis vi hadde kjørt koden, ville vi sett at estimatet den gir for integralet stemmer dårlig med det vi fant i b). Gi en mulig forklaring til hvorfor.
Foreslå endringer i koden på linje 6 og 7 som gir et bedre estimat.
Vis løsningSkjul løsning på oppgave 7c
Svar
Firkantene er for få og for brede, og de ligger under grafen. Bedre er:
Selv om du ikke fikk til b), kan du løse denne: den eksakte verdien står i oppgaveteksten i b).
Koden bruker bare fire brede firkanter. Med smalere og flere firkanter kommer vi nærmere arealet under grafen.
1. Forklar hvorfor estimatet er dårlig
Koden regner ut venstre Riemann-sum med fire firkanter som er \( \textcolor{blue}{0{,}5} \) brede, med høyden \( \textcolor{red}{f(x_0)} \) i venstre kant. Avrundet til tre desimaler får vi:
\[ \begin{aligned} s = \ &\textcolor{blue}{0{,}5} \cdot (\textcolor{red}{f(0)} + \textcolor{red}{f(0{,}5)} \\ &+ \textcolor{red}{f(1)} + \textcolor{red}{f(1{,}5)}) \\ \approx \ &\textcolor{blue}{0{,}5} \cdot (\textcolor{red}{0} + \textcolor{red}{0{,}243} \\ &+ \textcolor{red}{0{,}447} + \textcolor{red}{0{,}6}) \\ \approx \ &0{,}645 \end{aligned} \]
Den eksakte verdien fra b) er, avrundet til tre desimaler:
\[ 2\sqrt{2} - 2 \approx 0{,}828 \]
Grafen stiger hele veien fra \( 0 \) til \( 2\text{.} \) Høyden tas i venstre kant, så firkantene ligger under grafen og gir for lite areal, som i videoen Riemann sum. Med så brede firkanter blir feilen stor.
2. Velg smalere firkanter
Bredden ganget med antallet må fortsatt bli lengden av intervallet, \( 2\text{:} \)
\[ \textcolor{blue}{\Delta x} \cdot n = 2 \]
Velger vi \( {\textcolor{blue}{\Delta x} = \textcolor{blue}{0{,}01}}\text{,} \) får vi:
\[ n = \dfrac{2}{\textcolor{blue}{0{,}01}} = 200 \]Andre valg er også riktige, så lenge produktet er \( 2\text{.} \)
Linje 6 og 7 blir da:
\[ \begin{aligned} &\texttt{dx = 1/100} \\ &\texttt{for i in range(200):} \end{aligned} \]
Oppgave 7
2 poeng
- Flere oppgaver om modellering,
- Flere oppgaver om programmering,
- Flere oppgaver om trigonometriske funksjoner
En meteorolog har modellert temperaturen i °C en junidag i Bergen i et Python-program. Programmet skriver ut ulike temperaturer timer etter midnatt.
Funksjonen round(a,n) runder av tallet a til n desimaler.
Linje 1 kan erstattes med: from pylab import *
Oppgave 7a)
Skriv opp det trigonometriske funksjonsuttrykket programmet bruker. Hva er maksimums- og minimumstemperaturen i Bergen i løpet av dette døgnet, ifølge modellen?
Vis løsningSkjul løsning på oppgave 7a
Svar
Programmet bruker funksjonen og temperaturene er:
Uttrykket står i linje 3. Temperaturen er størst og minst der \( \cos \) er henholdsvis \( {-1} \) og \( 1\text{,} \) fordi den trekkes fra.
1. Les av uttrykket
Linje 2 og 3 definerer funksjonen. I koden står \( \texttt{pi} \) for \( \pi\text{,} \) og \( \texttt{*} \) betyr gange:
\[ T(t) = 16 - 8\cos\left(\dfrac{\pi t}{12}\right) \]
2. Finn største og minste verdi
Verdiene til cosinus ligger mellom \( {-1} \) og \( 1\text{,} \) som tabellen i videoen Introduksjon til Trigonometri viser:
\[ -1 \leq \cos\left(\dfrac{\pi t}{12}\right) \leq 1 \]
Gjennom døgnet går \( t \) fra \( 0 \) til \( 24\text{,} \) så \( \dfrac{\pi t}{12} \) går fra \( 0 \) til \( 2\pi\text{.} \) Da får cosinus både verdien \( 1 \) og verdien \( {-1}\text{.} \)
Med \( {\cos = \textcolor{blue}{-1}} \) får vi den høyeste temperaturen, ved \( {t = 12}\text{:} \)
\[ T_{\text{maks}} = 16 - 8 \cdot (\textcolor{blue}{-1}) = 24 \]
Med \( {\cos = \textcolor{red}{1}} \) får vi den laveste temperaturen, ved \( {t = 0} \) og \( {t = 24}\text{:} \)
\[ T_{\text{min}} = 16 - 8 \cdot \textcolor{red}{1} = 8 \]
Oppgave 7b)
Hvor mange ganger vil while-løkken kjøres? Begrunn svaret.
Vis løsningSkjul løsning på oppgave 7b
Svar
Rundene bruker siden stopper løkken:
Vi tenker som datamaskinen, slik videoen Oppgave 6 - Del 1 - 1T Eksamen Høst 2025 gjør. Løkken stopper første gang \( \texttt{verdi} \) er minst \( 20\text{.} \)
1. Se hva løkken gjør
Linje 6 sjekker om \( {\texttt{verdi} < 20} \) før hver runde. Først er \( {\texttt{verdi} = 0} \) og \( {\texttt{t1} = 0}\text{.} \)
I hver runde regner linje 7 ut \( T(\texttt{t1})\text{,} \) og linje 9 øker \( \texttt{t1} \) med \( 1\text{.} \) Runde nummer én bruker altså \( {t = 0}\text{,} \) runde to \( {t = 1}\text{,} \) og så videre.
2. Finn når temperaturen når 20
Vi løser \( {T(t) = 20}\text{:} \)
\[ \begin{aligned} 16 - 8\cos\left(\dfrac{\pi t}{12}\right) &= 20 \\ \cos\left(\dfrac{\pi t}{12}\right) &= -\dfrac{1}{2} \end{aligned} \]
Fra de eksakte verdiene vet vi at:
\[ \cos \dfrac{2\pi}{3} = -\dfrac{1}{2} \]
Fra midnatt til \( {t = 12} \) synker cosinus hele tiden fra \( 1 \) til \( {-1}\text{,} \) så temperaturen stiger. Dette er derfor første gang den når \( 20\text{:} \)
\[ \begin{aligned} \dfrac{\pi t}{12} &= \dfrac{2\pi}{3} \\ \textcolor{blue}{t} &= \textcolor{blue}{8} \end{aligned} \]
3. Tell rundene
For \( {\textcolor{blue}{t = 8}} \) er temperaturen akkurat \( 20\text{:} \)
\[ T(\textcolor{blue}{8}) = 16 - 8 \cdot \left(-\dfrac{1}{2}\right) = 20 \]
Etter runden med \( {\textcolor{blue}{t = 8}} \) er \( {\texttt{verdi} = 20}\text{.} \) Betingelsen \( {20 < 20} \) er usann, så løkken stopper. Rundene bruker \( {t = 0, 1, \ldots, \textcolor{blue}{8}}\text{,} \) og det er:
\[ \textcolor{blue}{8} + 1 = 9 \text{ runder} \]
Oppgave 7
2 poeng
Følgende program skrevet i Python inneholder en while-løkke og skriver ut ulike tall.
Oppgave 7a)
Hva skrives på skjermen når programmet kjøres?
Vis løsningSkjul løsning på oppgave 7a
Svar
Programmet skriver ut tre tall:
Vi tenker som datamaskinen og går gjennom løkka runde for runde. Legg merke til at programmet skriver ut etter at tallet er endret.
1. Gå gjennom løkka
Linje 1 setter \( {\textcolor{blue}{\texttt{tall}} = 0}\text{.} \) Linje 2 sjekker om \( {\textcolor{blue}{\texttt{tall}} \le 20}\text{.} \) Linje 3 regner ut det nye \( \textcolor{red}{\texttt{tall}}\text{,} \) og linje 4 skriver det ut. Slik går vi gjennom en løkke i videoen Oppgave 6 - Del 1 - 1T Eksamen Høst 2025.
Hver runde ser slik ut:
\[ \begin{aligned} \textcolor{blue}{0} \le 20 &: \quad 2 \cdot \textcolor{blue}{0} + 3 = \textcolor{red}{3} \\ \textcolor{blue}{3} \le 20 &: \quad 2 \cdot \textcolor{blue}{3} + 3 = \textcolor{red}{9} \\ \textcolor{blue}{9} \le 20 &: \quad 2 \cdot \textcolor{blue}{9} + 3 = \textcolor{red}{21} \end{aligned} \]
2. Se når løkka stopper
Nå er \( {\textcolor{blue}{\texttt{tall}} = 21}\text{,} \) og betingelsen holder ikke lenger:
\[ 21 \le 20 \quad \text{er usant} \]Programmet stopper. \( 21 \) er likevel skrevet ut, for sjekken kommer først i neste runde.
Oppgave 7b)
Endre programmet ovenfor slik at det skriver ut alle positive partall under
Vis løsningSkjul løsning på oppgave 7b
Svar
Partallene kommer ved å legge til \( 2 \) hver runde. Vi endrer derfor linje 3, og linje 2 slik at løkka stopper etter \( 18\text{.} \)
1. Endre utregningen
Vi vil at tallet skal gå slik:
\[ 0 \to 2 \to 4 \to 6 \to \cdots \to \textcolor{blue}{18} \]Hver runde legger vi altså til \( \textcolor{red}{2}\text{,} \) så linje 3 blir \( {\texttt{tall = tall + 2}}\text{.} \)
2. Endre betingelsen
Programmet skriver ut etter at tallet er endret, som vi også ser når vi går gjennom koden i videoen Oppgave 5 - Del 1 - S1 Eksamen Høst 2023. Det siste tallet skal være \( \textcolor{blue}{18}\text{.} \) Den siste runden må derfor starte med \( 16\text{,} \) og det må ikke komme en ny runde når tallet er \( 18\text{:} \)
\[ \begin{aligned} 16 < 18 &: \quad 16 \textcolor{red}{+ 2} = \textcolor{blue}{18} \\ \textcolor{blue}{18} < 18 &: \quad \text{usant, løkka stopper} \end{aligned} \]
Linje 2 blir derfor \( {\texttt{while tall < 18:}}\text{,} \) og programmet blir:
Andre programmer er også riktige, for eksempel med \( {\texttt{while tall <= 16:}} \) i linje 2.
Oppgave 9
2 poeng
- Flere oppgaver om abc-formelen,
- Flere oppgaver om andregradslikninger,
- Flere oppgaver om programmering
Ved hjelp av andregradsformelen har det blitt laget følgende kode som løser alle andregradslikninger på formen
Linje 1 kan erstattes med:
Oppgave 9a)
I linje 7 skjules en del av koden under den sorte boksen. Hva skal det stå der? Skriv svaret slik du ville gjort i koden.
Vis løsningSkjul løsning på oppgave 9a
Svar
Vi ser at linje 14 og 15 har \( \texttt{sqrt(d)} \) der abc-formelen har rottegnet. Da må \( \textcolor{blue}{d} \) være det som står under roten.
1. Sammenlign med abc-formelen
abc-formelen forteller oss at:
\[ x = \dfrac{-b \pm \sqrt{\textcolor{blue}{b^2 - 4ac}}}{2a} \]Hvis du er usikker på den, kan du se videoen Andregradslikninger & abc-formelen.
Linje 14 i koden er:
\[ \texttt{x\_1 = (-b + sqrt(}\textcolor{blue}{\texttt{d}}\texttt{))/(2*a)} \]
Altså er:
\[ \textcolor{blue}{d} = \textcolor{blue}{b^2 - 4ac} \]
2. Skriv det som kode
I Python skriver vi potens med to stjerner og ganger med én stjerne:
Oppgave 9b)
Finn en passende tekst som kan skrives i de to røde boksene i linje 10 og 12.
Vis løsningSkjul løsning på oppgave 9b
Svar
Vi bruker fra a) at \( {d = b^2 - 4ac} \) er det som står under roten i abc-formelen.
Fortegnet til \( \textcolor{blue}{d} \) forteller hvor mange løsninger likningen har. Teksten skal si det.
1. Les hva hver gren betyr
Tallet under roten avgjør antall løsninger, som i videoen Andregradslikninger & abc-formelen:
\[ \begin{aligned} \textcolor{blue}{d} < 0&: \quad \text{ingen reelle løsninger} \\ \textcolor{blue}{d} = 0&: \quad \text{én løsning} \\ \textcolor{blue}{d} > 0&: \quad \text{to løsninger} \end{aligned} \]
Linje 9 er grenen \( {\textcolor{blue}{d} < 0}\text{.} \) Der er roten ikke et reelt tall, og linje 10 skal si at det ikke finnes noen løsning.
Linje 11 er grenen \( {\textcolor{blue}{d} = 0}\text{.} \) Da blir abc-formelen:
\[ x = \dfrac{-b \pm \sqrt{0}}{2a} = -\dfrac{b}{2a} \]
Dette er tallet linje 12 skriver ut etter teksten, så teksten skal føre fram til det.
2. Skriv teksten
En passende tekst, som følger linje 16, er:
Andre tekster som sier det samme, er også riktige.
Oppgave 6
2 poeng
Bente har brukt Python for å regne på en geometrisk rekke.
Oppgave 6a)
Forklar hva som skjer i denne for-løkka, og oppgi hvor mange ganger den kjører.
Vis løsningSkjul løsning på oppgave 6a
Svar
Løkka legger ett og ett ledd i rekka til og antall ganger er:
Vi går gjennom linje 4 og 5, som er selve løkka. Linje 4 sier hvor mange ganger den kjører, og linje 5 hva som skjer hver gang.
1. Se hvor mange ganger den kjører
Et program gjør én ting om gangen, som i videoen Oppgave 4B - Del 2 - 1T Eksamen Høst 2025. Linje 4 lar \( \textcolor{blue}{\texttt{n}} \) gå gjennom tallene i \( \texttt{range(1,31)}\text{.} \) Der er 1 med, mens 31 ikke er med, så:
\[ \textcolor{blue}{n} = 1, 2, 3, \dots, 30 \]Det er \( 30 \) verdier, så løkka kjører \( 30 \) ganger.
2. Se hva linje 5 gjør
I en geometrisk rekke er ledd nummer \( \textcolor{blue}{n} \) gitt ved:
\[ \textcolor{red}{a_n} = a_1 \cdot k^{\textcolor{blue}{n} - 1} \]Det er nettopp det som står etter plusstegnet i linje 5, der to stjerner betyr «opphøyd i». Linja regner ut ledd nummer \( \textcolor{blue}{\texttt{n}} \) og legger det til summen \( \texttt{s}\text{,} \) som starter på \( 0\text{.} \) Med \( {a_1 = 1} \) og \( {k = 1{,}2} \) blir summen til slutt:
\[ s = \textcolor{red}{1} + \textcolor{red}{1{,}2} + \textcolor{red}{1{,}2^2} + \dots + \textcolor{red}{1{,}2^{29}} \]
Oppgave 6b)
Hva blir verdien av som skrives ut når programmet kjøres? Oppgi svaret med én desimal.
Vis løsningSkjul løsning på oppgave 6b
Svar
Programmet skriver ut, avrundet til én desimal:
I a) så vi at programmet legger sammen de \( 30 \) første leddene i den geometriske rekka.
Å legge sammen \( 30 \) ledd for hånd tar for lang tid, så vi bruker formelen for summen av en geometrisk rekke.
1. Skriv opp sumformelen
Summen av de \( \textcolor{green}{n} \) første leddene i en geometrisk rekke er:
\[ S_{\textcolor{green}{n}} = \textcolor{blue}{a_1} \cdot \dfrac{\textcolor{red}{k}^{\textcolor{green}{n}} - 1}{\textcolor{red}{k} - 1} \]Formelen gjennomgås i videoen Sum geometriske rekker Eksempel.
Her er:
\[ \textcolor{blue}{a_1} = \textcolor{blue}{1}, \quad \textcolor{red}{k} = \textcolor{red}{1{,}2}, \quad \textcolor{green}{n} = \textcolor{green}{30} \]
2. Regn ut summen
Plugger vi dette inn, får vi:
\[ \begin{aligned} S_{\textcolor{green}{30}} &= \textcolor{blue}{1} \cdot \dfrac{\textcolor{red}{1{,}2}^{\textcolor{green}{30}} - 1}{\textcolor{red}{1{,}2} - 1} \\ &\approx \dfrac{237{,}3763 - 1}{0{,}2} \\ &\approx 1181{,}9 \end{aligned} \]
Oppgave 8
2 poeng
Gitt en aritmetisk følge med og Python-koden under regner ut den minste verdien av som er slik at
Oppgave 8a)
Hva skal stå i boksene på linje 6 og 7? Forklar hva som skjer i while-løkken.
Vis løsningSkjul løsning på oppgave 8a
Svar
Løkken regner ut neste ledd og øker med til
I en aritmetisk følge er hvert ledd det forrige leddet pluss \( d\text{.} \) Samtidig må \( n \) telle hvilket ledd vi er kommet til.
1. Fyll inn boksene
I en aritmetisk følge er differansen mellom to ledd alltid \( \textcolor{blue}{d}\text{,} \) som i videoen Aritmetiske rekker intro:
\[ a_{\textcolor{red}{n + 1}} = a_n + \textcolor{blue}{d} \]
Linje 6 skal derfor legge til \( \textcolor{blue}{\texttt{d}}\text{,} \) og linje 7 skal øke \( \textcolor{red}{\texttt{n}} \) med \( 1\text{:} \)
\[ \begin{aligned} &\texttt{an = an + } \textcolor{blue}{\texttt{d}} \\ &\texttt{n = } \textcolor{red}{\texttt{n + 1}} \end{aligned} \]
2. Forklar løkken
Vi tenker som datamaskinen, som i videoen Oppgave 6 - Del 1 - 1T Eksamen Høst 2025. Vi starter med første ledd, \( {\texttt{an} = a_1} \) og \( {\texttt{n} = 1}\text{.} \)
Linje 5 sjekker om \( {\texttt{an} < 200}\text{.} \) Så lenge det stemmer, regner linje 6 ut neste ledd, og linje 7 øker \( \texttt{n} \) med \( 1\text{.} \) Da er \( \texttt{an} \) hele tiden \( a_n \) for den \( \texttt{n} \) vi står på.
Første gang \( {\texttt{an} \geq 200} \) stopper løkken, og linje 8 skriver ut \( \texttt{n} \) og \( \texttt{an}\text{.} \) Dette er den minste \( n \) som gir \( {a_n \geq 200}\text{.} \)
Oppgave 8b)
Finn verdien av som programmet regner ut.
Vis løsningSkjul løsning på oppgave 8b
Svar
Programmet skriver ut:
Programmet stopper ved den minste \( n \) der \( {a_n \geq 200}\text{,} \) så vi løser den ulikheten med formelen for det \( n \)-te leddet.
1. Sett opp formelen
Formelen for det \( n \)-te leddet forteller oss at:
\[ a_n = \textcolor{red}{a_1} + (n - 1) \cdot \textcolor{blue}{d} \]Den utledes i videoen Aritmetiske rekker intro.
Her er:
\[ \textcolor{red}{a_1} = \textcolor{red}{\dfrac{1}{3}}, \quad \textcolor{blue}{d} = \textcolor{blue}{\dfrac{5}{3}} \]
2. Løs ulikheten
Plugger vi dette inn, får vi:
\[ \textcolor{red}{\dfrac{1}{3}} + (n - 1) \cdot \textcolor{blue}{\dfrac{5}{3}} \geq 200 \]
Vi ganger med \( 3 \) på begge sider:
\[ \begin{aligned} 1 + 5(n - 1) &\geq 600 \\ 5n - 4 &\geq 600 \\ n &\geq \dfrac{604}{5} = 120{,}8 \end{aligned} \]
3. Finn den minste n
\( n \) må være et helt tall, så den minste verdien er \( 121\text{.} \) Vi kontrollerer på hver side av \( 120{,}8\text{:} \)
\[ \begin{aligned} a_{120} &= \dfrac{1}{3} + 119 \cdot \dfrac{5}{3} = \dfrac{596}{3} < 200 \\ a_{121} &= \dfrac{1}{3} + 120 \cdot \dfrac{5}{3} = \dfrac{601}{3} > 200 \end{aligned} \]