Loading in 5 sec....

CS 105 Lecture 10 FunctionsPowerPoint Presentation

CS 105 Lecture 10 Functions

- 115 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' CS 105 Lecture 10 Functions' - mara-peters

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Quiz 2 Scores

- Hmm....

17 Scores:

474338 3734 32 3229 2722 22 21 2114109 9

Avg 26.3/50 (or 52.6/100)Std dev 11.7

Quiz 2 Scores

- Numerous problems came from Labs

Functions

- Function: A discrete piece of code that performs a specific operation or task
- Named with a descriptive identifier
- Called from main() or another function
- When called, program control (execution) is transferred to the function.
- Function performs required tasks, and then possibly returns a value.
- After return from function, control returns to the statement following the function call.

Function Attributes

- Function Name: Identifier used to call function.
- Function Parameter(s) or Argument(s): value(s) passed into function for use by function code.
- Function Return Value: Value returned by function back to calling function.

Math Library

- Provides a library of common math functions. Get via #include<cmath>
- Must call functions with correct number and order of parameters.
- Functions return value after calculations.
- Example: The power function pow; square root function sqrt.
- double bigValue;
- double base = 2.0, exponent = 20.0;
- bigValue = pow(base, exponent);
- cout << bigValue << " " << sqrt(bigValue) << endl;

User-Defined Functions

- We can write our own functions; we need to specify the name of the function, the number and kinds of parameters it takes, and the kind of value it returns (if any).
- Plus, the "body" of the function — the code that does the calculation

- Example:
- double calcAverage(int total, int numItems)
- {
- double result = (double) total / numItems;
- return result;
- }

Define Function Before Main

- #include <iostream>
- using namespace std;
- double calcAverage(int total, int numItems)
- {
- double result = (double) total / numItems;
- return result;
- }
- int main()
- {
- int sumGrades = 921, numStudents = 10;
- double avgGrade;
- avgGrade = calcAverage(sumGrades,numStudents);
- cout << avgGrade << endl;
- cout << calcAverage(1200, 14) << endl;
- }

Define Functions After Main?

- If you have many functions, then you might have a lot of code to get through before you actually get to the main program.
- Nice to have the main program first and the functions afterward.
- But what if we use calcAvg before we give its definition?
- How will the compiler know if we're calling calcAvg correctly?

Use Function Prototype

- A function prototype tells the compiler how we'll use the function. (Omits the function body.)

- #include <iostream>
- using namespace std;
- Function Prototype "declares" calcAverage
- double calcAverage(int total, int numItems); ←–––––– NOTE !
- int main()
- {
- // etc
- }
- "Definition" of calcAverage gives its body
- double calcAverage(int total, int numItems)
- {
- // rest of body as before
- }

Declaring a Function

- Function Prototype: Declares a function's name and how it is called; it doesn't define the body of the function.
- Used by the compiler check for syntax errors in how we call the function
- Example:
- double calcAverage(int total, int numItems);
- double is the return type.
- calcAverage is the function name.
- total is the first parameter and it has type int
- numItems is the second parameter and it has type int.

- Standard functions (e.g., those in the STL = Standard Template Library) have function prototypes in header files that we #include.

Functions – Return Types

- A function with a return type of int must have a return of some integer.
- Similarly, a function with a return type of double must have a return of some double, etc.
- That's why main programs include return0;

- A function with void as its return type doesn't return a value. (A.k.a. "void" function)
- It can have a return; statement (with no value).
- Or it can fall off the end of the function (a return; is assumed).

Parameters & Arguments

- May pass as many parameters as necessary to function.
- A copy of the value of the parameter is passed to the function.
- Changing the value of the parameter in the function does not affect the value of the original variable.
- This is called Pass-by-Value

Example of void function

- #include <iostream>
- using namespace std;
- void printNum(int); // function prototype
- int main()
- {
- int myNumber = 7;
- printNum(myNumber); // function call
- printNum(9);
- return 0;
- }
- // begin function definition
- void printNum(int numToPrint)
- {
- cout << numToPrint;
- }

Functions

- Write a function that accepts one integer as a parameter. The function returns the sum of the integers from 1 to the integer passed to the function.
- 5 minutes …… GO!

Sum Function

- int sumOfInt(int num)
- {
- int i, sum = 0;
- for(i = 1; i <= num; i++)
- sum = sum + i;
- return(sum);
- }

Function Calls

- Write a function call to call sumOfInt with an argument of 5, save the return value into a variable and print it out.
- 2 minutes – GO!

Function Calls

- int sumOfInt(int);
- int main()
- {
- int sum5;
- sum5 = sumOfInt(5); cout << sum5 << endl;
- return 0;
- }

Display Line Function

- Write a function that displays a character some number of times to the display. The function is passed the character and the number of times to display it.
- 5 minutes: GO!

displayChar() Function

- void displayChar(char charPassed, int times)
- {
- int i;
- for(i = 0; i < times; i++)
- cout << charPassed;
- cout << endl;
- }

- do
- {
- theLabs(threeHoursAWeek);
- }
- while (!semesterDone);

Download Presentation

Connecting to Server..