Tilbake
9.1
Introduksjon til programmering med Python

9.1 Introduksjon til programmering med Python

Kom i gang med programmering gjennom tekstbasert koding i Python.

50 min
10 oppgaver
ProgrammeringScratchPythonKoding
Du leser den tradisjonelle versjonen
Din fremgang i kapitlet
0 / 10 oppgaver
Kapitlets plass i kurset

Introduksjon til programmering

Har du nokon gong lurt på korleis dataspel, appar og nettsider blir laga? Svaret er programmering. Programmering handlar om å skrive instruksjonar som ein datamaskin kan forstå og utføre. Desse instruksjonane kallar vi kode.

I matematikken bruker vi programmering som eit verktøy for å:
- Gjere mange berekningar raskt
- Utforske talmønster og samanhengar
- Teikne grafar og figurar
- Løyse problem som ville teke lang tid for hand

I dette kapittelet skal du lære:
- Skilnaden mellom blokkbasert og tekstbasert programmering
- Grunnleggjande omgrep som variablar, utskrift og inndata
- Å skrive enkle program med rekneoperasjonar

Programmering
Programmering er prosessen med å skrive instruksjonar (kode) som fortel ein datamaskin kva han skal gjere.

Eit program er ei samling av slike instruksjonar som utfører ei bestemt oppgåve.

Eit programmeringsspråk er eit sett med reglar og ord vi bruker for å skrive desse instruksjonane. Akkurat som vi har norsk, engelsk og spansk for å snakke med menneske, har vi Python, Scratch og JavaScript for å «snakke» med datamaskinar.

Blokkbasert og tekstbasert programmering

Det finst to hovudtypar programmeringsspråk:

Blokkbasert programmering (t.d. Scratch):
- Du dreg og slepp farga blokker for å byggje program
- Blokkene passar saman som puslespelbrikker
- Lettare å kome i gang – ingen skrivefeil i koden
- Blir brukt mykje i skulen for å lære grunnleggjande konsept

Tekstbasert programmering (t.d. Python):
- Du skriv instruksjonar med tekst
- Meir fleksibelt og kraftig enn blokkbasert
- Blir brukt av profesjonelle programmerarar
- Krev nøyaktig skriving (punktum, mellomrom osv. er viktig)

I dette kapittelet fokuserer vi på Python, som er eit tekstbasert språk kjent for å vere lett å lese og forstå.

Å kome i gang med Python

Python er eit av dei mest populære programmeringsspråka i verda. Det er spesielt godt eigna for nybyrjarar fordi koden ser ut nesten som vanleg engelsk.

Skrive ut tekst med print()

Det enklaste vi kan gjere er å skrive ut ei melding på skjermen. Vi bruker funksjonen print():

print("Hei, verda!")

Når vi køyrer dette programmet, blir teksten vist:

Hei, verda!

Viktig: Tekst som skal skrivast ut, må stå i hermeteikn ("..." eller '...'). Tal treng ikkje hermeteikn.

print("Mitt namn er Ola")
print(42)
print(3.14)

Utskrift:

Mitt namn er Ola
42
3.14
Variabel

Ein variabel er eit namn som lagrar ein verdi i datamaskinen. Du kan tenkje på ein variabel som ein merkelapp på ein boks: boksen inneheld ein verdi, og merkelappen (variabelnamnet) hjelper oss å finne han igjen.

I Python lagar vi ein variabel ved å bruke eit likskapsteikn:

alder = 13
navn = "Kari"
hoyde = 1.65

Her har vi laga tre variablar:
- alder inneheld heiltalet 1313
- navn inneheld teksten "Kari"
- hoyde inneheld desimaltalet 1,651{,}65

Reglar for variabelnamn:
- Kan innehalde bokstavar, tal og understrek (_)
- Kan ikkje starte med eit tal
- Kan ikkje innehalde mellomrom (bruk understrek: mitt_tall)
- Store og små bokstavar er forskjellige (Alder og alder er ulike variablar)

✏️Døme 1: Bruke variablar og print()

Skriv eit program som lagrar to tal i variablar og skriv ut summen.

Vi lagar to variablar og bruker print() til å vise resultatet:

a = 8
b = 5
summen = a + b
print(summen)

Utskrift:

13

Vi kan også skrive ut meir informasjon:

a = 8
b = 5
print("Summen av", a, "og", b, "er", a + b)

