Difference between revisions of "Rolling"

From CompSciWiki
Jump to: navigation, search
(Added Headings)
Line 6: Line 6:
  
 
0 1 2 3 4 5 6 7 8 9 10
 
0 1 2 3 4 5 6 7 8 9 10
 +
 
1 3 0 2 3 5 3 4 2 1 0
 
1 3 0 2 3 5 3 4 2 1 0
  
Line 18: Line 19:
 
print out a histogram displaying the percentage of simulation steps that generated each
 
print out a histogram displaying the percentage of simulation steps that generated each
 
possible sum. You may re-use code from A3 to print the histograms.
 
possible sum. You may re-use code from A3 to print the histograms.
 +
 +
  
 
The following is an example histogram for the simulation illustrated above, with percentages
 
The following is an example histogram for the simulation illustrated above, with percentages
rounded to nearest integer:<br />
+
rounded to nearest integer:
 +
 
 +
 
 
Sum of 2: ==== (4%)<br />
 
Sum of 2: ==== (4%)<br />
 
Sum of 3: ============= (13%)<br />
 
Sum of 3: ============= (13%)<br />
Line 34: Line 39:
  
 
|Solution=
 
|Solution=
 +
 +
To create a solution for this problem we must first start out by separating sections. These sections in java are called "methods". By separating our program into separate parts we can then worry about each section individually. The methods that we are going to want to separate our program into are going to be as followed:
  
 
===Initialize Array Method===
 
===Initialize Array Method===
 +
 +
This method will be used to initialize the array. To do you this you will use a for loop that counts from 0 to the size of the array.
 +
 +
 +
 
 +
 
===Generate Random Number Method===
 
===Generate Random Number Method===
 
===Perform Simulation Method===
 
===Perform Simulation Method===

Revision as of 12:45, 31 March 2011

Back to the Case Studies homepage

Problem

Write a program that uses an array to store the results of a simulation with two n-sided dice. At each step in the simulation, “roll” the pair of the dice and use the array to keep track of the number times each of the possible sums has been rolled so far. To store the results of the simulation, you will need an array of length 2n - 1, where n is the number of sides to each die. The following is an example of what an array for two 6-sided dice could look like after a 24-step simulation.

0 1 2 3 4 5 6 7 8 9 10

1 3 0 2 3 5 3 4 2 1 0

Element 0 in our array represents a sum of 2, element 1 represents a sum of 3 and so on. The above array indicates that during the simulation, a sum of 2 (element 0) was rolled once, while a sum of 7 (element 5) was rolled 5 times. Your program should ask the user for two values: • The number of sides to the dice. Both dice will have the same number of sides. • The number of steps in the simulation. After reading in the input using Scanner, simulate rolling the die by generating two random numbers between 1 and the number of sides (inclusive). After the simulation is complete, print out a histogram displaying the percentage of simulation steps that generated each possible sum. You may re-use code from A3 to print the histograms.


The following is an example histogram for the simulation illustrated above, with percentages rounded to nearest integer:


Sum of 2: ==== (4%)
Sum of 3: ============= (13%)
Sum of 4: (0%)
Sum of 5: ======== (8%)
Sum of 6: ============= (13%)
Sum of 7: ===================== (21%)
Sum of 8: ============= (13%)
Sum of 9: ================= (17%)
Sum of 10: ======== (8%)
Sum of 11: ==== (4%)
Sum of 12: (0%)

 

SideSectionTitle

SideSection goes here.

Solution

To create a solution for this problem we must first start out by separating sections. These sections in java are called "methods". By separating our program into separate parts we can then worry about each section individually. The methods that we are going to want to separate our program into are going to be as followed:

Initialize Array Method

This method will be used to initialize the array. To do you this you will use a for loop that counts from 0 to the size of the array.



Generate Random Number Method

Perform Simulation Method

Print Roll Histogram Method

Code

Solution Code

Back to the Case Studies homepage