Remember that a function has brackets that we haven't been doing anything with so far and that variables inside of a function are in their own separate world (so far).
These brackets serve to import things into the function.
Try the following program:
Note how y and z's values get "teleported" into the sq() function but inside the sq() function they're treated like the variable x!
Here's another example imports multiple values
Here we see variables a and b inside of the brackets for the add() function.
The definition of the add function has variables x and y inside the brackets.
What this means is that any variables coming into the add function are now defined as variables x and y inside of the add() function.
So within the add() function, x = the value of a at the time of the callout, and y = the value of b at the time of the callout
Let's try another example. In this case we're simulating a dice roller.
BONUS NOTE ON FUNCTIONS:
Other things to note: