Kierros 3, tehtävä 4

Radioaktiivisuuden lasku (200 p)

Tässä tehtävässä harjoitellaan seuraavia asioita:

Alkuvalmistelut

Tee Eclipseen uusi projekti, jonka nimi on tehtava3_4. Luo sitten tähän projektiin moduuli isotooppilaskuri.

Taustaa

Radioaktiivinen aine menettää puolet aktiivisuudestaan puoliintumisajan kuluessa. Jos esimerkiksi isotoopin puoliintumisaika on 4 vuotta, on vain tätä isotooppia sisältävän radioaktiivisen aineen aktiivisuus neljän vuoden kuluttua 50 % alkuperäisestä, kahdeksan vuoden kuluttua 25 % alkuperäisestä ja kahdentoista vuoden kuluttua 12,5 % alkuperäisestä.

Tehtävän kuvaus

Kirjoita moduuliin isotooppilaskuri ohjelma, jonka avulla käyttäjä voi laskea, miten nopeasti radioaktiivisen aineen aktiivisuus laskee ajan mukana. Ohjelmasi pitää ensin kysyä, mitä isotooppia tarkasteltava aine sisältää, ja tämän isotoopin puoliintumisaika. Koska puoliintumisajat vaihtelevat sekunnin murto-osista miljardeihin vuosiin, ohjelman pitää seuraavaksi kysyä puoliintumisajan yksikkö. Tämän jälkeen ohjelma kysyy tarkasteltavan aineen aktiivisuuden tarkasteluajan alussa.

Ohjelman pitää sitten tulostaa uudelleen annettu isotooppi ja sen alkuaktiivivuus (kokonaislukuna) ja tämän jälkeen taulukko, jossa ilmenee isotoopin aktiivuus puoliintumisajan monikertojen kuluttua (katso esimerkkiajoa). Jatka taulukkoa viiteen puoliintumisaikaan saakka.

Ohjelman tulostus

Varaa taulukossa ajalle 8 merkin, ajan yksikölle 4 merkin ja aktiivisuudelle 8 merkin levyinen kenttä. Lisäksi kenttien välillä on yksi välilyönti. Aika esitetään kahden desimaalin tarkkuudella ja aktiivisuuteen ei oteta desimaaleja lainkaan mukaan. Käytä kuitenkin taulukossa myös aktiivisuuden tulostamisen muotoilukoodissa kirjainta f (ei siis kirjainta d). Tulostettavan taulukon otsikkorivin saat helposti merkilleen samanlaiseksi esimerkkiajon kanssa kopioimalla tulostettavan rivin suoraan esimerkkiajon tulosteesta leikkaa-liimaa-menetelmällä.

Käyttäjän syötteet ja virheiden käsittely

Ohjelmasi ei tarvitse varautua siihen, että käyttäjä antaa lukuja pyytäessä kirjaimia tai muuta roskaa. Voit olettaa, että käyttäjä antaa puoliintumisajan desimaalilukuna ja alkuperäisen aktiivisuuden kokonaislukuna (Becquerel on niin pieni yksikkö, että aktiivisuuksia ei kannata antaa alle 1 Bq:n tarkkuudella.) Ohjelman pitää kuitenkin pyytää puoliintumisaikaa ja alkuperäistä aktiivisuutta niin kauan, että käyttäjä antaa positiivisen (>0) arvon. Katso tarkemmin esimerkkiajoista.

Palauttaminen

Ole tarkka siitä, että ohjelmasi toimii tarkalleen esimerkkiajon mukaan. Testaa ohjelmasi toimintaa ajamalla sitä Eclipsellä monta kertaa eri arvoilla ennen kuin palautat ohjelman Gobliniin. Palauta Gobliniin tiedosto isotooppilaskuri.py.

Kaksi esimerkkiä ohjelman suorituksesta:

[ohjelman suoritus alkaa]
Mita isotooppia radioaktiivinen aine sisaltaa?
I-131
Anna isotoopin puoliintumisaika.
8.07
Anna puoliintumisajan yksikko.
d
Mika on aineen alkuperainen aktiivisuus (Bq)?
800000
Isotooppi I-131, aktiivisuus aluksi 800000 Bq
    Aika       Aktiivisuus
    0.00 d      800000 Bq
    8.07 d      400000 Bq
   16.14 d      200000 Bq
   24.21 d      100000 Bq
   32.28 d       50000 Bq
   40.35 d       25000 Bq
[ohjelman suoritus päättyy]

[ohjelman suoritus alkaa]
Mita isotooppia radioaktiivinen aine sisaltaa?
Cs-137
Anna isotoopin puoliintumisaika.
0
Anna isotoopin puoliintumisaika.
-12.0
Anna isotoopin puoliintumisaika.
-30.23
Anna isotoopin puoliintumisaika.
30.23
Anna puoliintumisajan yksikko.
y
Mika on aineen alkuperainen aktiivisuus (Bq)?
0
Mika on aineen alkuperainen aktiivisuus (Bq)?
-1000
Mika on aineen alkuperainen aktiivisuus (Bq)?
5000000
Isotooppi Cs-137, aktiivisuus aluksi 5000000 Bq
    Aika       Aktiivisuus
    0.00 y     5000000 Bq
   30.23 y     2500000 Bq
   60.46 y     1250000 Bq
   90.69 y      625000 Bq
  120.92 y      312500 Bq
  151.15 y      156250 Bq
[ohjelman suoritus päättyy]

Värikoodit:
Sininen: Syöte käyttäjältä
Vihreä: Ohjelman tuloste
Punainen: Erityishuomatus: ei tulosteta