9.1

9.1 Grunnleggjande Python

Variablar, rekneoperasjonar, utskrift og lister — nok Python til å lese og skrive små matematikkprogram.

45 min
14 oppgaver
Variablar og tilordningRekneoperasjonarUtskriftListerFrå formel til program
Din fremgang i kapitlet
0 / 14 oppgaver
Kapitlets plass i kurset

Programmering i matematikken

Eit program er ei oppskrift som datamaskina følgjer linje for linje, ovanfrå og ned. I matematikken bruker vi program til å rekne ut mange verdiar raskt, til å prøve oss fram systematisk og til å undersøkje mønster.

På eksamen i 1T møter du programmering på tre måtar:

- lese eit program og forklare kva det gjer og kva det skriv ut
- endre eller fullføre eit program
- skrive eit program som løyser eit problem

Vi bruker programmeringsspråket Python. Dette delkapittelet tek for seg byggjesteinane: variablar, rekneoperasjonar, utskrift og lister.

Variabel og tilordning

Ein variabel er eit namn som peikar på ein verdi. Linja

a = 3

er ei tilordning: variabelen a får verdien 3. Likskapsteiknet i Python tyder «får verdien», ikkje «er lik». Difor er

a = a + 1

ei gyldig linje: Python reknar først ut høgre side med den gamle verdien av a, og lèt så a få det nye svaret.

Å følgje eit program linje for linje

Når du skal finne ut kva eit program skriv ut, lagar du ein sporingstabell: éin kolonne per variabel og éi rad per linje som endrar noko. Du fyller inn verdiane i den rekkjefølgja Python utfører linjene.

✏️Døme 1: Sporingstabell

Kva skriv programmet ut?

a = 3
b = 2 * a + 1
a = a + b
print(a, b)

Linjeab
a = 33
b = 2 * a + 137
a = a + b107

Utskrift:
10 7
Svar: Programmet skriv ut 10 7.

Rekneoperasjonar

PythonTydingDømeResultat
+, -pluss, minus7 - 25
*gonge7 * 214
/divisjon7 / 23.5
**potens7 ** 249
//heiltalsdivisjon7 // 23
%rest ved divisjon7 % 21

Python følgjer dei vanlege reknereglane: potensar først, så gonging og divisjon, så pluss og minus. Parentesar blir rekna først.
Divisjon med / gir alltid eit desimaltal (6 / 2 gir 3.0). Python bruker desimalpunktum; når du skriv svaret i teksten, bruker du desimalkomma.
a // b gir kor mange heile gonger b går opp i a, og a % b gir resten. Til dømes er 17=3⋅5+217 = 3 \cdot 5 + 2, så 17 // 5 gir 3 og 17 % 5 gir 2.
✏️Døme 2: Rekneoperasjonar

Kva skriv programmet ut?

