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ää.
Tee Eclipseen uusi projekti, jonka nimi on tehtava10_4. Luo sitten tähän projektiin moduulit isotooppi ja aktiivisuuslaskuri.
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.
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ä.
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.
Kirjoita moduuliin isotooppi luokka Isotooppi. Luokkaa käytetään yhden radioaktiivisen isotoopin kuvaamiseen. Luokan olioilla on seuraavat kentät:
Kirjoita sitten luokkaan seuraavat metodit
Aika Aktiivisuus 0.000 h 12000 Bq 4.100 h 6000 Bq 8.200 h 3000 Bq 12.300 h 1500 Bq 16.400 h 750 Bq 20.500 h 375 BqTaulukossa ajalle on varattu 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 kolmen desimaalin tarkkuudella. Aktiivisuuteen ei oteta desimaaleja lainkaan mukaan. Käytä siis aktiivisuudelle muotoilukoodia ":8.0f".
Isotooppi: Sn-110, puoliintumisaika: 4.1 hMerkkijonoa muodostettaessa ei käytetä muotoilukoodeja, vaan puoliintumisaika otetaan mukaan Python-tulkin käyttämällä oletustarkkuudella.
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.
Ohjelman on käsiteltävä seuraavat virhetilanteet:
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.
[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