Hopp til innhold
Øvelse

Halveringstid – programmering i Python

På denne siden finner du et utvalg av oppgaver der du skal bruke programmeringsspråket Python til å utforske halveringstid, bruke funksjoner, tegne grafer og jobbe med aldersdatering. Oppgavene har en stigende vanskelighetsgrad, men prøv selv før du studerer fasiten.

Halveringstid

Halveringstid er den tiden det tar før halvparten av atomene av et bestemt grunnstoff har sendt ut radioaktiv stråling og blitt forvandlet til et annet grunnstoff.

Andelen som fremdeles ikke har sendt ut stråling er uavhengig av hvor mye av grunnstoffet som er tilgjengelig, men avhenger bare av halveringstiden og hvor lang tid som er gått.

Hvor mange prosent av atomene som enda ikke har sendt ut stråling, kan beregnes med funksjonen
p(t,h)=0.5th·100%, hvor h er halveringstiden til grunnstoffet og t er tiden som har gått.

Vi kan lage et program som ber brukeren om disse to verdiene og deretter beregner hvor mange prosent av mengden som gjenstår, slik:

Bruke funksjoner

En mer oversiktlig måte å få Python til å gjøre beregninger på, er å bruke funksjoner. Disse lages ved å skrive "def" etterfulgt av funksjonsnavn og hvilke variabler funksjonen trenger. Til slutt må vi skrive "return" for å angi hva funksjonen skal regne ut. Da kan vi lage det samme programmet som over på denne måten:

Forsøk å kjøre programmet noen ganger og se om det stemmer med det du vet om halveringstid. For eksempel: Skriv 6 for t og 3 for h. Da har det gått 2 halveringstider. Etter den første halveringstiden vil det være 50 % igjen og etter den andre halveringstiden vil det være 25 % igjen. Altså burde programmet gi 25 % som sitt svar.

En fordel med funksjoner er at du kan få programmet til å gjøre beregningen på nytt med andre tall ved å skrive p(t,h), der t og h er tall. Det er veldig nyttig i større program. Merk også at funksjoner skrives i toppen av koden, noe som kanskje kan være litt ulogisk i starten.

Grafer

Dersom du vil ha en graf som viser hvor mange prosent som gjenstår etter en viss tid, kan koden utvides slik:

Her har vi startet programmet med å importere to biblioteker (numpy og matplotlib.pyplot). Det gjør vi fordi Python selv ikke har noen måte å gjøre mer avanserte matematiske operasjoner på, men kan "lære" seg det ved å bruke numpy. For å tegne en graf trenger Python matplotlib.pyplot for å gjøre det.

Kjør programmet med ulike verdier for tidslengde og halveringstid.

Hvor mange kilo er igjen?

Programmet vi har laget, angir hvor mange prosent som gjenstår av opprinnelig mengde. Et mer praktisk eksempel kan være at du har en klump med 2 kg av et radioaktivt grunnstoff. Forsøk å lage et program som viser hvor mange kilo du har igjen av stoffet i stedet for prosent.

Ekstraoppgaver

Forsøk å endre programmet slik at brukeren kan angi hvor mange kilo hen starter med.

Formelsnuing: Finne halveringstiden

Tenk deg nå at du har mottatt en klump med radioaktivt materiale. Du vet ikke hvilket stoff det er snakk om, men du vet at dersom du klarer å finne halveringstiden til stoffet, kan det gi en indikasjon på hvilket stoff det er snakk om, siden alle grunnstoff har ulik halveringstid.

Formelen for halveringstid finner vi ved å snu på formelen vi hadde i det forrige eksempelet (prøv å snu den selv dersom du alt har lært om logaritmer!):
h=lg(0.5)lg(p)·t

Ved å gjøre en praktisk måling, finner du ut at 99,8% gjenstår etter én måned. Ta utgangspunkt i programmet over og skriv et program som regner ut halveringstiden til stoffet du har med å gjøre. Når du vil bruke lg, henter du den fra numpy ved å skrive "np.log":

Aldersbetsemmelse med karbon-14 (C-14-datering)

Halveringstid brukes mye for å aldersbestemme steiner eller skjeletter. For skjeletter er karbon-14 et slikt radioaktivt stoff (radioaktiv isotop
14C) som brukes. Den samles opp i kroppen når et dyr spiser mat. Når dyret dør og ikke lenger spiser, vil mengden karbon-14 i skjelettet gradvis avta. Halveringstiden til karbon-14 er 5730 år, så hvis vi finner et skjelett og måler hvor mange prosent karbon-14 som er igjen i det, kan vi regne ut hvor gammelt det er ved å snu på funksjonen vår:
t=lg(p100)lg(12)·h, hvor h nå er 5730. Forsøk å lage et program som finner ut hvor gammel et skjelett er ved å bruke denne funksjonen.

Utforskningsoppgave

Prøv programmet med litt forskjellige verdier. Kan du ut i fra resultatet si noe om hvorfor karbon-14 kan brukes på mammutskjelett, men ikke på dinosaurskjelett? Hvis du angir prosenten i desimaltall, må du bruke punktum i stedet for komma for at programmet skal forstå.

"{:.0f}".format brukes for å endre antall desimaler som python gir i svaret, her 0 desimaler.

Relatert innhold

Oppgaver og aktiviteter
Simulering: halveringstid

I denne simuleringen kan du justere halveringstiden og sammenligne hvor lang tid det tar før de første og siste 50 % av kjernene har reagert.

Fagstoff
Stråling fra radioaktive kilder

Alle typer radioaktiv stråling oppstår ved endringer i ustabile atomkjerner, som kan sende ut flere typer stråling når de går over til mer stabile former.