Beruflich Dokumente
Kultur Dokumente
1
Predefined Functions
library code
Name, Return Value, Argument
function – named group of statements carrying out a particular task that
accepts values and computes the result
function name – identifier distinguishing the function from others
3
Invocation, Argument Variants
function call (function invocation) – executing function code from elsewhere in program
syntax: expression consisting of function name followed by arguments in
parentheses
result = sqrt(9.0);
semantics: argument is evaluated, function is executed, return value replaces
function invocation
invocation forms
in expression – return value replaces invocation in expression evaluation
srand(55);
argument variants
function may have more than one argument
result = sqrt(abs(myVar));
4
Type Changing Functions
is there a problem with this code?
int a=9, b=2;
double c=a/b;
5
Random Number Generation
(pseudo) random number generation pre-defined functions are used to create events
unpredictable by user (e.g. events in games)
need to include <cstdlib>
generates a series of numbers, numbers within single series are (pseudo) random
srand(seed) – initializes random number generator, needs to be invoked once in the
program, no return value
seed – integer, selects the (pseudo) random series
rand() – returns a new integer random number in the series, can be used multiple
times in program, no argument
the number is from 0 to MAX_RAND – a named constant declared in <cstdlib>
ranged random idiom:
to get a random number in a specific range, take a remainder of that range.
Example, random number between 0 and 9 can be obtained as:
int myRandValue = rand() % 10;
if range does not start at zero, add starting value. Example, random number from 5
to 14:
int myRandValue = rand() % 10 + 5;
6
Selecting Random Series with time()
time(nullptr) – returns number of seconds since 01/01/1970, good
for initializing unique series, needs <ctime>
nullptr is there for historical reasons
selecting series
srand(1); - repeats series every time you run your program –
good for debugging
srand(time(nullptr)); - selects unpredictable series every
time you run your program – good for final compilation