Forklare while-løkke med vekstfaktor

Forklare while-løkke med vekstfaktor

Lest inn av KI og ikke kontrollert manuelt enda — kan inneholde feil.

Forklar hva som skjer når programmet nedenfor kjøres. Hva forteller de to tallene som skrives ut i linje 10 og 11?

beløp = 10000
verdi = beløp
vekstfaktor = 1.03
år = 0

while verdi < beløp * 2:
    verdi = verdi * vekstfaktor
    år = år + 1

print(verdi)
print(år)
Fasit

Linje 10 skriver ut den endelige verdien av beløpet: ca.20328kr\mathbf{\underline{\underline{ca. 20\,328 \, \mathrm{kr}}}}

Linje 11 skriver ut antall år det tok: 24 a˚r\mathbf{\underline{\underline{24 \text{ år}}}}

LøsningsforslagKI-generert

Programmet simulerer at et beløp på 10000kr10\,000 \, \mathrm{kr} vokser med 3%3 \,\% per år, og finner ut hvor mange år det tar før beløpet har doblet seg.

Hva variablene betyr:

  • beløp = 10000 — startbeløpet, 10000kr10\,000 \, \mathrm{kr}
  • verdi = beløp — den løpende verdien (starter på 1000010\,000)
  • vekstfaktor = 1.03 — vekstfaktoren tilsvarer 3%3 \,\% vekst per år
  • år = 0 — teller antall år

While-løkken:

Betingelsen verdi < beløp * 2 betyr «så lenge verdien er mindre enn det dobbelte av startbeløpet» (dvs. mindre enn 2000020\,000).

For hvert steg inne i løkken skjer to ting:

  1. verdi = verdi * vekstfaktor — verdien multipliseres med 1,031{,}03, altså øker med 3%3 \,\%
  2. år = år + 1 — årstelleren økes med 1

Etter hvert steg sjekker programmet betingelsen på nytt. Slik fortsetter det til verdien er 20000\geq 20\,000.

De tre første stegene ser slik ut:

ÅrUtregningVerdi
1100001,0310\,000 \cdot 1{,}0310300kr10\,300 \, \mathrm{kr}
2103001,0310\,300 \cdot 1{,}0310609kr10\,609 \, \mathrm{kr}
3106091,0310\,609 \cdot 1{,}03ca. 10927kr10\,927 \, \mathrm{kr}
241,03\ldots \cdot 1{,}03ca. 20328kr20\,328 \, \mathrm{kr}

Etter 23 år er verdien ca. 19736kr19\,736 \, \mathrm{kr} — fortsatt under 2000020\,000. Etter år 24 er verdien ca. 20328kr20\,328 \, \mathrm{kr} — nå er betingelsen brutt, og løkken stopper.

Hva tallene i linje 10 og 11 betyr:

  • Linje 10 skriver ut verdi — den endelige verdien av beløpet når det har doblet seg: ca. 20328kr\underline{\underline{20\,328 \, \mathrm{kr}}}
  • Linje 11 skriver ut år — antall år det tok for beløpet å doble seg: 24 a˚r\underline{\underline{24 \text{ år}}}

Programmet finner altså doblingstiden for et beløp med 3%3 \,\% årlig vekst: det tar 24 år før beløpet er mer enn doblet.

Tastatursnarveier

Navigasjon

⌘K / Ctrl+K
Åpne søk
G F
Gå til Fag
G E
Gå til Eksamener
G T
Gå til Temaer
G K
Gå til Kompetansemål
G H
Hjem
?
Vis snarveier

I oppgave

←/→ · J/K
Forrige / neste oppgave
0
Marker som ikke prøvd
1
Marker som prøvd
2
Marker som trenger hjelp
3
Marker som klart
S
Vis / skjul løsningsforslag
A
Legg til i liste
Esc
Tilbake / avslutt