Rästitehtävä 4

Radioaktiivisen aineen hajoaminen (400 p)

Kierroksen korvaaminen

Tällä rästitehtävällä voit korvata kierroksen 9. Kierros 9 ei ole pakollinen, mutta harjoitustehtävistä ei voi saada arvosanaa 2 parempaa arvosanaa, jos kierrokselta 9 ei ole minimipisteitä. Tällä rästitehtävällä ei voi korvata mitään muuta harjoituskierrosta. Jotta rästitehtävä korvaisi tehtäväkierroksen 9, siitä on saatava vähintään 300 pistettä. Jos saat tästä rästitehtävästä vähintään 300 pistettä, niin tällä tehtävällä korvatun kierroksen pistemääräksi lasketaan harjoitusarvosanaa määrättäessä korvattavan kierroksen minimipistemäärä. Rästitehtävällä ei voi nostaa hyväksytyn kierroksen pistemäärää.

Alkuvalmistelut

Tee Eclipseen uusi projekti, jonka nimi on tehtava10_4. Luo sitten tähän projektiin moduulit isotooppi ja aktiivisuuslaskuri.

Tehtävän kuvaus

Kirjoita moduuliin isotooppi luokka, jonka avulla voidaan kuvata yhden radioaktiivisen isotoopin tietoja ja laskea sen hajoamistietoja. Kirjoita moduuliin aktiivisuuslaskuri ohjelma, jossa luodaan Isotooppi-olioita ja tulostetaan niiden tietoja käyttäjän haluamalla tavalla. Tehtävässä siis kirjoitetaan ja palautetaan kaksi eri moduulia, jotka kuuluvat molemmat samaan projektiin. Moduulien tarkempi kuvaus on alempana.

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ä.

Tiedoston rakenne

Ohjelman käsittelemien radioaktiivisten aineiden tiedot annetaan tekstitiedostossa, jossa on kullakin rivillä ensin isotoopin tunnus (esim. Al-23), sitten sen puoliintumisaika desimaalilukuna ja lopuksi puoliintumisajan yksikkö. Puoliintumisajan yksikkö on annettu erikseen, koska puoliintumisajat vaihtelevat sekunnin murto-osista miljooniin vuosiin.

Samalla rivillä olevat eri tiedot on erotettu toisistaan puolipisteellä. Voit katsoa mallia tiedostoston rakenteesta tiedostosta isotoopit1.txt ja vähän virheellisestä tiedostosta isotoopit2.txt.

Luokka Isotooppi

Kirjoita moduuliin isotooppi luokka Isotooppi. Luokkaa käytetään yhden radioaktiivisen isotoopin kuvaamiseen. Luokan olioilla on seuraavat kentät:

Kirjoita sitten luokkaan seuraavat metodit

Moduuli aktiivisuuslaskuri

Kirjoita moduuliin aktiivisuuslaskuri ohjelma, joka lukee ensin isotooppien tiedot käyttäjän antamasta tiedostosta, luo vastaavat Isotooppi-oliot ja tallentaa ne sanakirjaan (avaimena isotoopin tunnus ja arvona koko Isotooppi-olio). Sen jälkeen ohjelma antaa käyttäjän valita haluamansa toiminnon (isotoopin tietojen tulostus tai hajoamistaulukon tulostus) niin kauan, että käyttäjä haluaa lopettaa. Lopuksi ohjelma tulostaa "Ohjelman suoritus paattyy."

Ohjelman rakennetta ei ole ole määrätty sen tarkemmin, vaan voit suunnitella sopivan funktiojaon itse. Ohjelmassa pitää kuitenkin olla pääohjelman lisäksi muitakin funktioita, sen pitää lukea isotooppien tiedot tiedostosta ja käyttää Isotooppi-olioita ja sanakirjaa isotooppitietojen tallentamiseen. Ratkaisuja tarkistetaan käsin jälkikäteen ja Goblinin antamat pisteet voidaan nollata, jos ratkaisu ei täytä näitä vaatimuksia.

Virhetilanteiden käsittely

Ohjelman on käsiteltävä seuraavat virhetilanteet:

Ohjelman palautus

Testaa ohjelmaasi ajamalla sitä itse ja käyttämällä annettuja tiedostoja (tallenna ne samaan hakemistoon ohjelmasi kanssa). Voit tehdä helposti myös itse lisää testitiedostoja. Palauta Gobliniin tiedostot isotooppi.py ja aktiivisuuslaskuri.py.

Esimerkkejä ohjelman suorituksesta:

