Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 CS 105 Lecture 10 Functions Version of Mon, Mar 28, 2011, 3:13 pm.

Similar presentations


Presentation on theme: "1 CS 105 Lecture 10 Functions Version of Mon, Mar 28, 2011, 3:13 pm."— Presentation transcript:

1 1 CS 105 Lecture 10 Functions Version of Mon, Mar 28, 2011, 3:13 pm

2 2 Quiz 2 Scores Hmm.... Grade Range50Count 45 - 49451 40 - 44401 35 - 39352 30 - 34303 25 - 29252 20 - 24204 Below 204 Total17 17 Scores: 474338 3734 32 3229 2722 22 21 2114109 9 Avg 26.3/50 (or 52.6/100)Std dev 11.7

3 3 Quiz 2 Scores Numerous problems came from Labs Q2 QuestionPtsTextbook Exercise 124.6(a): switch 634.8: switch 735.2: while 835.9: while 935.6: for loop 1015 PgmEx 5.10(c) Total29

4 4 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.

5 5 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.

6 6 Math Library Provides a library of common math functions. Get via #include 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;

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

8 8 Define Function Before Main #include 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; }

9 9 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?

10 10 A function prototype tells the compiler how we'll use the function. (Omits the function body.) Use Function Prototype #include using namespace std; Function Prototype "declares" calcAverage double calcAverage(int total, int numItems); ←––––––  int main() { // etc } "Definition" of calcAverage gives its body double calcAverage(int total, int numItems) { // rest of body as before }

11 11 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.

12 12 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 return 0; 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).

13 13 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

14 14 Example of void function #include 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; }

15 15 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!

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

17 17 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!

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

19 19 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!

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

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


Download ppt "1 CS 105 Lecture 10 Functions Version of Mon, Mar 28, 2011, 3:13 pm."

Similar presentations


Ads by Google