1T · PROGRAMMERING

Figurtall i 1T: fra mønster til algoritme og kode

Kilder kontrollert · Av Basic Matte

Et program blir lettere å forklare når du først har forstått mønsteret. I 1T kan du bli bedt om både en algoritme i ord og et program som utfører beregningen.

Tre rektangulære steinfelt med henholdsvis én gang to, to ganger tre og tre ganger fire steiner.
Figur n har n rader med n + 1 steiner. Dermed er antallet n(n + 1).

Hva viser Udirs eksempelsett?

I MAT1021, oppgave 4 på side 8, skal eleven beskrive en algoritme og skrive programkode for materialbruken i flere figurer. Veiledningen på side 3 skiller mellom å beskrive framgangsmåten og å skrive et faktisk program. Finn originalsettet i Udirs katalog, og les også innledningen. Se felles regler om hjelpemidler.

En egen figurserie

Vi legger rektangulære felt med like steiner. Figur n har n rader og n + 1 steiner i hver rad. Hver figur bygges separat, uten å gjenbruke steiner fra tidligere figurer. Illustrasjonen viser figur 1, 2 og 3.

1. Fra tegning til formel

Tegn figur 4. Finn antall steiner i figur 1, 2, 3 og 4, og lag et uttrykk for antallet i figur n. Begrunn uttrykket ut fra oppbyggingen.

Vis løsning og forklaring

Antall steiner er rader ganger steiner per rad: aₙ = n(n + 1). De fire første er 2, 6, 12 og 20. Figur 4 har fire rader med fem steiner i hver.

At formelen passer til noen tall, er en kontroll. Begrunnelsen for alle positive heltall n er selve konstruksjonen: n like rader med n + 1 steiner. Dermed trenger vi ikke gjette en formel ut fra bare de første tallene.

2. Tell alle steinene i de første 20 figurene

Beskriv en algoritme og skriv deretter et program som finner samlet antall steiner. Forklar startverdi, løkke, beregning og utskrift.

Vis løsning og forklaring
  1. Start en totalsum på 0.
  2. La figurnummeret n gå fra 1 til og med 20.
  3. Beregn n(n + 1) og legg det til totalsummen for hver figur.
  4. Skriv ut totalsummen når alle figurene er med.
total = 0
for n in range(1, 21):
    antall = n * (n + 1)
    total += antall
print(total)

Programmet skriver 3080. range(1, 21) tar med 20, men ikke 21. print står utenfor løkka fordi vi vil ha én samlet sum.

Kontroller først med tre figurer: 2 + 6 + 12 = 20. Med range(1, 4) skal samme program skrive 20. Pass på forskjellen mellom figur nummer 20 (420 steiner) og summen av figur 1 til 20 (3080 steiner).

3. Finn første figur over en grense

Hvilken figur er den første som bruker mer enn 200 steiner alene? Beskriv hvordan du vil finne den. Forklar hva programmet nedenfor gjør, og hvorfor det stopper.

n = 1
while n * (n + 1) <= 200:
    n += 1
print(n, n * (n + 1))
Vis løsning og forklaring

Programmet prøver figurnumrene i stigende rekkefølge så lenge antallet er 200 eller lavere. Det skriver 14 210: figur 14 har 14 · 15 = 210 steiner, mens figur 13 har 13 · 14 = 182.

Antallet øker med 2n + 2 fra figur n til n + 1. Økningen er positiv for n ≥ 1, så figur 14 er den første over grensen. Testen må være <= 200 når spørsmålet er «mer enn 200».

Øv på å forklare koden

Bruk en sporingstabell med kolonnene figurnummer, antall i denne figuren og samlet antall. Les linjene i rekkefølge, og marker hva som skjer inni løkka. En presis algoritme kan beskrives med ord; når oppgaven ber om et program, skriver du kode med tydelig innrykk.

I kodeøvingen kan du arbeide videre med summer og løkker. For resten av 1T-faget finner du også funksjoner og derivasjon.

Kilder og oppdatering

Henvisningene gjelder Udirs eksempelsett hentet 16. oktober 2026. Oppgavenumre og sidetall viser til disse PDF-ene. Forklaringene, illustrasjonene og øvelsene her er laget av Basic Matte og er ikke offisielle løsningsforslag. Lenket historisk fagmateriale bygger på Basic Matte av Sverre H. Bautz.