Hopp til innhold
Jørgensen & Dahl forlag

Forside / Python i matematikk: oppgave med løkker og oddetall

Python i matematikk: utforsk summen av oddetall

Hva skjer når vi legger sammen de første oddetallene? Denne lille Python-oppgaven lar elevene undersøke et tallmønster og sammenligne kode med en matematisk forklaring.

Oppgaven kan brukes som en introduksjon til løkker og variabler på ungdomsskolen eller som repetisjon på videregående. Tilpass antall steg og spørsmålene til elevgruppen.

Start med en forventning

La elevene regne ut 1, deretter 1 + 3, så 1 + 3 + 5 og til slutt 1 + 3 + 5 + 7. Be dem beskrive mønsteret før de kjører koden. Hva tror de summen av de ti første oddetallene blir?

Kjør eksemplet i Python 3

Koden krever ingen ekstra biblioteker. Den kan kjøres i et Python 3-miljø skolen allerede bruker.

sum_oddetall = 0

for n in range(1, 11):
    oddetall = 2 * n - 1
    sum_oddetall = sum_oddetall + oddetall
    print(n, oddetall, sum_oddetall)

Hver linje viser nummeret på oddetallet, selve oddetallet og summen så langt. De første fire linjene og den siste linjen blir:

1 1 1
2 3 4
3 5 9
4 7 16
...
10 19 100

Hva gjør koden?

Variabelen sum_oddetall starter på null. Løkken går gjennom heltallene fra 1 til og med 10. I Python stopper range(1, 11) før 11. Uttrykket 2 * n - 1 gir oddetallene 1, 3, 5 og så videre.

For hvert steg legges det nye oddetallet til summen. Det er derfor viktig at sum_oddetall = 0 står før løkken. Hvis den flyttes inn i løkken, nullstilles summen på hvert steg.

Spørsmål til elevene

  1. Hvorfor må den siste grensen i range være 11 for å få med ti oddetall?
  2. Hvilken sammenheng ser du mellom den første og den siste kolonnen?
  3. Endre programmet slik at det summerer de 20 første oddetallene. Lag en hypotese før du kjører.
  4. Flytt nullstillingen inn i løkken. Forklar hvorfor resultatet endrer seg, og rett deretter koden.

Fra et mønster til en forklaring

Summene blir kvadrattall: 1, 4, 9, 16 og så videre. Summen av de n første oddetallene er .

Tegn kvadrater av prikker. For å bygge et kvadrat med side n videre til et kvadrat med side n + 1, trengs en ny kant med 2n + 1 prikker. Det er nettopp det neste oddetallet. Tegningen forklarer hvorfor mønsteret fortsetter.

At programmet gir riktig svar for mange tall, er støtte for en hypotese. Tegningen eller et matematisk argument forklarer hvorfor sammenhengen gjelder generelt.

Vil du arbeide videre med programmering i matematikk?

Kaares kokebok for ungdomsskolen og Vg1 og Kaares kokebok for videregående gir et strukturert løp med programmering i matematikk. Denne nettoppgaven er et selvstendig eksempel, ikke et utdrag fra bøkene.

For lærere som ønsker veiledning i gjennomføringen, tilbyr forlaget også kurs i programmering og fagdidaktikk.