Erinevus lehekülje "ITI0140: Ülesanne 9" redaktsioonide vahel

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
(Uus lehekülg: '= Krahv Monte Cristo = Olles just põgenenud vanglast reeturlikust sõbra, Fernandi, tegemiste tõttu leiad sa ennast haudumast kättemaksu. Sul küpseb ideaalne plaan, kus sa v...')
 
 
7. rida: 7. rida:
 
Kirjuta programm kasutades faili template.py, kuhu kirjutad Monte Carlo simulatsiooni. Andmete sisendiks kasuta faili MockService(), milles on aardekaart Circle.txt. <b>(NB! Kõik kolm faili tuleb alla laadida oma arvutisse)</b>
 
Kirjuta programm kasutades faili template.py, kuhu kirjutad Monte Carlo simulatsiooni. Andmete sisendiks kasuta faili MockService(), milles on aardekaart Circle.txt. <b>(NB! Kõik kolm faili tuleb alla laadida oma arvutisse)</b>
  
Fail MockService() sisaldab järgmisi funktsioone:
+
=== Fail MockService() sisaldab järgmisi funktsioone: ===
  
 
<pre>
 
<pre>
24. rida: 24. rida:
  
  
<b>Näide (kasutades faili squares.txt):</b>
+
=== Näide (kasutades faili squares.txt): ===
  
 
>> simulation = MonteCarloSimulation(MockService.MockService("squares.txt)) -->käivitad simulatsiooni
 
>> simulation = MonteCarloSimulation(MockService.MockService("squares.txt)) -->käivitad simulatsiooni

Viimane redaktsioon: 16. november 2015, kell 12:46

Krahv Monte Cristo

Olles just põgenenud vanglast reeturlikust sõbra, Fernandi, tegemiste tõttu leiad sa ennast haudumast kättemaksu. Sul küpseb ideaalne plaan, kus sa valeidentiteedi abil portreteerid ennast rikka ja eduka, miljonärist Transferwise asutajana. Sa paned Fernandi valiku ette, kui ta suudab lahendada su ülesande, saab ta osa sinu "varandusest" endale.

Sulle on antud ruutudeks jaotatud piiratud pindalaga ala (circle_20.txt korral 20x20 ühikut, circle_100.txt korral 100x100 ühikut), mille sisse oled paigutanud ringikujuliselt aarde. Katse eesmärgiks on juhuslikult valida ruute. Sinu eesmärgiks on juhuslikult valitud ruutude abil (kas sa said peale aardele ('1') või tühjusele('0')) välja tuletada antud ringi pindala. Taibuka arendajana mõtled sa välja, et tuleks kasutada statistilist Monte Carlo meetodit.

Kirjuta programm kasutades faili template.py, kuhu kirjutad Monte Carlo simulatsiooni. Andmete sisendiks kasuta faili MockService(), milles on aardekaart Circle.txt. (NB! Kõik kolm faili tuleb alla laadida oma arvutisse)

Fail MockService() sisaldab järgmisi funktsioone:

>>info() - väljastab informatsiooni ühe ruudu kohta aardeväljal

>>get_area() - tagastab aardevälja pindala

>>get_width() - tagastab aardevälja laiuse

>>get_heigth() - tagastab aardevälja pikkuse

>>tries_left() - tagastab arvu, mitu korda saate veel ruute aardeväljalt valida.

MockService() funktsionaalsust kasutades tuleb kirjutada universaalne Monte Carlo simulatsioon MonteCarloSimulation() klassi (fail template.py), mis väljastab sõnastiku, kus võtmeteks on ruudu informatsioon ja väärtusteks antud võtme (näiteks '1') pindala suhe kogupindalaga.


Näide (kasutades faili squares.txt):

>> simulation = MonteCarloSimulation(MockService.MockService("squares.txt)) -->käivitad simulatsiooni

>> simulation.get_area() --> {'0': 6.698, '1':5.141,'2':5.141}


Tehnilised nõuded:

Fail nimega EX09.py (ainult see fail!) tuleb laadida oma repositooriumi kausta EX09


PS! Meetodi kohta saab täpsemalt lugeda siit: http://statweb.stanford.edu/~owen/mc/

...ja kasutada abiks loengukonspekti!