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:
Linje 11 skriver ut antall år det tok:
LøsningsforslagKI-generert
Programmet simulerer at et beløp på vokser med 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,verdi = beløp— den løpende verdien (starter på )vekstfaktor = 1.03— vekstfaktoren tilsvarer 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 ).
For hvert steg inne i løkken skjer to ting:
verdi = verdi * vekstfaktor— verdien multipliseres med , altså øker medår = år + 1— årstelleren økes med 1
Etter hvert steg sjekker programmet betingelsen på nytt. Slik fortsetter det til verdien er .
De tre første stegene ser slik ut:
| År | Utregning | Verdi |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 | ca. | |
| … | … | … |
| 24 | ca. |
Etter 23 år er verdien ca. — fortsatt under . Etter år 24 er verdien ca. — 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. - Linje 11 skriver ut
år— antall år det tok for beløpet å doble seg:
Programmet finner altså doblingstiden for et beløp med årlig vekst: det tar 24 år før beløpet er mer enn doblet.