print(2 ** 10)
print(17 // 5)
print(17 % 5)
print(17 / 5)
print(6 / 2)

210=10242^{10} = 1024

17=3⋅5+217 = 3 \cdot 5 + 2, så heiltalsdivisjonen gir 3 og resten er 2.

17:5=3,417 : 5 = 3{,}4

6:2=36 : 2 = 3, men / gir alltid desimaltal: 3.0.

1024
3
2
3.4
3.0

Svar: 1024, 3, 2, 3.4 og 3.0 på kvar si linje.

📝Oppgave 1

Kva skriv programmet ut?

print(9 // 4)
print(9 % 4)
print(9 / 4)
print(3 ** 4)

📝Oppgave 2

Lag ein sporingstabell og finn kva programmet skriv ut.

x = 4
y = x ** 2
x = y - x
print(x, y)

📝Oppgave 3

Kva for ein verdi skriv programmet ut?

s = 1
s = s + 4
s = s * 3
s = s - 2
print(s)

📝Oppgave 4

Ola vil rekne ut 525^2 og skriv programmet under. Programmet skriv ut 7.

print(5 ^ 2)

a

Kva er feil?

b

Rett programmet.

Løs oppgaven

Utskrift og tekst

print skriv ut verdiar. Fleire verdiar skilde med komma blir skrivne ut med mellomrom mellom. Tekst står i hermeteikn.

Med ein f-streng (f"...") kan vi setje verdiar rett inn i teksten. {areal:.2f} tyder «verdien av areal med to desimalar».

Ferdige matematiske funksjonar og konstantar hentar vi frå math: sqrt (kvadratrot) og pi.

✏️Døme 3: Areal av ein sirkel

Skriv eit program som reknar ut arealet av ein sirkel med radius 3 cm og skriv ut svaret med to desimalar.

A=πr2A = \pi r^2

from math import pi
r = 3
areal = pi * r ** 2
print("Arealet er", areal)
print(f"Arealet er {areal:.2f} cm²")

Arealet er 28.274333882308138
Arealet er 28.27 cm²

Svar: Arealet er 28,27 cm228{,}27\ \text{cm}^2.

Lister

Ei liste samlar fleire verdiar i éin variabel: L = [4, 7, 1, 8].

PythonTyding
L[0]det første elementet (nummereringa startar på 0)
L[-1]det siste elementet
len(L)talet på element
sum(L)summen av elementa
max(L), min(L)største og minste element
L.append(5)legg 5 til bakarst i lista

sum(L) / len(L) er gjennomsnittet av tala i lista.
✏️Døme 4: Lister

Kva skriv programmet ut?

L = [4, 7, 1, 8]
print(L[0])
print(L[3])
print(L[-1])
print(len(L), sum(L))
L.append(5)
print(L)
print(sum(L) / len(L))

L[0] er 4, L[3] og L[-1] er 8.

4+7+1+8=204 + 7 + 1 + 8 = 20, og lista har 4 element.

Etter append er lista [4, 7, 1, 8, 5] med sum 25 og 5 element: 25:5=525 : 5 = 5.

4
8
8
4 20
[4, 7, 1, 8, 5]
5.0

Svar: Sjå utskrifta. Den siste linja er gjennomsnittet av tala i lista.

📝Oppgave 5

Kva skriv programmet ut?

L = [3, 7, 1, 9, 5]
print(L[0], L[-1])
print(len(L), sum(L))
print(max(L) - min(L))

📝Oppgave 6

Kva skriv programmet ut?

L = []
L.append(2)
L.append(L[0] * 3)
L.append(L[1] * 3)
print(L, sum(L))

Frå formel til program

Når du skal lage eit program ut frå ein formel, går du fram slik:

- Gi kvar storleik eit variabelnamn og ein verdi.
- Skriv formelen med Python-operatorar.
- Skriv ut resultatet, gjerne med ein forklarande tekst.

Kommentarar startar med #. Python hoppar over dei, men dei gjer programmet lettare å lese for sensor.

✏️Døme 5: Pytagoras

Skriv eit program som reknar ut hypotenusen i ein rettvinkla trekant med katetar 6 og 8.

c=a2+b2c = \sqrt{a^2 + b^2}

from math import sqrt
a = 6       # første katet
b = 8       # andre katet
c = sqrt(a ** 2 + b ** 2)
print("Hypotenusen er", c)

Hypotenusen er 10.0

Svar: Hypotenusen er 10.

✏️Døme 6: Trekanttal

Trekanttal nummer nn er tn=n(n+1)2t_n = \dfrac{n(n+1)}{2}. Rekn ut t12t_{12} med eit program.

n = 12
t = n * (n + 1) / 2
print(t)
t = n * (n + 1) // 2
print(t)

78.0
78

n(n+1)n(n+1) er alltid eit partal, så // gir same svar som /, men som heiltal.

Svar: t12=78t_{12} = 78

📝Oppgave 7

Skriv eit program som reknar ut volumet av ein sylinder med radius 2,5 cm og høgd 10 cm. Svaret skal skrivast ut med éin desimal. Bruk V=πr2hV = \pi r^2 h.

📝Oppgave 8

Skriv eit program som reknar ut hypotenusen i ein rettvinkla trekant med katetar 5 og 12.

📝Oppgave 9

Ein serie figurar er bygd av små kvadrat. Figur nn har n2+2nn^2 + 2n kvadrat, slik at figur 1, 2 og 3 har 3, 8 og 15 kvadrat.

a

Kontroller formelen for figur 1, 2 og 3.

b

Skriv eit program som reknar ut talet på kvadrat i figur 20.

Løs oppgaven

Oppgåver i eksamensform

Når ei oppgåve spør «Kva skal programmet brukast til?» eller «Kva fortel verdiane?», skal svaret seie kva programmet reknar ut i samanhengen, ikkje berre gjenta koden.

📝Oppgave 10

Kari har laga programmet nedanfor. Kva skriv programmet ut, og kva er hensikta med variabelen c?

a = 5
b = 3
c = a
a = b
b = c
print(a, b)

📝Oppgave 11

Kva fortel dei to verdiane som blir skrivne ut når programmet blir køyrt?

L = [12, 15, 9, 20, 14]
s = sum(L)
n = len(L)
g = s / n
print(g)
print(max(L) - min(L))

📝Oppgave 12

Kva skriv programmet ut? Forklar kva programmet reknar ut.

pris = 250
pris = pris * 1.2
pris = pris * 0.75
print(pris)

📝Oppgave 13

Ein figur blir laga av 144 små kvadrat. Du har 1 000 000 kvadrat.

a

Skriv eit program som finn kor mange heile figurar du kan lage, og kor mange kvadrat du har igjen.

b

Kontroller svaret utan program.

📝Oppgave 14

Skriv eit program som gjer om 10 000 sekund til timar, minutt og sekund.

Oppsummering

- = er tilordning: variabelen til venstre får verdien til høgre.
- Ein sporingstabell viser verdien til kvar variabel etter kvar linje.
- ** er potens, // heiltalsdivisjon og % rest. / gir alltid desimaltal.
- print skriv ut, og f"{x:.2f}" gir to desimalar.
- Lister: L[0], L[-1], len(L), sum(L), max(L), min(L), L.append(x).

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.