Tilbake
5.6

5.6 Programmering og dataanalyse

Lær grunnleggende programmering, hvordan datamaskiner behandler informasjon, bruk av programmering i naturfag, og hvordan data samles inn, analyseres og presenteres.

45 min
9 oppgaver
Du leser den tradisjonelle versjonen
Din fremgang i kapitlet
0 / 9 oppgaver

Programmering og dataanalyse

Programmering er ikkje berre for profesjonelle utviklarar – det er eit verktøy som kan brukast i alle fag, inkludert naturfag. Forskarar bruker program til å simulere vêr, analysere DNA, og rekne ut baner til romfartøy. I dette kapittelet lærer du grunnleggjande programmering, korleis du kan bruke det til å utforske naturfaglege problemstillingar, og korleis data blir samla inn, analysert og presentert.

Kva er programmering?
Programmering er å skrive instruksjonar (kode) som ei datamaskin kan utføre.

Eit program (eller kode) er ei rekkje presise instruksjonar som datamaskinen følgjer steg for steg.

Eit programmeringsspråk er eit formelt språk for å skrive instruksjonar. Vanlege språk:
- Python – mykje brukt i vitskap og opplæring (det vi bruker her)
- Scratch – visuelt blokkbasert språk
- JavaScript – blir brukt på nettsider

Viktige omgrep:
- Variabel – ein namngjeven «boks» som lagrar ein verdi (t.d. temperatur = 20)
- Løkke (loop) – gjentek instruksjonar fleire gonger
- Vilkår (if/else) – datamaskinen gjer ulike ting avhengig av eit vilkår
- Funksjon – ein gjenbrukbar blokk med kode

📝Oppgave 5.6.1

Kva er ein variabel i programmering?

Grunnleggjande Python-kode

Her er nokre døme på enkle Python-program:

Variablar og utskrift


navn = "Sara"
alder = 14
print("Hei, jeg heter", navn, "og er", alder, "år.")
# Utskrift: Hei, jeg heter Sara og er 14 år.

Rekneoperasjonar


lengde = 5.0      # meter
bredde = 3.0      # meter
areal = lengde * bredde
print("Arealet er", areal, "kvadratmeter")
# Utskrift: Arealet er 15.0 kvadratmeter

Vilkår (if/else)


temperatur = 35

if temperatur > 37.5:
    print("Du har feber!")
elif temperatur > 36.0:
    print("Normal temperatur.")
else:
    print("Litt lav temperatur.")

Løkker (for-løkke)


for i in range(5):
    print("Måling nummer", i + 1)
# Skriver ut: Måling nummer 1, Måling nummer 2, ... Måling nummer 5
✏️Døme: Rekne ut gjennomsnitt med Python

Ein elev har målt temperaturen i klasserommet fem gonger i løpet av ein dag: 20.5, 21.3, 22.1, 21.8 og 20.9 grader. Skriv eit Python-program som reknar ut gjennomsnittstemperaturen.

# Liste med temperaturmålinger
temperaturer = [20.5, 21.3, 22.1, 21.8, 20.9]

# Beregn gjennomsnitt
gjennomsnitt = sum(temperaturer) / len(temperaturer)

print("Antall målinger:", len(temperaturer))
print("Sum:", sum(temperaturer))
print("Gjennomsnitt:", round(gjennomsnitt, 1), "grader")

Utskrift:

Antall målinger: 5
Sum: 106.6
Gjennomsnitt: 21.3 grader

Forklaring:
- temperaturer er ei liste som inneheld alle målingane
- sum() legg saman alle verdiane i lista
- len() tel talet på verdiar
- round() rundar av til 1 desimal
- Gjennomsnitt = sum / tal = 106.6 / 5 = 21.32 ≈ 21.3 °C

📝Oppgave 5.6.2

Kva vil følgjande Python-program skrive ut?

tall = [2, 4, 6, 8, 10]
resultat = 0
for t in tall:
    resultat = resultat + t
