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 noen gang lurt på hvordan dataspill, apper og nettsider lages? Svaret er programmering. Programmering handler om å skrive instruksjoner som en datamaskin kan forstå og utføre. Disse instruksjonene kaller vi kode.

I matematikken bruker vi programmering som et verktøy for å:
- Gjøre mange beregninger raskt
- Utforske tallmønstre og sammenhenger
- Tegne grafer og figurer
- Løse problemer som ville tatt lang tid for hånd

I dette kapittelet skal du lære:
- Forskjellen mellom blokkbasert og tekstbasert programmering
- Grunnleggende begreper som variabler, utskrift og inndata
- Å skrive enkle programmer med regneoperasjoner

Programmering
Programmering er prosessen med å skrive instruksjoner (kode) som forteller en datamaskin hva den skal gjøre.

Et program er en samling av slike instruksjoner som utfører en bestemt oppgave.

Et programmeringsspråk er et sett med regler og ord vi bruker for å skrive disse instruksjonene. Akkurat som vi har norsk, engelsk og spansk for å snakke med mennesker, har vi Python, Scratch og JavaScript for å «snakke» med datamaskiner.

Blokkbasert og tekstbasert programmering

Det finnes to hovedtyper programmeringsspråk:

Blokkbasert programmering (f.eks. Scratch):
- Du drar og slipper fargede blokker for å bygge programmer
- Blokkene passer sammen som puslespillbrikker
- Lettere å komme i gang – ingen skrivefeil i koden
- Brukes mye i skolen for å lære grunnleggende konsepter

Tekstbasert programmering (f.eks. Python):
- Du skriver instruksjoner med tekst
- Mer fleksibelt og kraftig enn blokkbasert
- Brukes av profesjonelle programmerere
- Krever nøyaktig skriving (punktum, mellomrom osv. er viktig)

I dette kapittelet fokuserer vi på Python, som er et tekstbasert språk kjent for å være lett å lese og forstå.

Å komme i gang med Python

Python er et av verdens mest populære programmeringsspråk. Det er spesielt godt egnet for nybegynnere fordi koden ser ut nesten som vanlig engelsk.

Skrive ut tekst med print()

Den enkleste tingen vi kan gjøre er å skrive ut en melding på skjermen. Vi bruker funksjonen print():

print("Hei, verden!")

Når vi kjører dette programmet, vises teksten:

Hei, verden!

Viktig: Tekst som skal skrives ut, må stå i anførselstegn ("..." eller '...'). Tall trenger ikke anførselstegn.

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

Utskrift:

Mitt navn er Ola
42
3.14
Variabel

En variabel er et navn som lagrer en verdi i datamaskinen. Du kan tenke på en variabel som en merkelapp på en boks: boksen inneholder en verdi, og merkelappen (variabelnavnet) hjelper oss å finne den igjen.

I Python lager vi en variabel ved å bruke et likhetstegn:

alder = 13
navn = "Kari"
hoyde = 1.65

Her har vi laget tre variabler:
- alder inneholder heltallet 1313
- navn inneholder teksten "Kari"
- hoyde inneholder desimaltallet 1,651{,}65

Regler for variabelnavn:
- Kan inneholde bokstaver, tall og understrek (_)
- Kan ikke starte med et tall
- Kan ikke inneholde mellomrom (bruk understrek: mitt_tall)
- Store og små bokstaver er forskjellige (Alder og alder er ulike variabler)

✏️Eksempel 1: Bruke variabler og print()

Skriv et program som lagrer to tall i variabler og skriver ut summen.

Vi lager to variabler og bruker print() til å vise resultatet:

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

Utskrift:

13

Vi kan også skrive ut mer 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 skriver a + b utenfor anførselstegn, regner Python ut svaret. Komma i print() setter mellomrom mellom delene.

📝Oppgave S1
Sant eller usant?

«I Python kan vi skrive x = x + 3. Det betyr at xx er lik x+3x + 3, altså 0=30 = 3, noe som er umulig.»

Regneoperasjoner i Python

Python kan brukes som en avansert kalkulator. Her er de viktigste regneoperasjonene:

OperatorBetydningEksempelResultat
+Addisjon7 + 310
-Subtraksjon7 - 34
*Multiplikasjon7 * 321
/Divisjon7 / 32.333...
**Potens2 ** 38
//Heltallsdivisjon7 // 32
%Rest (modulo)7 % 31

Regnerekkefølge


Python følger de vanlige regnereglene (PEMDAS):
1. Parenteser ()
2. Potenser **
3. Multiplikasjon *, divisjon /, heltallsdivisjon //, modulo %
4. Addisjon +, subtraksjon -
resultat = 2 + 3 * 4
print(resultat)  # Skriver ut 14 (ikke 20!)

