Writing and Calling Functions
Part A
True or False?
- A function has exactly one return statement.
- A function has at least one return statement.
- A function has at most once return value.
- A procedure (with return value void) never has a return statement.
- When executing a return statement, the functions exists immediately.
- A function without parameters always has sideeffects.
- A procedure (with a return value void) always has a side effect.
- A function without side effects always returns the same value when called with the same parameter values.
Part B
Consider these functions:
- Double F(double x) { return g(x) + sqrt(h(x)); }
- Double G(double x) { return 4 * h(x); }
- Double H(double x) { return x * x + k(x) – 1; }
- Double K(double x) { return2 * (x + 1); }
Without actually compiling and running a program, determine the results of the following function calls:
- Double x1 = F(2);
- Double x2 = G(H(2));
- Double x3 = K(G(2) + H(2));
- Double x4 = F(0) + F(1) + F(2);
- Double x5 = F(-1) + G(-1) + H(-1) + K(-1);
Part C
Write a procedure sort3(int& a, int& b, int& c) that swaps its three inputs to arrange them in sorted order.
For example:
int v = 3;
int w = 4;
int x = 1;
sort3(v, w, x); //V is now 1, w is not 3, x is now 4
Submit a screenshot of the executed program and the code of the program.