print("Summen er:", resultat)
print("Gjennomsnittet er:", resultat / len(tall))

Datainnsamling og datatypar

I naturfag samlar vi inn data gjennom observasjonar, målingar og eksperiment.

Typar data


- Kvantitative data – talverdiar som kan målast og reknast med
- Døme: temperatur (21.3 °C), lengd (15 cm), masse (250 g), tid (3.5 s)
- Kvalitative data – skildringar som ikkje er tal
- Døme: farge (raud), form (rund), lukt (sur)

Datasett


Eit datasett er ei samling av data, ofte organisert i ein tabell:

Tid (min)Temperatur (°C)
020.0
535.2
1052.8
1568.1
2080.5
2591.3
3099.8

Dette datasettet viser temperaturen i vatn som blir varma opp over tid.
Gjennomsnitt, median og variasjonsbreidd

Når vi analyserer data, bruker vi statistiske mål:

Gjennomsnitt (middelverdien):
Summen av alle verdiar delt på talet på verdiar.
Gjennomsnitt = (sum av verdiar) / (tal på verdiar)

Median (midtverdien):
Den midtarste verdien når dataa er sorterte frå minst til størst.
- Oddetal: den midtarste verdien
- Partal: gjennomsnittet av dei to midtarste

Variasjonsbreidd (spreiing):
Skilnaden mellom største og minste verdi.
Variasjonsbreidd = største verdi – minste verdi

Døme: Datasett: 3, 5, 7, 8, 12
- Gjennomsnitt: (3 + 5 + 7 + 8 + 12) / 5 = 35 / 5 = 7
- Median: 7 (midtarste verdi i sortert rekkje)
- Variasjonsbreidd: 12 – 3 = 9

📝Oppgave 5.6.3

Ein elev måler pH i seks vassprøver: 6.5, 7.0, 6.8, 7.2, 6.5, 7.0. Kva er variasjonsbreidda?

Presentasjon av data – diagram

Data blir presentert visuelt for å gjere mønster tydelege:

Søylediagram (stolpediagram)


- Blir brukt for å samanlikne kategoriar
- Døme: Talet på fuglar av ulike artar observert i ein hage
- Søylene står ved sida av kvarandre

Linjediagram


- Blir brukt for å vise endring over tid eller samanhengen mellom to variablar
- Døme: Temperatur i vatn som blir varma opp over tid
- Punkta blir bundne saman med linjer

Sektordiagram (kakediagram)


- Blir brukt for å vise delar av ein heilskap
- Døme: Fordeling av energikjelder i Noreg
- Heile sirkelen = 100 %

Spreiingsdiagram (punktdiagram)


- Blir brukt for å sjå om det er samanheng mellom to variablar
- Døme: Samanheng mellom studietid og karakter
- Kvart punkt representerer ei måling

Viktig ved alle diagram:


- Tittel som skildrar kva diagrammet viser
- Aksetitlar med eining (t.d. «Tid (min)», «Temperatur (°C)»)
- Riktig skala på aksane
✏️Døme: Analysere eit datasett med Python

Ein klasse har målt høgda til 10 planter etter to veker med ulik mengd lys:

Gruppe A (mykje lys): 15, 18, 17, 16, 19 cm
Gruppe B (lite lys): 8, 10, 9, 11, 7 cm

Skriv eit Python-program som reknar ut gjennomsnitt for begge gruppene og konkluderer.

gruppe_a = [15, 18, 17, 16, 19]  # Mye lys
gruppe_b = [8, 10, 9, 11, 7]     # Lite lys

snitt_a = sum(gruppe_a) / len(gruppe_a)
snitt_b = sum(gruppe_b) / len(gruppe_b)

print("Gruppe A (mye lys):")
print("  Høyder:", gruppe_a)
print("  Gjennomsnitt:", snitt_a, "cm")

print("Gruppe B (lite lys):")
print("  Høyder:", gruppe_b)
print("  Gjennomsnitt:", snitt_b, "cm")

