Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSC 107 – Programming For Science. Today’s Goal  Discuss writing & using functions  How to declare them, use them, & trace them  Could write programs.

Similar presentations


Presentation on theme: "CSC 107 – Programming For Science. Today’s Goal  Discuss writing & using functions  How to declare them, use them, & trace them  Could write programs."— Presentation transcript:

1 CSC 107 – Programming For Science

2 Today’s Goal  Discuss writing & using functions  How to declare them, use them, & trace them  Could write programs using functions

3 Today’s Goal  Discuss writing & using functions  How to declare them, use them, & trace them  Could write programs using functions  Already been doing this  Already been doing this, but should clarify process

4 Functions  Already written programs using functions  One function always present in all programs: main  cos, sin, floor also functions you've called before  main is a programmer-defined function  Pre-defined functions are similar, but part of C++  Programmers can define and use own functions cos radians cosine

5 Functions  Already written programs using functions  One function always present in all programs: main  cos, sin, floor also functions you've called before  main is a programmer-defined function  Pre-defined functions are similar, but part of C++  Programmers can define and use own functions Function Parameters Return Value

6 Why We Use Functions  Simplify code  Replace copies of code by placing in single location  Commonly-used math function computation  Each function can return a single value  Input & output performed in these functions  Will discuss ways to change parameters’ values

7 Function Basics

8 Return Type  Each function must declare a return type  Type of value returned by a function float abs(float x); double pow(double x, double t); int main();  May want nothing returned : use void as return type void printFormattedNumber(int x); void readAndPrintAverage();  Must return value from non- void function  If function is void, cannot return value

9 Function Declaration  When definition is after calling function…  Could be that function is later in file  Function in another file for use in many programs  Also important for built-in functions without bodies  Declare functions at start of the file  Often listed in header ( *.h ) files to enable reuse  #include "copy-and-paste" code from those files  Declaration lists vital information: function signature

10 Function Declarations

11

12 Function Definitions

13 Variable Scope  Variables create name for memory address  Name is not universal, but limited by the scope  Variable usable only in braces in which declared  For this copy of variable, scope defines its lifetime  Variable "dies" with end of scope in which declared  At start of scope, new copy created  Cannot use outside scope: error for bad variable  Must have unique names within a scope  If no overlap, can reuse names since old name gone

14 Variable Scope int num = 3; void readNumber(int len) { int num = 0; for (int i = 0; i > ch; num *= 10; num += ch – '0'; } cout << num << endl; } int main() { readNumber(num); readNumber(5); return 0; }

15 int num = 3; void readNumber(int len) { int num = 0; // This is name is not unique here! for (int i = 0; i > ch; num *= 10; num += ch – '0'; } cout << num << endl; } int main() { readNumber(num); readNumber(5); return 0; } Variable Scope

16 void readNumber(int len) { int num = 0; for (int i = 0; i > ch; num *= 10; num += ch – '0'; } cout << num << endl; } int main() { int num = 3; readNumber(num); readNumber(5); return 0; }

17 Variable Scope void readNumber(int len) { int num = 0; for (int i = 0; i > ch; num *= 10; num += ch – '0'; } cout << num << endl; } int main() { int num = 3; readNumber(num); readNumber(5); return 0; }

18 Variable Scope void readNumber(int len) { int num = 0; for (int i = 0; i > ch; num *= 10; num += ch – '0'; } cout << num << endl; } int main() { int num = 3; readNumber(num); readNumber(5); return 0; }

19 Variable Scope void readNumber(int len) { int num = 0; for (int i = 0; i > ch; num *= 10; num += ch – '0'; } cout << num << endl; } int main() { int num = 3; readNumber(num); readNumber(5); return 0; }

20 Variable Scope void readNumber(int len) { int num = 0; for (int i = 0; i > ch; num *= 10; num += ch – '0'; } cout << num << endl; } int main() { int num = 3; readNumber(num); readNumber(5); return 0; }

21 Let's Trace void readNumber(int); int main() { int num = 3; readNumber(num); readNumber(5); return 0; } void readNumber(int len) { int num = 0; for (int i = 0; i > ch; num *= 10; num += ch – '0'; } cout << num << endl; }

22 For Next Lecture  Read more about functions in Sections 9.3-9.4.3  Describe how value returned from a function  What happens to code after the return statement?  How do we pass values to a function?  What can a function do to those values? Wed.  Weekly Assignment #6 out & due next Wed.  Avoid the rush by start working on it now  Note special due date, since no school on Tuesday


Download ppt "CSC 107 – Programming For Science. Today’s Goal  Discuss writing & using functions  How to declare them, use them, & trace them  Could write programs."

Similar presentations


Ads by Google