Hopp til innholdet

While-løkker i Python: oppgaver med fasit

Matematikk 1T · Vg1, teoretisk matematikk · 15 oppgaver · eksamen: del 1 og del 2

15 oppgaver i while-løkker i Python i 1T, med løsning steg for steg og fasit. Prøv selv først, og trykk «Vis løsning» når du vil sjekke svaret. Oppgavene er sortert fra kort til lang løsning.

Lær dette i Sophus: 8.5 While-løkker og vekst, 8.6 Figurtall og summer med program i Matematikk 1T, med video og øving med nye tall hver gang. Se leksjonen

Lettere oppgaver

Oppgave 1

I hvilken rekkefølge kommer stegene i algoritmen for å summere fyrstikkene?

  1. A: legg til fyrstikkene; summen = 0; skriv ut summen
  2. B: skriv ut summen; summen = 0; legg til fyrstikkene
  3. C: summen = 0; for hver figur: legg til fyrstikkene; skriv ut summen
  4. D: for hver figur: summen = 0 og legg til; skriv ut summen
Vis løsning på oppgave 1

Start på 0, legg til i løkken, skriv ut etter løkken.

Fasit: C: summen = 0; for hver figur: legg til fyrstikkene; skriv ut summen

Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen

Oppgave 2

Når stopper en while-løkke?

  1. A: etter et fast antall runder
  2. B: når betingelsen blir sann
  3. C: når betingelsen blir usann
  4. D: aldri
Vis løsning på oppgave 2

Før hver runde sjekkes betingelsen.

Er den usann, hopper Python ut.

Fasit: C: når betingelsen blir usann

Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen

Oppgave 3

Etter 14 år er beløpet 19 799 kr, og etter 15 år 20 789 kr. Løkken er while belop < 20000. Hva skrives ut?

Vis løsning på oppgave 3

19 799 < 20 000 gir en runde til.

Etter 15 år er betingelsen usann.

Fasit: 15

Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen

Oppgave 4

Hvor mange figurer regnes med i for n in range(1, 51)?

Vis løsning på oppgave 4

n = 1, 2, …, 50: 50 figurer.

Fasit: 50

Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen

Oppgave 5

Hvor mange figurer regnes med i for n in range(1, 101)?

Vis løsning på oppgave 5

n = 1, 2, …, 100: 100 figurer.

Fasit: 100

Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen

Middels vanskelige

Oppgave 6

Hva skriver programmet ut?

belop = 10000
ar = 0
while belop < 20000:
    belop = belop * 1.04
    ar = ar + 1
print(ar)
Vis løsning på oppgave 6

10 000 · 1,04¹⁷ < 20 000, men 10 000 · 1,04¹⁸ ≥ 20 000.

Svaret er 18.

Fasit: 18

Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen

Oppgave 7

Hva skriver programmet ut?

pris = 100
ar = 0
while pris > 30:
    pris = pris * 0.9
    ar = ar + 1
print(ar)
Vis løsning på oppgave 7

100 · 0,9¹¹ > 30, men 100 · 0,9¹² ≤ 30.

Svaret er 12.

Fasit: 12

Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen

Oppgave 8

Hvilke tall skriver programmet ut?

for n in range(1, 5):
    print(2*n + 2)
  1. A: 2, 4, 6, 8
  2. B: 4, 6, 8, 10
  3. C: 4, 6, 8, 10, 12
  4. D: 6, 8, 10, 12
Vis løsning på oppgave 8

n = 1, 2, 3, 4 gir 4, 6, 8, 10.

Fasit: B: 4, 6, 8, 10

Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen

Oppgave 9

Hva skriver programmet ut?

belop = 10000
ar = 0
while belop < 20000:
    belop = belop * 1.1
    ar = ar + 1
print(ar)
Vis løsning på oppgave 9

10 000 · 1,1⁷ < 20 000, men 10 000 · 1,1⁸ ≥ 20 000.

Svaret er 8.

Fasit: 8

Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen

Oppgave 10

Hva skriver programmet ut?

pris = 100
ar = 0
while pris > 50:
    pris = pris * 0.8
    ar = ar + 1
print(ar)
Vis løsning på oppgave 10

100 · 0,8³ > 50, men 100 · 0,8⁴ ≤ 50.

Svaret er 4.

Fasit: 4

Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen

Mer krevende

Oppgave 11

Hvilke tall skriver programmet ut?

for n in range(1, 5):
    print(2*n - 1)
  1. A: 1, 3, 5, 7, 9
  2. B: 1, 3, 5, 7
  3. C: −1, 1, 3, 5
  4. D: 0, 2, 4, 6
Vis løsning på oppgave 11

n = 1, 2, 3, 4 gir 1, 3, 5, 7.

Fasit: B: 1, 3, 5, 7

Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen

Oppgave 12

Hva skriver programmet ut?

belop = 10000
ar = 0
while belop < 20000:
    belop = belop * 1.05
    ar = ar + 1
print(ar)
Vis løsning på oppgave 12

10 000 · 1,05¹⁴ < 20 000, men 10 000 · 1,05¹⁵ ≥ 20 000.

Svaret er 15.

Fasit: 15

Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen

Oppgave 13

Hva skriver programmet ut?

pris = 100
ar = 0
while pris > 30:
    pris = pris * 0.8
    ar = ar + 1
print(ar)
Vis løsning på oppgave 13

100 · 0,8⁵ > 30, men 100 · 0,8⁶ ≤ 30.

Svaret er 6.

Fasit: 6

Fra leksjon 8.5 While-løkker og vekst · Se forklaringen i videoen

Oppgave 14

Hva skriver programmet ut?

s = 0
for n in range(1, 51):
    s = s + 2*n + 1
print(s)
Vis løsning på oppgave 14

2 · 50 · 51 delt på 2 + 1 · 50 = 2 550 + 50 = 2 600.

Fasit: 2 600

Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen

Oppgave 15

Hva skriver programmet ut?

s = 0
for n in range(1, 101):
    s = s + 2*n + 1
print(s)
Vis løsning på oppgave 15

2 · 100 · 101 delt på 2 + 1 · 100 = 10 100 + 100 = 10 200.

Fasit: 10 200

Fra leksjon 8.6 Figurtall og summer med program · Se forklaringen i videoen

Fasit

Vis fasit til alle oppgavene
  1. Oppgave 1: C: summen = 0; for hver figur: legg til fyrstikkene; skriv ut summen
  2. Oppgave 2: C: når betingelsen blir usann
  3. Oppgave 3: 15
  4. Oppgave 4: 50
  5. Oppgave 5: 100
  6. Oppgave 6: 18
  7. Oppgave 7: 12
  8. Oppgave 8: B: 4, 6, 8, 10
  9. Oppgave 9: 8
  10. Oppgave 10: 4
  11. Oppgave 11: B: 1, 3, 5, 7
  12. Oppgave 12: 15
  13. Oppgave 13: 6
  14. Oppgave 14: 2 600
  15. Oppgave 15: 10 200

Oppgavene hører til leksjonene 8.5–8.6 i modulen Programmering og algoritmer, som øves til del 1 og del 2. Les mer om eksamen i 1T, og bruk formelarket for 1T når du øver.

Les også

Oppgavene er laget av Sophus med de samme oppgavemalene som i kurset, og løsningene er kontrollert av en regnekontroll. Ser du likevel en feil, si fra på kontakt@sophus.no, så retter vi den.