Vekstfaktor over tid

<div class="alert alert-block alert-danger">

Info til lærer

Her bruker vi prosentregning med programmering som verktøy. Bakgrunnen for opplegget er eksamen 1P som inneholdt bruk av programmering i prosentregning. Opplegget dekker en del programmering og kan fint deles opp i mindre deler. Kan også brukes som trening til eksamen eller lignende. Opplegget inneholder en del teori som med fordel kan gjennomgås på en annen måte. Har det likevel med for å kunne forklare koden. Oppgavene har et fokus på å diskutere matematikk. Avslutningsvis har vi lagt ved en eksamensoppgave som dekker dette temaet.

<div class="alert alert-block alert-warning">

Kompetansemål i 1P

Mål for opplæringen er at eleven skal kunne

  • bruke prosent, prosentpoeng, promille og vekstfaktor i utrekningar og presentere og grunngi løysingar
</div>

Repetisjon av vekstfaktor over flere perioder

For å kunne regne med prosent, renter, og verdier over tid trenger vi vekstfaktor. Vekstfaktor består av to ukjente:

  • pp som er prosent endring
  • nn som er antall perioder endringer skjer over

Vi trenger å vite to ting om pp og nn.

  1. Vi må sjekke om pp øker fremover i tid. Det vil si, vil beløpet vi undersøker øke eller minke ettersom tiden går. Hvis det øker bruker vi "++" i vekstfaktoren, hvis det minker bruker vi "-". Viktig her at prosenten ikke endres, kun fortegnet.

  2. Vi må sjekke er om vi skal regne forover eller bakover i tid. Ikke overraskende bruker vi "++" for forover i tid, og "-" for bakover i tid. Vi kan da sette opp følgende tabell:

Øker forover i tid <br> (som penger i banken)Minker forover i tid <br> (som verdien til en bil)
Fremtid
(1+p100)n \left(1+\frac{p}{100}\right)^n

|

(1p100)n \left(1-\frac{p}{100}\right)^n

| | Fortid |

(1+p100)n \left(1+\frac{p}{100}\right)^{-n}

|

(1p100)n \left(1-\frac{p}{100}\right)^{-n}

|

<div class="alert alert-block alert-success">

Eksempel:

a) Per har en rente i banken på 3,8 % per år. Hva blir uttrykket for vekstfaktoren for 5 år?

Beløpet vil øke, dermed positiv pp. Vi regner forover i tid, dermed positiv nn.

(1+3,8100)5=1,0385 \left( 1 + \frac{3,8}{100} \right)^5 = 1,038^5

b) Kari har kjøpt en bil som taper seg i verdi med 7 % per år. Hva blir uttrykket for vekstfaktoren for 8 år?

Verdien vil avta, dermed negativ pp. Vi regner forover i tid, dermed positiv nn.

(17,0100)8=0,938 \left( 1 - \frac{7,0}{100} \right)^8 = 0,93^8

c) Kari kjøpte bilen brukt og øsnker å finne vekstfaktoruttrykket som gir bilens verdi for 6 år siden.

Beløpet avtar forover i tid, dermed negativ pp. Vi regner bakover i tid, dermed negativ nn.

(17,0100)6=0,936 \left( 1 - \frac{7,0}{100} \right)^{-6} = 0,93^{-6}
</div>
<div class="alert alert-block alert-info">

Oppgave 1

Merk at en ikke uvanlig feil i c) er å tenke at verdien øker bakover i tid og dermed kan vi bare sette både pp og nn til positive verdier. Diskuter med gruppen hvorfor dette ikke blir korrekt.

</div>

Bruke vekstfaktor i utregning

For å regne med verdier bruker vi uttrykket:

\text{Ny_verdi} = \text{Gammel_verdi}\cdot \text{vekstfaktor}^{\text{antall_perioder}}
<div class="alert alert-block alert-info">

Oppgave 2

I uttrykket over bruker vi "Ny verdi" og "Gammel verdi".

a) Er "Ny verdi" alltid en ny verdi? Kan dere finne et tilfelle der det er litt rart å kalle det for "Ny verdi"?

<br>

b) Hvis vi skal lage et program som finner "Ny verdi", hva trenger vi å vite? Hvilke variabeler trenger vi å gi programmet.

<br>

c) Per setter inn 10 000 kr i banken til 3,8 % rente i 5 år. Fyll inn starten på et program som regner ut dette ved å sette inn variabler. Bruk kodeboksen under.

</div>
1 
2
3
4
5
# Løs oppgave 2c her

p = ???
n = ???
??? = ???
1 
2
3
4
5
# Løsningsforlag til oppgave 2c

p = 3.8
n = 5
gammel_verdi = 10000
<div class="alert alert-block alert-info">

