Difference between revisions of "W1292 Useful Randomness"
Line 16: | Line 16: | ||
==Introduction== | ==Introduction== | ||
In | In Swift it is possible to return random numbers within a range as a method. Using the <syntaxhighlight lang="swift" highlight="">.random </syntaxhighlight> method will allow you to choose a number within a range. The for loop below demonstrates a range of numbers and random numbers printed each time the loop runs. | ||
<syntaxhighlight lang="swift" highlight="2"> | <syntaxhighlight lang="swift" highlight="2"> | ||
Line 28: | Line 28: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
As you can see above .random is highlighted in the correct location where it should be applied. | As you can see above, syntaxhighlight lang="swift" highlight="">.random </syntaxhighlight>is highlighted in the correct location of where it should be applied. | ||
== Background == | == Background == |
Revision as of 20:40, 3 May 2021
Prerequisites[edit]
Research[edit]
- Random Number Generation (Wikipedia)
- How Random is Your Randomness?
- The Search for π
- Random Function for Int (Swift Documentation)
- Random Function for Double (Swift Documentation)
Introduction[edit]
In Swift it is possible to return random numbers within a range as a method. Using the
.random
method will allow you to choose a number within a range. The for loop below demonstrates a range of numbers and random numbers printed each time the loop runs.
for _ in 1...5 {
print(Int.random(in: 1..<50))
}
// Prints "49"
// Prints "32"
// Prints "15"
// Prints "9"
As you can see above, syntaxhighlight lang="swift" highlight="">.random </syntaxhighlight>is highlighted in the correct location of where it should be applied.
Background[edit]
Coming Soon | |
Add section on throwing dart at ¼ of square |
The value of π can be calculated by:
- Randomly throwing "darts" at a unit circle
- Counting the total number of "darts", N
- Counting the number of "darts" that fall within the unit circle, C
- The ratio of the area inside the circle to the total area is C/N
- The value of π is four times this value (because the area of the total square is 2 units x 2 units)
Prepare[edit]
Create a new directory in your ~/Experiences directory named "W1292". Use emacs to edit a file named "main.swift":
zay-vin@codermerlin:~$ cd ~/Experiences
zay-vin@codermerlin:~/Experiences$ mkdir W1292
zay-vin@codermerlin:~/Experiences$ cd W1292
zay-vin@codermerlin:~/Experiences/project-1292$ swift-init
zay-vin@codermerlin:~/Experiences/project-1292$ emacs main.swift
You can run your program from within emacs with F5-r
You can find the square root of a number using the squareRoot function. This function is included in the Foundation library, so it must be imported.
For example:
import Foundation
let d = 12.0
print(d.squareRoot())
Complete your program, then answers these questions.
- Estimate the value of π using your program
- Throw 100 darts (N = 100). What result do you obtain?
- Throw 1000 darts (N = 1000). What result do you obtain?
- How is the second result different from your previous result?
- How large should N be to accurately estimate π to five digits?
- How important is it that the dart be "thrown" randomly?
Exercises[edit]
Key Concepts[edit]
- Random numbers meet the following two criteria:
- Even distribution over a defined interval
- Impossible to predict subsequent values based upon previous values
- Random numbers can be very useful in certain circumstances