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 ikke bare for profesjonelle utviklere – det er et verktøy som kan brukes i alle fag, inkludert naturfag. Forskere bruker programmer til å simulere vær, analysere DNA, og beregne baner til romfartøy. I dette kapittelet lærer du grunnleggende programmering, hvordan du kan bruke det til å utforske naturfaglige problemstillinger, og hvordan data samles inn, analyseres og presenteres.

Hva er programmering?
Programmering er å skrive instruksjoner (kode) som en datamaskin kan utføre.

Et program (eller kode) er en rekke presise instruksjoner som datamaskinen følger steg for steg.

Et programmeringsspråk er et formelt språk for å skrive instruksjoner. Vanlige språk:
- Python – mye brukt i vitenskap og opplæring (det vi bruker her)
- Scratch – visuelt blokkbasert språk
- JavaScript – brukes på nettsider

Viktige begreper:
- Variabel – en navngitt «boks» som lagrer en verdi (f.eks. temperatur = 20)
- Løkke (loop) – gjentar instruksjoner flere ganger
- Betingelse (if/else) – datamaskinen gjør ulike ting avhengig av en betingelse
- Funksjon – en gjenbrukbar blokk med kode

📝Oppgave 5.6.1

Hva er en variabel i programmering?

Grunnleggende Python-kode

Her er noen eksempler på enkle Python-programmer:

Variabler og utskrift


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

Regneoperasjoner


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

Betingelser (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
✏️Eksempel: Beregne gjennomsnitt med Python

En elev har målt temperaturen i klasserommet fem ganger i løpet av en dag: 20.5, 21.3, 22.1, 21.8 og 20.9 grader. Skriv et Python-program som beregner 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 en liste som inneholder alle målingene
- sum() legger sammen alle verdiene i listen
- len() teller antall verdier
- round() runder av til 1 desimal
- Gjennomsnitt = sum / antall = 106.6 / 5 = 21.32 ≈ 21.3 °C

📝Oppgave 5.6.2

Hva vil følgende 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 datatyper

I naturfag samler vi inn data gjennom observasjoner, målinger og eksperimenter.

Typer data


- Kvantitative data – tallverdier som kan måles og regnes med
- Eksempler: temperatur (21.3 °C), lengde (15 cm), masse (250 g), tid (3.5 s)
- Kvalitative data – beskrivelser som ikke er tall
- Eksempler: farge (rød), form (rund), lukt (sur)

Datasett


Et datasett er en samling av data, ofte organisert i en tabell:

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

Dette datasettet viser temperaturen i vann som varmes opp over tid.
Gjennomsnitt, median og variasjonsbredde

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

Gjennomsnitt (middelverdien):
Summen av alle verdier delt på antall verdier.
Gjennomsnitt = (sum av verdier) / (antall verdier)

Median (midtverdien):
Den midterste verdien når dataene er sortert fra minst til størst.
- Odde antall: den midterste verdien
- Partall: gjennomsnittet av de to midterste

Variasjonsbredde (spredning):
Forskjellen mellom største og minste verdi.
Variasjonsbredde = største verdi – minste verdi

Eksempel: Datasett: 3, 5, 7, 8, 12
- Gjennomsnitt: (3 + 5 + 7 + 8 + 12) / 5 = 35 / 5 = 7
- Median: 7 (midterste verdi i sortert rekke)
- Variasjonsbredde: 12 – 3 = 9

📝Oppgave 5.6.3

En elev måler pH i seks vannprøver: 6.5, 7.0, 6.8, 7.2, 6.5, 7.0. Hva er variasjonsbredden?

Presentasjon av data – diagrammer

Data presenteres visuelt for å gjøre mønstre tydelige:

Søylediagram (stolpediagram)


- Brukes for å sammenligne kategorier
- Eksempel: Antall fugler av ulike arter observert i en hage
- Søylene står ved siden av hverandre

Linjediagram


- Brukes for å vise endring over tid eller sammenhengen mellom to variabler
- Eksempel: Temperatur i vann som varmes opp over tid
- Punktene forbindes med linjer

Sektordiagram (kakediagram)


- Brukes for å vise andeler av en helhet
- Eksempel: Fordeling av energikilder i Norge
- Hele sirkelen = 100 %

Spredningsdiagram (punktdiagram)


- Brukes for å se om det er sammenheng mellom to variabler
- Eksempel: Sammenheng mellom studietid og karakter
- Hvert punkt representerer en måling

Viktig ved alle diagrammer:


- Tittel som beskriver hva diagrammet viser
- Aksetitler med enhet (f.eks. «Tid (min)», «Temperatur (°C)»)
- Riktig skala på aksene
✏️Eksempel: Analysere et datasett med Python

En klasse har målt høyden til 10 planter etter to uker med ulik mengde lys:

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

Skriv et Python-program som beregner 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 fikk mye lys vokste i gjennomsnitt 8 cm mer. Dette støtter hypotesen om at lys er viktig for plantevekst (fotosyntese).

📝Oppgave 5.6.4

En elev måler temperaturen utendørs kl. 08, 10, 12, 14 og 16 i fem dager og får disse gjennomsnittsverdiene:

Mandag: 8°C, Tirsdag: 10°C, Onsdag: 12°C, Torsdag: 9°C, Fredag: 11°C

a) Beregn gjennomsnittstemperaturen for hele uken.
b) Finn medianen.
c) Beregn variasjonsbredden.
d) Hvilken type diagram ville vært best egnet til å vise temperaturutviklingen gjennom uken? Begrunn svaret.

📝Oppgave 5.6.5

Hva er forskjellen mellom kvantitative og kvalitative data?

📝Oppgave 5.6.6

Se på følgende Python-kode:

temperatur = 38.2

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

Hva vil programmet skrive ut? Forklar hvorfor.

📝Oppgave 5.6.7

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

📝Oppgave 5.6.8

En forsker har samlet inn data om CO₂-konsentrasjonen i atmosfæren over 6 år:

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

a) Beregn den gjennomsnittlige årlige økningen i CO₂.
b) Hvis trenden fortsetter, hva blir CO₂-konsentrasjonen i 2030?
c) Skriv et Python-program (eller pseudokode) som beregner dette.

📝Oppgave 5.6.9

En elev har gjennomført et forsøk der hun måler hvor lang tid det tar for en brustablett å løse seg opp i vann med ulik temperatur:

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

a) Hvilken type diagram er best egnet til å presentere disse dataene? Begrunn.
b) Beskriv sammenhengen mellom temperatur og oppløsningstid.
c) Forklar resultatet med utgangspunkt i partikkelteori.
d) Skriv pseudokode (eller Python-kode) som finner den raskeste og tregeste oppløsningstiden og forskjellen mellom dem.

Oppsummering

I dette kapittelet har du lært:

- Programmering: å skrive instruksjoner (kode) en datamaskin kan utføre.
- Python-grunnlag: variabler, regneoperasjoner, if/else og loekker.
- Datatyper: tall, tekst og sannhetsverdier.
- Statistiske mål: gjennomsnitt, median og variasjonsbredde.
- Presentasjon av data: søyle-, linje-, sektor- og spredningsdiagram.

Noekkelbegreper


BegrepForklaring
ProgrammeringÅ skrive kode en datamaskin kan utføre
VariabelNavngitt lagringssted for en verdi
LøkkeKode som gjentas flere ganger
MedianMidterste verdi i et 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.