Oppgave 3

Utvid programmet over til å regne ut den nye verdien Per har i banken etter 5 år og skrive ut svaret på en fornuftig måte. Bruk kodeboksen under.

</div>
1 
2
3
4
5
6
7
8
# Løs oppgave 3 her

p = 3.8
n = 5
gammel_verdi = 10000

ny_verdi = ???
print(???)

Et flytskjema som viser programmet i oppgave 3 er vist under.

Prosent03.png

[2]: 
1 
2
3
4
5
6
7
8
# Løsningsforlag til oppgave 3

p = 3.8
n = 5
gammel_verdi = 10000

ny_verdi = gammel_verdi * (1 + p/100)**n
print("Med en rente på", p, "% over", n, "år har Per", round(ny_verdi, 2), "kroner i banken.")
Med en rente på 3.8 % over 5 år har Per 12049.99 kroner i banken.
<div class="alert alert-block alert-danger">

Info til lærer

I løsningsforslaget bruker vi round()-kommandoen. Dette kan godt snakkes kort om siden uten round() blir svaret gitt med veldig mange desimaler. Erfaringsmessig er round()-kommandoen ok siden elevene umiddelbart ser hva den gjør.

Når blir utregningen vanskelig?

Per ønsker å spare ved å sette penger i banken. Han vil gjerne få råd til å kjøpe en ny sykkel som koster 10 000 kroner. Per setter 5 000 kroner i banken til en rente på 2,8 % og lurer på hvor lange han må vente før han får doblet innskuddet.

Dette er et problem som vi ikke kan løse direkte ved regning siden vi får følgende uttrykk:

10000=5000(1+2.8100)n 10000 = 5000 \cdot \left(1 + \frac{2.8}{100}\right)^n

som vi ikke har lært noen direkte måte å løse på. Det vi derimot kan gjøre er å la et program finne ut av det for oss.

<div class="alert alert-block alert-info">

Oppgave 4

Hvordan ville dere løst denne oppgaven uten programmering? Diskuter med gruppen og regn dere frem til tilnærmet hvor mange år det tar før beløpet er doblet.

</div>
<div class="alert alert-block alert-danger">

Info til lærer

Her vil de aller fleste bruke prøv og feil, og starte med n=1n=1, n=2n=2, osv. Dette er bra for det er det vi kommer til å la programmet gjøre også. Man har da muligheten til å si at det er veldig lite effektivt å prøve seg frem på en slik måte siden vi regner mye saktere enn en maskin.

<div class="alert alert-block alert-info">

Oppgave 5

Tenk at dere skulle lage en forklaring til en medelev slik at eleven kunne gjort utregningen dere gjorde i oppgave 4.

a) Hvilke tall/variabler trenger eleven å vite?

<br>

b) Hvilken utregning skal elevene gjøre?

<br>

c) Når skal elevene stoppe utregningene sine?

</div>
<div class="alert alert-block alert-danger">

Info til lærer

Her er tanken at de lager programmet bare for en medelev. Dette skal nå oversettes til kode. Erfaringsmeesig gjør dette at koden blir litt enklere å skjønne for noen.

<div class="alert alert-block alert-info">

Oppgave 6

Lag et program som gjør det dere beskrev i oppgave 5. Bruk kodeboksen under der vi har startet på en slik kode og fyll ut alle steder med ???.

1 
2
3
4
5
6
7
8
9
10
11
12
# Gjør oppgave 6 her

p = 2.8
verdi = 5000
slutt_verdi = 10000

aar = 0
while ??? <= ???:
    verdi = verdi * (1 + ???/100)
    aar = aar + 1

print("Etter", ???, "år er har vi", ???, "penger i banken og har råd til ny sykkel.")   

Hvis oppgave 6 er vanskelig kan dere se på flytskjemaet under som viser hvordan koden skal fungere. Skjemaet til venstre er generelt for denne typen oppgaver, og skjemaet til høyre er for tallene i oppgave 6.

Prosent01-3.png

[6]: 
1 
2
3
4
5
6
7
8
9
10
11
12
# Løsningsforslag til oppgave 6

p = 2.8
verdi = 5000
slutt_verdi = 10000

aar = 0
while verdi < slutt_verdi:
    verdi = verdi * (1 + p/100)
    aar = aar + 1

print("Etter", aar, "år er har vi", round(verdi, 2), "kroner i banken og har råd til ny sykkel.") 
Etter 26 år er har vi 10251.58 kroner i banken og har råd til ny sykkel.
<div class="alert alert-block alert-info">

Oppgave 7

Følgende oppgave ble gitt på eksamen vår 2022 i 1P. Bruk det du har lært over til å svare på oppgaven

Prosent02.png