Utskrift:

Summen av 8 og 5 er 13

Forklaring: Når vi skriv a + b utanfor hermeteikn, reknar Python ut svaret. Komma i print() set mellomrom mellom delane.

📝Oppgave S1
Sant eller usant?

«I Python kan vi skrive x = x + 3. Det tyder at xx er lik x+3x + 3, altså 0=30 = 3, noko som er umogleg.»

Rekneoperasjonar i Python

Python kan brukast som ein avansert kalkulator. Her er dei viktigaste rekneoperasjonane:

OperatorTydingDømeResultat
+Addisjon7 + 310
-Subtraksjon7 - 34
*Multiplikasjon7 * 321
/Divisjon7 / 32.333...
**Potens2 ** 38
//Heiltalsdivisjon7 // 32
%Rest (modulo)7 % 31

Rekkjefølgje


Python følgjer dei vanlege reknereglane (PEMDAS):
1. Parentesar ()
2. Potensar **
3. Multiplikasjon *, divisjon /, heiltalsdivisjon //, modulo %
4. Addisjon +, subtraksjon -
resultat = 2 + 3 * 4
print(resultat)  # Skriv ut 14 (ikkje 20!)

resultat2 = (2 + 3) * 4
print(resultat2)  # Skriv ut 20
Teksten etter # er ein kommentar. Kommentarar er notat til deg sjølv og blir ignorerte av datamaskinen.
✏️Døme 2: Rekne areal og omkrins

Skriv eit program som reknar arealet og omkrinsen av eit rektangel med lengd 88 cm og breidd 55 cm.

Vi bruker formlane A=lbA = l \cdot b og O=2(l+b)O = 2 \cdot (l + b):

lengde = 8
bredde = 5

areal = lengde * bredde
omkrets = 2 * (lengde + bredde)

print("Lengde:", lengde, "cm")
print("Bredde:", bredde, "cm")
print("Areal:", areal, "cm²")
print("Omkrets:", omkrets, "cm")

Utskrift:

Lengde: 8 cm
Bredde: 5 cm
Areal: 40 cm²
Omkrets: 26 cm

Fordelen med å bruke variablar er at vi enkelt kan endre tala. Viss rektangelet er 12×712 \times 7 cm, treng vi berre å endre dei to fyrste linjene.

Inndata med input()

Ofte vil vi at brukaren sjølv skal kunne skrive inn verdiar. Då bruker vi funksjonen input():

navn = input("Kva heiter du? ")
print("Hei,", navn)

Når programmet køyrer, skriv det fyrst ut «Kva heiter du?» og ventar på at brukaren skriv noko. Etter at brukaren trykkjer Enter, blir svaret lagra i variabelen navn.

Viktig: input() gjev alltid tekst

Alt som kjem frå input() er tekst (ein «streng»). Viss vi vil bruke det som eit tal, må vi konvertere det:

# Utan konvertering - dette fungerer IKKJE for rekning:
tall_tekst = input("Skriv et tall: ")
# tall_tekst er no tekst, t.d. "5"

# Med konvertering - no kan vi rekne:
tall = int(input("Skriv et heltall: "))
# tall er no eit heiltal, t.d. 5

desimaltall = float(input("Skriv et desimaltall: "))
# desimaltall er no eit desimaltal, t.d. 3.14

- int() konverterer tekst til eit heiltal (integer)
- float() konverterer tekst til eit desimaltal (flyttal)

✏️Døme 3: Interaktiv kalkulator

Skriv eit program der brukaren skriv inn to tal, og programmet skriv ut summen, differansen, produktet og kvotienten.

tall1 = float(input("Skriv inn det første tallet: "))
tall2 = float(input("Skriv inn det andre tallet: "))

print("Summen er:", tall1 + tall2)
print("Differansen er:", tall1 - tall2)
print("Produktet er:", tall1 * tall2)

if tall2 != 0:
    print("Kvotienten er:", tall1 / tall2)
else:
    print("Kan ikke dele på null!")

Døme på køyring:

Skriv inn det første tallet: 15
Skriv inn det andre tallet: 4
Summen er: 19.0
Differansen er: 11.0
Produktet er: 60.0
Kvotienten er: 3.75

Merk: Vi bruker float() for å tillate desimaltal. Linja if tall2 != 0: sjekkar om det andre talet er null, slik at vi unngår divisjon med null (som er udefinert).

