Tee Eclipseen uusi projekti, jonka nimi on tehtava4_4, ja tähän projektiin moduuli hitausmomentteja.
Hitausmomentti on tärkeä käsite liikkuvien kappaleiden dynamiikkaa tutkittaessa. Hitausmomentti kuvaa sitä, kuinka helppo kappaleen pyörimisnopeutta on muuttaa (mitä suurempi hitausmomentti, sitä suurempi voima tarvitaan pyörimisen hidastamiseen tai nopeuttamiseen).
Älä säikähdä, vaikka lukiofysiikka olisikin unohtunut tältä osin. Kaikki tarvittavat kaavat on annettu tässä tehtävänannossa.
Kirjoita moduuliin hitausmomentteja ohjelma, joka laskee kappaleen hitausmomentin ja pyörimisenergian.
Ohjelma pyytää käyttäjältä ensin kappaleen muodon (vaihtoehtoina umpinainen sylinteri, ontto sylinteri ja umpinainen pallo) ja pyörimisnopeuden (krs/min). Sen jälkeen ohjelma kysyy kappaleesta tarvittavat mitat ja kappaleen massan. Tämän jälkeen ohjelma laskee ja tulostaa kappaleen hitausmomentin ja pyörimisenergian.
Kirjoita ohjelmaasi seuraavat funktiot:
Kirjoita lisäksi pääohjelma, joka pyytää käyttäjältä ensin tiedon kappaleen muodosta. Sen jälkeen pääohjelma kysyy, montako kierrosta minuutissa kappale pyörii. Annetun muodon perusteella pääohjelma kutsuu joko funktiota laske_sylinterin_hitausmomentti(), laske_onton_sylinterin_hitausmomentti() tai laske_pallon_hitausmomentti(). Nämä funktiot pyytävät itse käyttäjältä hitausmomentin laskemiseen tarvittavat mitat ja massat. Sen jälkeen pääohjelma kutsuu kulmanopeuden ja pyörimisenergian laskevia funktioita. Lopuksi se tulostaa kappaleen hitausmomentin ja pyörimisenergian. Luvut tulostetaan kahden desimaalin tarkkuudella.
1/2 * m * r ** 2
, missä m
on sylinterin massa
ja r
sen säde.
1/2 * m * (r1 ** 2 + r2 ** 2)
, missä m
on sylinterin
massa, r1
sen onton osan säde ja r2
sen ulkosäde.
2/5 * m * r ** 2
, missä m
on pallon massa
ja r
sen säde.
1/2 * J * kulmanopeus ** 2
, missä J
on kappaleen
hitausmomentti.
2 * pi
radiaania ja minuutissa 60 sekuntia.
Ohjelmassa ei tarvitse varautua virheelliseen syötteeseen muuten, mutta kappaleen muotoa kysytään niin kauan, että käyttäjä antaa jonkin luvuista 1, 2 ja 3. Ohjelman ei siis tarvitse tarkistaa käyttäjän antamien mittojen ja massojen järkevyyttä.
Jos olet kirjoittanut ohjelmatiedoston alkuun
import math
niin saat piin tarkan arvot Pythonin matematiikkakirjastosta kirjoittamalla
math.pi
Ole tarkka siitä, että ohjelmasi tulostus on täsmälleen (välimerkkejä myöten) alla olevan mallin mukainen. Testaa ohjelmaasi ajamalla sitä monta kertaa Eclipsellä eri lähtöarvoilla ennen ohjelman palautusta Gobliniin. Palauta Gobliniin tiedosto hitausmomentteja.py.
[ohjelman suoritus alkaa] Taman ohjelman avulla voit laskea kappaleen hitausmomentin ja pyorimisenergian. Valitse kappale: 1. Sylinteri (umpinainen) 2. Sylinteri (ontto) 3. Pallo (umpinainen) 3 Mika on pyorimisnopeus (rpm)? 120 Mika on pallon sade (m)? 0.30 Mika on pallon massa (kg)? 5.0 Hitausmomentti on 0.18 kgm**2 ja pyorimisenergia 14.21 J. [ohjelman suoritus päättyy]
[ohjelman suoritus alkaa] Taman ohjelman avulla voit laskea kappaleen hitausmomentin ja pyorimisenergian. Valitse kappale: 1. Sylinteri (umpinainen) 2. Sylinteri (ontto) 3. Pallo (umpinainen) 0 Valitse kappale: 1. Sylinteri (umpinainen) 2. Sylinteri (ontto) 3. Pallo (umpinainen) 5 Valitse kappale: 1. Sylinteri (umpinainen) 2. Sylinteri (ontto) 3. Pallo (umpinainen) 1 Mika on pyorimisnopeus (rpm)? 90 Mika on sylinterin sade (m)? 0.20 Mika on sylinterin massa (kg)? 12.5 Hitausmomentti on 0.25 kgm**2 ja pyorimisenergia 11.10 J. [ohjelman suoritus päättyy]
[ohjelman suoritus alkaa] Taman ohjelman avulla voit laskea kappaleen hitausmomentin ja pyorimisenergian. Valitse kappale: 1. Sylinteri (umpinainen) 2. Sylinteri (ontto) 3. Pallo (umpinainen) 2 Mika on pyorimisnopeus (rpm)? 1000 Mika on sylinterin sisasade (m)? 0.1 Mika on sylinterin ulkosade (m)? 0.3 Mika on sylinterin massa (kg)? 30.0 Hitausmomentti on 1.50 kgm**2 ja pyorimisenergia 8224.67 J. [ohjelman suoritus päättyy]
Värikoodit:
Sininen: Syöte käyttäjältä
Vihreä: Ohjelman tuloste
Punainen: Erityishuomatus: ei tulosteta