resultat2 = (2 + 3) * 4
print(resultat2)  # Skriver ut 20
Teksten etter # er en kommentar. Kommentarer er notater til deg selv og blir ignorert av datamaskinen.
✏️Eksempel 2: Beregne areal og omkrets

Skriv et program som beregner arealet og omkretsen av et rektangel med lengde 88 cm og bredde 55 cm.

Vi bruker formlene 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 variabler er at vi enkelt kan endre tallene. Hvis rektangelet er 12×712 \times 7 cm, trenger vi bare å endre de to første linjene.

Inndata med input()

Ofte vil vi at brukeren selv skal kunne skrive inn verdier. Da bruker vi funksjonen input():

navn = input("Hva heter du? ")
print("Hei,", navn)

Når programmet kjører, skriver det først ut «Hva heter du?» og venter på at brukeren skriver noe. Etter at brukeren trykker Enter, lagres svaret i variabelen navn.

Viktig: input() gir alltid tekst

Alt som kommer fra input() er tekst (en «streng»). Hvis vi vil bruke det som et tall, må vi konvertere det:

# Uten konvertering - dette fungerer IKKE for regning:
tall_tekst = input("Skriv et tall: ")
# tall_tekst er nå tekst, f.eks. "5"

# Med konvertering - nå kan vi regne:
tall = int(input("Skriv et heltall: "))
# tall er nå et heltall, f.eks. 5

desimaltall = float(input("Skriv et desimaltall: "))
# desimaltall er nå et desimaltall, f.eks. 3.14

- int() konverterer tekst til et heltall (integer)
- float() konverterer tekst til et desimaltall (flyttall)

✏️Eksempel 3: Interaktiv kalkulator

Skriv et program der brukeren skriver inn to tall, og programmet skriver 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!")

Eksempel på kjøring:

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 desimaltall. Linjen if tall2 != 0: sjekker om det andre tallet er null, slik at vi unngår divisjon med null (som er udefinert).

✏️Eksempel 4: Temperaturomregning

Skriv et program som omregner temperatur fra 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")

Eksempel på kjøring:

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

Et annet eksempel:

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

Vi vet at 0°C=32°F0°\text{C} = 32°\text{F} (frysepunktet til vann), og 100°C=212°F100°\text{C} = 212°\text{F} (kokepunktet). Programmet gir riktige svar!

📝Oppgave 1

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

Hva skriver 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 et program som lagrer lengden og bredden av et rektangel i variabler, og skriver ut arealet.

📝Oppgave 4

Skriv et program som regner ut gjennomsnittet av tre prøveresultater. Bruker skal skrive inn de tre resultatene.

📝Oppgave 5

Skriv et program som omregner fra kilometer til mil (norske mil). Brukeren skriver inn antall kilometer.

📝Oppgave 6

Hva skriver 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 et program som beregner arealet av en sirkel. Brukeren skriver inn radiusen. Bruk formelen A=πr2A = \pi \cdot r^2.

📝Oppgave 8

Skriv et program som regner ut prisen etter rabatt. Brukeren skriver inn den opprinnelige prisen og rabatten i prosent.

📝Oppgave 9

Skriv et program som tar inn et antall sekunder og regner om til timer, minutter og sekunder.

📝Oppgave 10

Forklar med egne ord hva følgende program gjør. Hva skrives ut hvis brukeren taster 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øftingsoppgave: Noen mener at alle bør lære seg programmering, mens andre mener det er nok å kunne bruke ferdige programmer. Gi minst to argumenter for hver side. Bruk gjerne eksempler fra matematikken der programmering kan være nyttig.

Oppsummering

Programmering


- Programmering er å skrive instruksjoner som en datamaskin kan utføre
- Blokkbasert (f.eks. Scratch): dra-og-slipp-blokker, lett å komme i gang
- Tekstbasert (f.eks. Python): skrive kode som tekst, mer kraftig og fleksibelt — dette bruker vi i dette kapittelet

Grunnleggende Python


- print() – skriver ut tekst eller verdier på skjermen
- input() – lar brukeren skrive inn data
- int() og float() – konverterer tekst til heltall eller desimaltall
- Variabler lagrer verdier med et navn, f.eks. x = 5

Regneoperasjoner


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

Tips


- Kommentarer skrives med # og forklarer koden
- Feilmeldinger er normale – les dem nøye for å finne feilen
- Test programmet ofte underveis
Repetisjonsoppgaver
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.