Transcript of CSC 107 – Programming For Science. Science Means Solving Problems Physics – How does an atom...
- Slide 1
- CSC 107 Programming For Science
- Slide 2
- 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