[ohjelman suoritus alkaa]
Anna isotooppien tiedot sisaltavan tiedoston nimi.
isotoopit1.txt
Isotooppien tiedot on luettu
Valitse toiminto:
1. tulosta valitun isotoopin tiedot
2. tulosta valitun isotoopin hajoamistaulukko
3. lopeta
1
Anna tulostettavan isotoopin tunnus.
Pd-100
Isotooppi: Pd-100, puoliintumisaika: 3.7 d
Valitse toiminto:
1. tulosta valitun isotoopin tiedot
2. tulosta valitun isotoopin hajoamistaulukko
3. lopeta
1
Anna tulostettavan isotoopin tunnus.
Fr-209
Isotooppi: Fr-209, puoliintumisaika: 3.2 min
Valitse toiminto:
1. tulosta valitun isotoopin tiedot
2. tulosta valitun isotoopin hajoamistaulukko
3. lopeta
1
Anna tulostettavan isotoopin tunnus.
U-235
Isotoopin U-235 tietoja ei ollut tiedostossa.
Valitse toiminto:
1. tulosta valitun isotoopin tiedot
2. tulosta valitun isotoopin hajoamistaulukko
3. lopeta
2
Minka isotoopin hajoamistaulukko tulostetaan?
Fr-209
Mika on aktiivisuus aluksi (Bq)?
8000.0
   Aika        Aktiivisuus
   0.000 min      8000 Bq
   3.200 min      4000 Bq
   6.400 min      2000 Bq
   9.600 min      1000 Bq
  12.800 min       500 Bq
  16.000 min       250 Bq

Valitse toiminto:
1. tulosta valitun isotoopin tiedot
2. tulosta valitun isotoopin hajoamistaulukko
3. lopeta
2
Minka isotoopin hajoamistaulukko tulostetaan?
U-248
Mika on aktiivisuus aluksi (Bq)?
12000.0
Isotoopin U-248 tietoja ei ollut tiedostossa.
Valitse toiminto:
1. tulosta valitun isotoopin tiedot
2. tulosta valitun isotoopin hajoamistaulukko
3. lopeta
2
Minka isotoopin hajoamistaulukko tulostetaan?
Mt-268
Mika on aktiivisuus aluksi (Bq)?
320000.0
   Aika        Aktiivisuus
   0.000 s      320000 Bq
   0.070 s      160000 Bq
   0.140 s       80000 Bq
   0.210 s       40000 Bq
   0.280 s       20000 Bq
   0.350 s       10000 Bq

Valitse toiminto:
1. tulosta valitun isotoopin tiedot
2. tulosta valitun isotoopin hajoamistaulukko
3. lopeta
3
Ohjelman suoritus paattyy.
[ohjelman suoritus päättyy]

[ohjelman suoritus alkaa]
Anna isotooppien tiedot sisaltavan tiedoston nimi.
isotoopit2.txt
Tiedostossa virheellinen rivi: Fr-209;3.2
Tiedostossa virheellinen rivi: Sn-127;pitkaan;h
Isotooppien tiedot on luettu
Valitse toiminto:
1. tulosta valitun isotoopin tiedot
2. tulosta valitun isotoopin hajoamistaulukko
3. lopeta
1
Anna tulostettavan isotoopin tunnus.
Fr-209
Isotoopin Fr-209 tietoja ei ollut tiedostossa.
Valitse toiminto:
1. tulosta valitun isotoopin tiedot
2. tulosta valitun isotoopin hajoamistaulukko
3. lopeta
1
Anna tulostettavan isotoopin tunnus.
Sn-127
Isotoopin Sn-127 tietoja ei ollut tiedostossa.
Valitse toiminto:
1. tulosta valitun isotoopin tiedot
2. tulosta valitun isotoopin hajoamistaulukko
3. lopeta
2
Minka isotoopin hajoamistaulukko tulostetaan?
Pd-100
Mika on aktiivisuus aluksi (Bq)?
20000.0
   Aika        Aktiivisuus
   0.000 d       20000 Bq
   3.700 d       10000 Bq
   7.400 d        5000 Bq
  11.100 d        2500 Bq
  14.800 d        1250 Bq
  18.500 d         625 Bq

Valitse toiminto:
1. tulosta valitun isotoopin tiedot
2. tulosta valitun isotoopin hajoamistaulukko
3. lopeta
3
Ohjelman suoritus paattyy.
[ohjelman suoritus päättyy]

[ohjelman suoritus alkaa, tiedostoa ei löydy]
Anna isotooppien tiedot sisaltavan tiedoston nimi.
olematon.txt
Tiedoston olematon.txt lukeminen ei onnistu!
Ohjelman suoritus paattyy.
[ohjelman suoritus päättyy]

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