@@ -3,74 +3,7 @@ const maximum = 100;
33
44const num = Math . floor ( Math . random ( ) * ( maximum - minimum + 1 ) ) + minimum ;
55
6- // 1- In this exercise, you will need to work out what num represents?
7-
8- // the num gives a random whole number between 1 and 100 like 73, 12, or 100.
9-
10- // 2- Try breaking down the expression and using documentation to explain what it means
11- /*
12-
13- 1. Math.random()
14-
15- Returns a random decimal number between 0 and 1 but never gives 1.0.
16-
17- Example: 0.24
18-
19- 2. (maximum - minimum + 1)
20-
21- This gives number of possible values.
22-
23- Without the +1, we'd only get the difference, not the full count.
24-
25- for example:
26-
27- 5 - 1 = 4 → but there are actually 5 numbers: 1, 2, 3, 4, 5
28-
29- So we add +1 to include both ends of the range.
30-
31- 3. Math.random() * (maximum - minimum + 1)
32-
33- This gives a random decimal number between 0 and 100 (like 24, 65 ...)
34-
35- Because we want the random decimal scaled to the size of the range of possible values.
36-
37- For example, if we want a number between 1 and 100 (inclusive), there are 100 possible numbers (1, 2, ..., 100).
38-
39- Multiplying by 100 means the decimal is scaled up to cover all those possibilities before rounding.
40-
41- 4. Math.floor(...)
42-
43- This rounds the decimal down to the nearest whole number.
44-
45- Example: Math.floor(78.43) → 78
46-
47- 5. + minimum
48-
49- we add the minimum to shift the range correctly, and make sure the random number up to start from minimum.
50-
51- 5-1- for example if we remove the + minimum
52-
53- 5-1-1 Math.random() 0.9999 * 99 + 1 → only goes up to 99.999... → max = 99.999... → floor = 100 (but very unlikely)
54-
55- now 100 becomes very hard to reach, and in many cases, you never get it.
56-
57- 5-1-2 Math.random() 0.00 * 99 + 1 → only goes up to 0... → max = 0... → floor = 0 (now the minimum is 0, and can appears)
58-
59- conclusion : when we don’t add + minimum, there is a chance that 1 appears, but it’s not the guaranteed minimum anymore —
60-
61- and the range starts at 0, not 1.
62-
63- 5-2- when we add +minimum
64-
65- now we make sure the min and max can appear in the final results and make sure the minimum is 1 not 0.
66-
67- Minimum appears when random = 0
68-
69- Maximum appears when random is almost 1 (like 0.9999...).
70-
71- example : Math.random() * 99 + 1 → up to 0.99 → max = 99 → floor = 99 → +1 = 100 (so more possibilities for 100 to appears)
72-
73- */
74-
75- //It will help to think about the order in which expressions are evaluated
76- //Try logging the value of num and running the program several times to build an idea of what the program is doing
6+ // In this exercise, you will need to work out what num represents?
7+ // Try breaking down the expression and using documentation to explain what it means
8+ // It will help to think about the order in which expressions are evaluated
9+ // Try logging the value of num and running the program several times to build an idea of what the program is doing
0 commit comments