9.1

9.1 Grunnleggende Python

Variabler, regneoperasjoner, utskrift og lister — nok Python til å lese og skrive små matematikkprogram.

45 min
14 oppgaver
Variabler og tilordningRegneoperasjonerUtskriftListerFra formel til program
Din fremgang i kapitlet
0 / 14 oppgaver
Kapitlets plass i kurset

Programmering i matematikken

Et program er en oppskrift som datamaskinen følger linje for linje, ovenfra og ned. I matematikken bruker vi program til å regne ut mange verdier raskt, til å prøve oss fram systematisk og til å undersøke mønstre.

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

- lese et program og forklare hva det gjør og hva det skriver ut
- endre eller fullføre et program
- skrive et program som løser et problem

Vi bruker programmeringsspråket Python. Dette delkapitlet tar for seg byggesteinene: variabler, regneoperasjoner, utskrift og lister.

Variabel og tilordning

En variabel er et navn som peker på en verdi. Linjen

a = 3

er en tilordning: variabelen a får verdien 3. Likhetstegnet i Python betyr «får verdien», ikke «er lik». Derfor er

a = a + 1

en gyldig linje: Python regner først ut høyre side med den gamle verdien av a, og lar så a få det nye svaret.

Å følge et program linje for linje

Når du skal finne ut hva et program skriver ut, lager du en sporingstabell: én kolonne per variabel og én rad per linje som endrer noe. Du fyller inn verdiene i den rekkefølgen Python utfører linjene.

✏️Eksempel 1: Sporingstabell

Hva skriver 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 skriver ut 10 7.

Regneoperasjoner

PythonBetydningEksempelResultat
+, -pluss, minus7 - 25
*gange7 * 214
/divisjon7 / 23.5
**potens7 ** 249
//heltallsdivisjon7 // 23
%rest ved divisjon7 % 21

Python følger de vanlige regnereglene: potenser først, så ganging og divisjon, så pluss og minus. Parenteser regnes først.
Divisjon med / gir alltid et desimaltall (6 / 2 gir 3.0). Python bruker desimalpunktum; når du skriver svaret i teksten, bruker du desimalkomma.
a // b gir hvor mange hele ganger b går opp i a, og a % b gir resten. For eksempel er 17=3⋅5+217 = 3 \cdot 5 + 2, så 17 // 5 gir 3 og 17 % 5 gir 2.
✏️Eksempel 2: Regneoperasjoner

Hva skriver 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å heltallsdivisjonen gir 3 og resten er 2.

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

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

1024
3
2
3.4
3.0

Svar: 1024, 3, 2, 3.4 og 3.0 på hver sin linje.

📝Oppgave 1

Hva skriver programmet ut?

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

📝Oppgave 2

Lag en sporingstabell og finn hva programmet skriver ut.

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

📝Oppgave 3

Hvilken verdi skriver programmet ut?

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

📝Oppgave 4

Ola vil regne ut 525^2 og skriver programmet under. Programmet skriver ut 7.

print(5 ^ 2)

a

Hva er feil?

b

Rett programmet.

Løs oppgaven

Utskrift og tekst

print skriver ut verdier. Flere verdier skilt med komma skrives ut med mellomrom mellom. Tekst står i anførselstegn.

Med en f-streng (f"...") kan vi sette verdier rett inn i teksten. {areal:.2f} betyr «verdien av areal med to desimaler».

Ferdige matematiske funksjoner og konstanter henter vi fra math: sqrt (kvadratrot) og pi.

✏️Eksempel 3: Areal av en sirkel

Skriv et program som regner ut arealet av en sirkel med radius 3 cm og skriver ut svaret med to desimaler.

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

En liste samler flere verdier i én variabel: L = [4, 7, 1, 8].

PythonBetydning
L[0]det første elementet (nummereringen starter på 0)
L[-1]det siste elementet
len(L)antall elementer
sum(L)summen av elementene
max(L), min(L)største og minste element
L.append(5)legger 5 til bakerst i lista

sum(L) / len(L) er gjennomsnittet av tallene i lista.
✏️Eksempel 4: Lister

Hva skriver 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 elementer.

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

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

Svar: Se utskriften. Den siste linjen er gjennomsnittet av tallene i lista.

📝Oppgave 5

Hva skriver 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

Hva skriver programmet ut?

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

Fra formel til program

Når du skal lage et program ut fra en formel, går du fram slik:

- Gi hver størrelse et variabelnavn og en verdi.
- Skriv formelen med Python-operatorer.
- Skriv ut resultatet, gjerne med en forklarende tekst.

Kommentarer starter med #. Python hopper over dem, men de gjør programmet lettere å lese for sensor.

✏️Eksempel 5: Pytagoras

Skriv et program som regner ut hypotenusen i en rettvinklet trekant med kateter 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.

✏️Eksempel 6: Trekanttall

Trekanttall nummer nn er tn=n(n+1)2t_n = \dfrac{n(n+1)}{2}. Regn ut t12t_{12} med et 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 et partall, så // gir samme svar som /, men som heltall.

Svar: t12=78t_{12} = 78

📝Oppgave 7

Skriv et program som regner ut volumet av en sylinder med radius 2,5 cm og høyde 10 cm. Svaret skal skrives ut med én desimal. Bruk V=πr2hV = \pi r^2 h.

📝Oppgave 8

Skriv et program som regner ut hypotenusen i en rettvinklet trekant med kateter 5 og 12.

📝Oppgave 9

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

a

Kontroller formelen for figur 1, 2 og 3.

b

Skriv et program som regner ut antall kvadrater i figur 20.

Løs oppgaven

Oppgaver i eksamensform

Når en oppgave spør «Hva vil programmet brukes til?» eller «Hva forteller verdiene?», skal svaret si hva programmet regner ut i sammenhengen, ikke bare gjenta koden.

📝Oppgave 10

Kari har laget programmet nedenfor. Hva skriver programmet ut, og hva er hensikten med variabelen c?

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

📝Oppgave 11

Hva forteller de to verdiene som skrives ut når programmet kjøres?

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

📝Oppgave 12

Hva skriver programmet ut? Forklar hva programmet regner ut.

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

📝Oppgave 13

En figur lages av 144 små kvadrater. Du har 1 000 000 kvadrater.

a

Skriv et program som finner hvor mange hele figurer du kan lage, og hvor mange kvadrater du har igjen.

b

Kontroller svaret uten program.

📝Oppgave 14

Skriv et program som gjør om 10 000 sekunder til timer, minutter og sekunder.

Oppsummering

- = er tilordning: variabelen til venstre får verdien til høyre.
- En sporingstabell viser verdien til hver variabel etter hver linje.
- ** er potens, // heltallsdivisjon og % rest. / gir alltid desimaltall.
- print skriver ut, og f"{x:.2f}" gir to desimaler.
- 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.