Halveringstid – programmering i Python - Naturfag (SF) - NDLA

Hopp til innhald
Øvelse

Halveringstid – programmering i Python

På denne sida finn du eit utval av oppgåver der du skal bruke programmeringsspråket Python til å utforske halveringstid, bruke funksjonar, teikne grafar og jobbe med aldersdatering. Oppgåvene har ei stigande vanskegrad, men prøv sjølv før du studerer fasiten.

Halveringstid

Halveringstid er den tida det tar før halvparten av atoma av eit bestemt grunnstoff har sendt ut radioaktiv stråling og vorte forvandla til eit anna grunnstoff.

Delen som framleis ikkje har sendt ut stråling er uavhengig av kor mykje av grunnstoffet som er tilgjengeleg, men avheng berre av halveringstida og kor lang tid som er gått.

Kor mange prosent av atoma som endå ikkje har sendt ut stråling, kan bereknast med funksjonen
p(t,h)=0.5th·100 %, der h er halveringstida til grunnstoffet og t er tida som har gått.

Vi kan lage eit program som ber brukaren om desse to verdiane og deretter bereknar kor mange prosent av mengda som står att, slik:

Bruke funksjonar

Ein meir oversiktleg måte å få Python til å gjere utrekningar på, er å bruke funksjonar. Desse blir laga ved å skrive "def" følgd av funksjonsnamn og kva variablar funksjonen treng. Til slutt må vi skrive "return" for å angi kva funksjonen skal rekne ut. Då kan vi lage det same programmet som over på denne måten:

Forsøk å køyre programmet nokon gonger og sjå om det stemmer med det du veit om halveringstid. Til dømes: Skriv 6 for t og 3 for h. Då har det gått 2 halveringstider. Etter den første halveringstida vil det vere 50 % igjen, og etter den andre halveringstida vil det vere 25 % igjen. Altså burde programmet gi 25 % som svaret sitt.

Ein fordel med funksjonar er at du kan få programmet til å gjere utrekninga på nytt med andre tal ved å skrive p(t,h), der t og h er tal. Det er veldig nyttig i større program. Merk òg at funksjonar blir skrivne i toppen av koden, noko som kanskje kan vere litt ulogisk i starten.

Grafar

Dersom du vil ha ein graf som viser kor mange prosent som står att etter ei viss tid, kan koden utvidast slik:

Her har vi starta programmet med å importere to bibliotek (numpy og matplotlib.pyplot). Det gjer vi fordi Python sjølv ikkje har nokon måte å gjere meir avanserte matematiske operasjoner på, men kan "lære" seg det ved å bruke numpy. For å teikne ein graf treng Python matplotlib.pyplot for å gjere det.

Køyr programmet med ulike verdiar for tidslengde og halveringstid.

Kor mange kilo er igjen?

Programmet vi har laga, angir kor mange prosent som står att av opphavleg mengde. Eit meir praktisk døme kan vere at du har ein klump med 2 kg av eit radioaktivt grunnstoff. Forsøk å lage eit program som viser kor mange kilo du har igjen av stoffet i staden for prosent.

Ekstraoppgåve

Forsøk å endre programmet slik at brukaren kan angi kor mange kilo hen startar med.

Formelsnuing: Finne halveringstida

Tenk deg no at du har fått ein klump med radioaktivt materiale. Du veit ikkje kva stoff det er snakk om, men du veit at dersom du klarer å finne halveringstida til stoffet, kan det gi ein indikasjon på kva stoff det er snakk om, sidan alle grunnstoff har ulik halveringstid.

Formelen for halveringstid finn vi ved å snu på formelen vi hadde i det førre dømet (prøv å snu han sjølv dersom du alt har lært om logaritmar!):
h=lg(0.5)lg(p)·t

Ved å gjere ei praktisk måling, finn du ut at 99,8% står att etter éin månad. Ta utgangspunkt i programmet over og skriv eit program som reknar ut halveringstida til stoffet du har med å gjere. Når du vil bruke lg, hentar du han frå numpy ved å skrive "np.log":

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

Halveringstid blir brukt mykje for å aldersbestemme steinar eller skjelett. For skjelett er karbon-14 eit slikt radioaktivt stoff (radioaktiv isotop
14C) som blir brukt. Det blir samla opp i kroppen når eit dyr et mat. Når dyret døyr og ikkje lenger et, vil mengda karbon-14 i skjelettet gradvis avta. Halveringstida til karbon-14 er 5730 år, så viss vi finn eit skjelett og måler kor mange prosent karbon-14 som er igjen i det, kan vi rekne ut kor gammalt det er ved å snu på funksjonen vår:
t=lg(p100)lg(12)·h, der h no er 5730. Forsøk å lage eit program som finn ut kor gammal eit skjelett er ved å bruke denne funksjonen.

Utforskingsoppgåve

Prøv programmet med litt ulike verdiar. Kan du ut i frå resultatet seie noko om kvifor karbon-14 kan brukast på mammutskjelett, men ikkje på dinosaurskjelett? Viss du angir prosenten i desimaltal, må du bruke punktum i staden for komma for at programmet skal forstå.

"{:.0f}".format blir brukt for å endre talet på desimalar som python gir i svaret, her 0 desimalar.

Relatert innhald

Oppgåver og aktivitetar
Simulering: halveringstid

I denne simuleringa kan du justere halveringstida og samanlikne kor lang tid det tek før dei første og siste 50 % av kjernane har reagert.

Fagstoff
Stråling frå radioaktive kjelder

All radioaktiv stråling oppstår ved endringar i ustabile atomkjernar, som kan sende ut fleire typar stråling når dei går over til meir stabile former.

Skrive av Eirik Farestveit Erstad og Kristin Bøhle.
Sist fagleg oppdatert 03.01.2023