This presentation is the property of its rightful owner.
1 / 21

# CS 105 Lecture 10 Functions PowerPoint PPT Presentation

CS 105 Lecture 10 Functions. Version of Mon, Mar 28, 2011, 3:13 pm. 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.

CS 105 Lecture 10 Functions

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

CS 105 Lecture 10

Functions

Version of Mon, Mar 28, 2011, 3:13 pm

### 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;

• 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);