Bruke løkker og variabler i programmering for å løse matematiske problemer.
Gjenta uten a bli sliten
Tenk deg at du far i oppgave a skrive ut alle tallene fra 1 til 1000. For hand ville det tatt deg timevis. Men en datamaskin gjor det pa et brøkdels sekund -- fordi den kan gjenta instruksjoner sa mange ganger den vil, uten a bli sliten eller gjore feil.
Denne evnen til a gjenta ting -- det vi kaller lokker -- er kanskje den viktigste grunnen til at programmering er sa nyttig i matematikk. Med lokker kan vi:
- Summere hundrevis av tall pa et oyeblikk
- Utforske tallrekker og monstre
- Sjekke tusenvis av muligheter
La oss starte med de to typene lokker i Python: for-lokken og while-lokken.
For-lokken -- gjenta et bestemt antall ganger
En for-lokke brukes nar du vet pa forhand hvor mange ganger du vil gjenta noe. I Python ser den slik ut:
for i in range(5):
print(i)Dette skriver ut:
0
1
2
3
4range(5) lager tallene -- altså 5 tall, men den starter pa 0 og stopper for 5. Variabelen i tar etter tur verdien av hvert tall.
Du kan ogsa bestemme start- og sluttverdi:
for i in range(1, 6):
print(i)Dette skriver ut . Formatet er range(start, stopp) der stopp ikke er med.
Innrykk er viktig! Alt som skal gjentas ma ha 4 mellomrom foran seg. Koden uten innrykk kjores etter at lokken er ferdig:
for i in range(3):
print(f"Inne i lokken: {i}")
print("Denne linjen kjores etter lokken")Resultat:
Inne i lokken: 0
Inne i lokken: 1
Inne i lokken: 2
Denne linjen kjores etter lokkenBruke lokker til matematikk
Na kommer det goyeste: a bruke lokker til a utforske matematikk!
Eksempel 1: Summere tallene fra 1 til 100
Den unge Gauss fikk denne oppgaven pa skolen og fant svaret med en genial snarvei. Men vi kan bruke en lokke:
total = 0
for i in range(1, 101):
total = total + i
print(f"Summen av tallene 1 til 100 er {total}")Resultat: Summen av tallene 1 til 100 er 5050
Vi kan sjekke med Gauss' formel: . Stemmer!
Eksempel 2: Gangetabellen
tall = 7
for i in range(1, 11):
print(f"{tall} * {i} = {tall * i}")Resultat:
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
...
7 * 10 = 70Eksempel 3: Finne alle partall fra 1 til 20
for i in range(1, 21):
if i % 2 == 0:
print(i)Her bruker vi modulo (%), som gir resten ved divisjon. Hvis i % 2 == 0, betyr det at i er delelig med 2 -- altså et partall.
While-lokken -- gjenta sa lenge en betingelse er sann
Den andre typen lokke er while-lokken. Den gjentar koden sa lenge en betingelse er oppfylt:
tall = 1
while tall <= 10:
print(tall)
tall = tall + 1Dette skriver ut tallene 1 til 10. While-lokken sjekker betingelsen tall <= 10 for hvert gjennomgang. Nar tall blir 11, er betingelsen ikke lenger sann, og lokken stopper.
Viktig: Du ma huske a oppdatere variabelen inne i lokken! Glemmer du tall = tall + 1, vil tall alltid være 1, betingelsen er alltid sann, og lokken kjorer for alltid (en «evig lokke»).
Eksempel: Doble et tall til det overstiger 1000
tall = 1
antall = 0
while tall <= 1000:
tall = tall * 2
antall = antall + 1
print(f"Etter {antall} doblinger er tallet {tall}")Resultat: Etter 10 doblinger er tallet 1024
Fordi . While-lokken er perfekt nar vi ikke vet pa forhand hvor mange ganger vi ma gjenta -- vi vet bare nar vi skal stoppe.
Utforske tallrekker med lokker
Lokker er fantastiske for a utforske matematiske monstre. La oss se pa noen eksempler.
Kvadrattallene:
print("Kvadrattallene:")
for n in range(1, 11):
print(f"{n}² = {n**2}")Resultat:
1² = 1
2² = 4
3² = 9
4² = 16
...
10² = 100Trekanttallene (1, 3, 6, 10, 15, ...):
print("Trekanttallene:")
trekanttall = 0
for n in range(1, 11):
trekanttall = trekanttall + n
print(f"T({n}) = {trekanttall}")Hvert trekanttall er summen av de forste naturlige tallene: .
Fibonacci-tallene (1, 1, 2, 3, 5, 8, 13, 21, ...):
a = 1
b = 1
print(a)
print(b)
for i in range(10):
c = a + b
print(c)
a = b
b = cHvert Fibonacci-tall er summen av de to foregaende. Denne rekken dukker opp overalt i naturen -- i solsikker, sneglehus og ananas!
Oppsummering
Lokker lar datamaskinen gjenta instruksjoner -- og det gjor programmering til et kraftig verktoy i matematikk:
- For-lokken gjentar et bestemt antall ganger: for i in range(start, stopp)
- While-lokken gjentar sa lenge en betingelse er sann: while betingelse:
- range(n) gir tallene . range(a, b) gir .
- Modulo (%) gir resten ved divisjon -- nyttig for a sjekke delbarhet
- Summering: Start med total = 0 og legg til i lokken
- Matematiske rekker: Kvadrattall (), trekanttall () og Fibonacci-tall (summen av de to foregaende)
- Innrykk: Koden med innrykk tilhorer lokken, koden uten kjores etterpå
- Pass opp for evig lokke: Husk a oppdatere variabelen i while-lokken!
Med lokker kan du utforske matematiske monstre som ville tatt timer for hand -- men som datamaskinen fikser pa millisekunder. I neste kapittel skal vi lære om algoritmer -- oppskrifter for a lose problemer steg for steg.
Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.