Skip to content

Commit 2bcb1ad

Browse files
committed
add experiment exercises
1 parent e39ae3c commit 2bcb1ad

1 file changed

Lines changed: 24 additions & 30 deletions

File tree

  • Week2/prep-exercises/2-experiments

‎Week2/prep-exercises/2-experiments/index.js‎

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,44 +3,38 @@
33
function runExperiment(sampleSize) {
44
const valueCounts = [0, 0, 0, 0, 0, 0];
55

6-
// TODO
7-
// Write a for loop that iterates `sampleSize` times (sampleSize is a number).
8-
// In each loop iteration:
9-
//
10-
// 1. Generate a random integer between 1 and 6 (as if throwing a six-sided die).
11-
// 2. Add `1` to the element of the `valueCount` that corresponds to the random
12-
// value from the previous step. Use the first element of `valueCounts`
13-
// for keeping a count how many times the value 1 is thrown, the second
14-
// element for value 2, etc.
6+
/*
7+
for (let i = 0; i < sampleSize; i++) {
8+
const dieValue = Math.floor(Math.random() * 6) + 1;
9+
valueCounts[dieValue - 1]++;
10+
*/
11+
}
12+
13+
14+
1515

1616
const results = [];
1717

18-
// TODO
19-
// Write a for..of loop for the `valueCounts` array created in the previous
20-
// loop. In each loop iteration:
21-
// 1. For each possible value of the die (1-6), compute the percentage of how
22-
// many times that value was thrown. Remember that the first value of
23-
// `valueCounts` represent the die value of 1, etc.
24-
// 2. Convert the computed percentage to a number string with a precision of
25-
// two decimals, e.g. '14.60'.
26-
// 3. Then push that string onto the `results` array.
18+
/*
19+
for (let i = 0; i < valueCounts.length; i++) {
20+
const percentage = (valueCounts[i] / sampleSize) * 100;
21+
results.push(percentage.toFixed(2));
22+
}
23+
*/
24+
2725

2826
return results;
29-
}
27+
3028

3129
function main() {
3230
const sampleSizes = [100, 1000, 1000000];
33-
34-
// TODO
35-
// Write a for..of loop that calls the `runExperiment()` function for each
36-
// value of the `sampleSizes` array.
37-
// Log the results of each experiment as well as the experiment size to the
38-
// console.
39-
// The expected output could look like this:
40-
//
41-
// [ '26.00', '17.00', '10.00', '19.00', '16.00', '12.00' ] 100
42-
// [ '14.60', '17.10', '19.30', '15.50', '16.70', '16.80' ] 1000
43-
// [ '16.71', '16.68', '16.69', '16.66', '16.67', '16.59' ] 1000000
31+
/*
32+
for (const sampleSize of sampleSizes) {
33+
const results = runExperiment(sampleSize);
34+
console.log(results, sampleSize);
35+
}
36+
*/
37+
4438
}
4539

4640
main();

0 commit comments

Comments
 (0)