print("Forskjell:", snitt_a - snitt_b, "cm")

if snitt_a > snitt_b:
    print("Plantene med mye lys vokste mest.")
else:
    print("Plantene med lite lys vokste mest.")

Utskrift:

Gruppe A (mye lys):
  Høyder: [15, 18, 17, 16, 19]
  Gjennomsnitt: 17.0 cm
Gruppe B (lite lys):
  Høyder: [8, 10, 9, 11, 7]
  Gjennomsnitt: 9.0 cm
Forskjell: 8.0 cm
Plantene med mye lys vokste mest.

Konklusjon: Plantene som fekk mykje lys voks i gjennomsnitt 8 cm meir. Dette støttar hypotesen om at lys er viktig for plantevekst (fotosyntese).

📝Oppgave 5.6.4

Ein elev måler temperaturen utandørs kl. 08, 10, 12, 14 og 16 i fem dagar og får desse gjennomsnittsverdiane:

Måndag: 8°C, Tysdag: 10°C, Onsdag: 12°C, Torsdag: 9°C, Fredag: 11°C

a) Rekn ut gjennomsnittstemperaturen for heile veka.
b) Finn medianen.
c) Rekn ut variasjonsbreidda.
d) Kva type diagram ville vore best eigna til å vise temperaturutviklinga gjennom veka? Grunngi svaret.

📝Oppgave 5.6.5

Kva er skilnaden mellom kvantitative og kvalitative data?

📝Oppgave 5.6.6

Sjå på følgjande Python-kode:

temperatur = 38.2

if temperatur > 37.5:
    print("Feber")
elif temperatur > 36.0:
    print("Normal")
else:
    print("Lav")

Kva vil programmet skrive ut? Forklar kvifor.

📝Oppgave 5.6.7

Skriv (på papir eller i Python) eit program som:
1. Har ei liste med pH-verdiar: [6.2, 7.0, 5.8, 7.5, 6.0, 8.1]
2. Går gjennom lista og skriv ut om kvar verdi er «sur» (under 7), «nøytral» (lik 7) eller «basisk» (over 7).

📝Oppgave 5.6.8

Ein forskar har samla inn data om CO₂-konsentrasjonen i atmosfæren over 6 år:

ÅrCO₂ (ppm)
2018408
2019411
2020414
2021416
2022419
2023422

a) Rekn ut den gjennomsnittlege årlege auken i CO₂.
b) Dersom trenden held fram, kva blir CO₂-konsentrasjonen i 2030?
c) Skriv eit Python-program (eller pseudokode) som reknar ut dette.

📝Oppgave 5.6.9

Ein elev har gjennomført eit forsøk der ho måler kor lang tid det tek for ei brustablett å løyse seg opp i vatn med ulik temperatur:

Temperatur (°C)Tid (sekund)
10180
20120
3075
4050
5035
6022

a) Kva type diagram er best eigna til å presentere desse dataa? Grunngi.
b) Skildre samanhengen mellom temperatur og oppløysingstid.
c) Forklar resultatet med utgangspunkt i partikkelteori.
d) Skriv pseudokode (eller Python-kode) som finn den raskaste og tregaste oppløysingstida og skilnaden mellom dei.

Oppsummering

I dette kapittelet har du lært:

- Programmering: å skrive instruksjonar (kode) ei datamaskin kan utføre.
- Python-grunnlag: variablar, rekneoperasjonar, if/else og løkker.
- Datatypar: tal, tekst og sanningsverdiar.
- Statistiske mål: gjennomsnitt, median og variasjonsbreidd.
- Presentasjon av data: søyle-, linje-, sektor- og spreiingsdiagram.

Nøkkelomgrep


OmgrepForklaring
ProgrammeringÅ skrive kode ei datamaskin kan utføre
VariabelNamngjeven lagringsstad for ein verdi
LøkkeKode som blir gjenteken fleire gonger
MedianMidtarste verdi i eit sortert datasett

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.