Vekstfaktor#
Vekstfaktor er det tallet man ganger med for at noe skal endre seg med en viss prosent.
\(20\%\) økning
\(0.20\)
\(V=1.20\)
\(10\%\) økning
\(0.10\)
\(V=1.10\)
\(5\%\) økning
\(0.05\)
\(V=1.05\)
\(5\%\) reduksjon
\(0.05\)
\(V=0.95\)
\(10\%\) reduksjon
\(0.10\)
\(V=0.90\)
\(20\%\) reduksjon
\(0.20\)
\(V=0.80\)
Programmering av vekstfaktor med for
#
La oss se på et eksempel. Jeg setter inn \(10\,000\) kr i en bankkonto med \(5\%\) årlig rente. Hvordan vil pengene mine se ut i de neste årene?
penger = 10000
prosentfaktor = 0.05
vekstfaktor = 1 + prosentfaktor
for n in range(5):
# Skriver ut år og penger
print("År", n)
print("Penger:", round(penger, 2))
# Regner ut ny verdi for pengene ved å gange med vekstfaktor
penger = penger * vekstfaktor
År 0
Penger: 10000
År 1
Penger: 10500.0
År 2
Penger: 11025.0
År 3
Penger: 11576.25
År 4
Penger: 12155.06
Programmering av vekstfaktor med while
#
En while
-løkke passer bedre når vi ikke vet hvor mange ganger en løkke skal kjøre.
La oss si at jeg har en bil til \(200\,000\) kr. Den avtar i verdi med \(9\%\) hvert år. Hvor mange år går det før den har blitt verdt \(50\,000\) kr?
verdi = 200000
prosentfaktor = 0.09
vekstfaktor = 1 - prosentfaktor
år = 0
while verdi > 50000:
# Øker året
år = år + 1
# Minker verdien av bilen ved å gange med vekstfaktor
verdi = verdi * vekstfaktor
# Skriver ut verdien og året
print("Etter", år, "år har bilen verdien", round(verdi, 2), "kr")
Etter 15 år har bilen verdien 48601.64 kr
Det har altså tatt \(15\) år før verdien har blitt under \(50\,000\) kr.
Oppgaver#
Oppgave 1 🦠
I en skål ligger det \(200\,000\) bakterier. Antallet bakterier øker med 40% hvert minutt.
Hvor lang tid tar det omtrent før det er over \(2\,000\,000\) bakterier?
Oppgave 2 💸
Jeg har en sparekonto. Ved starten av hvert år setter jeg inn \(27\,500\) kr. I tillegg er den årlige renten på \(5.5\%\).
Hvor lang tid tar det omtrent før jeg har over \(300\,000\) kr på konto?
Oppgave 3 🧙♀️
Ånei! En heks har kastet en forbannelse på meg som gjør at jeg krymper. Jeg er \(180\) cm høy nå, men jeg krymper \(1\%\) per år.
a) Hvor lang tid tar det før jeg blir under \(100\) cm høy?
Løsningsforslag
år = 0
høyde = 180
prosentfaktor = 0.01
vekstfaktor = 1 - prosentfaktor
while høyde > 100:
år = år + 1
høyde = høyde * vekstfaktor
print("År:", år, "Høyde", round(høyde, 2))
År: 59 Høyde 99.48
Når det har gått \(59\) år, har jeg blitt under \(100\) cm høy.
Det viser seg at forbannelsen blir sterkere over tid! Forbannelsen dobles faktisk hvert år, slik at hvis jeg krymper \(1\%\) det første året, så krymper jeg \(2\%\) året etter, og \(4\%\) året etter det igjen.
b) Hvor lang tid tar det før jeg blir \(100\) cm høy nå?
Løsningsforslag
år = 0
høyde = 180
prosentfaktor = 0.01
vekstfaktor = 1 - prosentfaktor
while høyde > 100:
år = år + 1
høyde = høyde * vekstfaktor
prosentfaktor = prosentfaktor * 2
vekstfaktor = 1 - prosentfaktor
print("År:", år, "Høyde", round(høyde, 2))
År: 6 Høyde 88.1
Når det har gått \(6\) år, har jeg blitt under \(100\) cm høy.
Oppgave 4 🪱
Sandormer fra planeten Xe’os 332 bytter mellom å vokse \(5\%\) og \(10\%\) hver uke.
Første uken vokser de \(5\%\), så \(10\%\), så \(5\%\) osv…
En sandorm blir født \(13\) cm lang. Hvor lang tid tar det før ormen blir over \(2\) km lang?
Løsningsforslag
lengde = 0.13 # 13 cm i meter
vekstfaktor = 1.05 # 5% vekst
uke = 0
# Så lenge lengden er under 2000 meter
while lengde < 2000:
# Lengden øker med vekstfaktoren
lengde = lengde * vekstfaktor
# Uketallet øker
uke = uke + 1
# Hvis vekstfaktoren er 1.05, blir den 1.10. Hvis ikke, blir den 1.05.
if vekstfaktor == 1.05:
vekstfaktor = 1.10
else:
vekstfaktor = 1.05
print("Ormen har vokst til", round(lengde, 2), "meter på", uke, "uker")
Ormen har vokst til 2027.39 meter på 134 uker