✏️Døme 4: Temperaturomrekning

Skriv eit program som reknar om temperatur frå Celsius til Fahrenheit. Formelen er F=95C+32\displaystyle F = \frac{9}{5} \cdot C + 32.

celsius = float(input("Skriv temperatur i Celsius: "))
fahrenheit = (9/5) * celsius + 32
print(celsius, "°C er det samme som", fahrenheit, "°F")

Døme på køyring:

Skriv temperatur i Celsius: 20
20.0 °C er det samme som 68.0 °F

Eit anna døme:

Skriv temperatur i Celsius: 0
0.0 °C er det samme som 32.0 °F

Vi veit at 0°C=32°F0°\text{C} = 32°\text{F} (frysepunktet til vatn), og 100°C=212°F100°\text{C} = 212°\text{F} (kokepunktet). Programmet gjev rette svar!

📝Oppgave 1

Kva skriv dette programmet ut?

a
x = 5
y = 3
print(x + y)
b
a = 10
b = 4
print(a - b)
print(a * b)
c
x = 2
print(x ** 4)
Løs oppgavenTren
📝Oppgave 2

Kva skriv dette programmet ut?

a
print("3 + 4")
b
print(3 + 4)
c
print(10 / 3)
d
print(10 // 3)
print(10 % 3)
Løs oppgavenTren
📝Oppgave 3

Skriv eit program som lagrar lengda og breidda av eit rektangel i variablar, og skriv ut arealet.

📝Oppgave 4

Skriv eit program som reknar ut gjennomsnittet av tre prøveresultat. Brukaren skal skrive inn dei tre resultata.

📝Oppgave 5

Skriv eit program som reknar om frå kilometer til mil (norske mil). Brukaren skriv inn talet på kilometer.

📝Oppgave 6

Kva skriv dette programmet ut? Følg koden linje for linje.

a
x = 10
x = x + 5
print(x)
b
a = 3
b = a * 2
a = a + 1
print(a)
print(b)
Løs oppgavenTren
📝Oppgave 7

Skriv eit program som reknar arealet av ein sirkel. Brukaren skriv inn radiusen. Bruk formelen A=πr2A = \pi \cdot r^2.

📝Oppgave 8

Skriv eit program som reknar ut prisen etter rabatt. Brukaren skriv inn den opphavlege prisen og rabatten i prosent.

📝Oppgave 9

Skriv eit program som tek inn eit tal på sekund og reknar om til timar, minutt og sekund.

📝Oppgave 10

Forklar med eigne ord kva følgjande program gjer. Kva blir skrive ut viss brukaren tastar inn 77?

a
tall = int(input("Skriv et tall: "))
dobbelt = tall * 2
kvadrat = tall ** 2
print("Dobbelt:", dobbelt)
print("Kvadrat:", kvadrat)
print("Sum:", dobbelt + kvadrat)
📝Oppgave D1
Drøftingsoppgåve: Nokre meiner at alle bør lære seg programmering, medan andre meiner det er nok å kunne bruke ferdige program. Gjev minst to argument for kvar side. Bruk gjerne døme frå matematikken der programmering kan vere nyttig.

Oppsummering

Programmering


- Programmering er å skrive instruksjonar som ein datamaskin kan utføre
- Blokkbasert (t.d. Scratch): dra-og-slepp-blokker, lett å kome i gang
- Tekstbasert (t.d. Python): skrive kode som tekst, meir kraftig og fleksibelt — dette bruker vi i dette kapittelet

Grunnleggjande Python


- print() – skriv ut tekst eller verdiar på skjermen
- input() – lèt brukaren skrive inn data
- int() og float() – konverterer tekst til heiltal eller desimaltal
- Variablar lagrar verdiar med eit namn, t.d. x = 5

Rekneoperasjonar


OperatorTyding
+, -Addisjon, subtraksjon
*, /Multiplikasjon, divisjon
**Potens (xnx^n)
//, %Heiltalsdivisjon, rest (modulo)

Tips


- Kommentarar blir skrivne med # og forklarar koden
- Feilmeldingar er normale – les dei nøye for å finne feilen
- Test programmet ofte undervegs
Repetisjonsoppgåver
Din fremgang
0deloppgaver0 / 6 oppgaver

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.