Tässä tehtävässä harjoitellaan erityisesti seuraavia asioita:
Tee Eclipseen uusi projekti, jonka nimi on tehtava5_1, ja tähän projektiin moduuli nopeudet. Kirjoita moduuliin seuraavan kuvauksen mukainen ohjelma.
Poliisi on huolissaan nuorten mopoilijoiden ja autoilijoiden hurjista ylinopeuksista. Se haluaa havainnollistaa ylinopeuden vaaroja tietokoneohjelmalla, joka vertaa törmäämistä annetulla nopeudella vapaaseen pudotukseen jostain korkeudesta. Tarkoituksena on siis laatia ohjelma, jolle käyttäjä kertoo ajoneuvon nopeuden (yksikkönä km / h) törmäyshetkellä. Ohjelma laskee ja kertoo, mistä korkeudesta täytyy pudota maahan, jotta putoajan nopeus maahantörmäämishetkellä olisi sama kuin annettu ajoneuvon nopeus. Sinun tehtävänäsi on auttaa poliisia ja kirjoittaa tarvittava ohjelma. Ohjelman tarkempi rakenne on kuvattu alla.
Putoamisliikettä tarkastellessa otetaan huomioon ainoastaan maan vetovoiman aiheuttama kiihtyvyys. Käytä likiarvoa g = 9.81 m / (s*s). Putoajan lähtönopeuden oletetaan olevan 0. Ajoneuvon törmäystä tarkastellessa oletetaan ajoneuvon pysähtyvän heti. Ohjelma ei siis ota huomioon esimerkiksi ajoneuvon kokoonpainumisesta johtuvaa hidastumista.
Käyttäjä antaa ohjelmalle nopeuden yksikössä km / h, mutta laskut on helpompi suorittaa, jos yksikkönä on m / s. Kirjoita muunnosta varten funktio
Kirjoita tämän jälkeen pääohjelma, joka pyytää käyttäjältä ajoneuvon
nopeuden ennen törmäystä, kutsuu sen jälkeen funktioita
muuta_nopeuden_yksikko
ja laske_pudotuskorkeus
ja tulostaa lasketun korkeuden. Käytä tulostuksen muotoilua niin,
että korkeus tulostetaan kahden desimaalin tarkkuudella.
Kun kappale putoaa, siihen vaikuttaa maan vetovoiman kiihtyvyys g. Ajan t kuluttua kappaleen nopeus on siis g*t. Tämän perusteella on helppo laskea, minkä ajan kuluttua kappale saavuttaa halutun nopeuden. Kappaleen kulkema matka ajanhetkellä t saadaan puolestaan integroimalla kappaleen nopeus ajan suhteen, joten se on 0.5 * g * t * t. Putoamiskorkeus saadaan sijoittamalla jälkimmäiseen lausekkeeseen se ajanhetki, jolloin kappale saavuttaa halutun nopeuden.
Testaa ohjelmasi ajamalla sitä useita kertoja antamalla eri syötteeksi eri nopeuksia, ennen kuin palautat ohjelmasi Gobliniin. Voit olettaa, että käyttäjän antama syöte on järkevä. Ohjelman ei siis tarvitse toimia oikein esimerkiksi negatiivisella nopeudella. Palauta Gobliniin tiedosto nopeudet.py.
[ohjelman suoritus alkaa] Anna ajoneuvon nopeus ennen tormaysta (km/h). 80.0 Tormays vastaa pudotusta 25.17 metrin korkeudelta. [ohjelman suoritus päättyy]
Värikoodit:
Sininen: Syöte käyttäjältä
Vihreä: Ohjelman tuloste
Punainen: Erityishuomatus: ei tulosteta