Science Means Solving Problems Physics How does an atom
work?
Slide 3
Science Means Solving Problems Physics How does an atom work?
Engineering Will the bridge hold?
Slide 4
Science Means Solving Problems Physics How does an atom work?
Engineering Will the bridge hold? Biology What is crawling up my
leg?
Slide 5
Science Means Solving Problems
Slide 6
Todays Goal Discuss writing & using functions How to
declare them, use them, & trace them Could write programs using
functions
Slide 7
Todays 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
Slide 8
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
Slide 9
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
Slide 10
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
Slide 11
Function Basics
Slide 12
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
Slide 13
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
Slide 14
Function Declarations
Slide 15
Slide 16
Function Definitions
Slide 17
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
Slide 18
Variable Scope int num = 3; void readNumber(int len) { int num
= 0; for (int i = 0; i > ch; num *= 10; num += ch '0'; }
cout
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
void readNumber(int len) { int num = 0; for (int i = 0; i >
ch; num *= 10; num += ch '0'; } cout
Variable Scope void readNumber(int len) { int num = 0; for (int
i = 0; i > ch; num *= 10; num += ch '0'; } cout
Variable Scope void readNumber(int len) { int num = 0; for (int
i = 0; i > ch; num *= 10; num += ch '0'; } cout
Variable Scope void readNumber(int len) { int num = 0; for (int
i = 0; i > ch; num *= 10; num += ch '0'; } cout
Variable Scope void readNumber(int len) { int num = 0; for (int
i = 0; i > ch; num *= 10; num += ch '0'; } cout