Special Functions Objective: Write and graph piecewise and absolute value functions.
Functions in Objective-C and C Programming
description
Transcript of Functions in Objective-C and C Programming
Paul Solt iPhoneDev.tv
FunctionsInstruction manuals for computers
Paul Solt iPhoneDev.tv
Outline•Functions
•Stack Frame
•Recursion
•Debugging
•Global Variables
Paul Solt iPhoneDev.tv
Paul Solt iPhoneDev.tv
Desk
1. Build small drawer2. Build large drawer 3. Build desk frame4. Insert small drawer5. Insert large drawer
Paul Solt iPhoneDev.tv
Area = A x B
Area
A
B
Paul Solt iPhoneDev.tv
int area(int sideA, int sideB)
Paul Solt iPhoneDev.tv
int area(int sideA, int sideB)
return type
Paul Solt iPhoneDev.tv
int area(int sideA, int sideB)
name
return type
Paul Solt iPhoneDev.tv
int area(int sideA, int sideB)
name parameter
return type
parameter
Paul Solt iPhoneDev.tv
int area(int sideA, int sideB)
Paul Solt iPhoneDev.tv
int area(int sideA, int sideB) { int result = sideA * sideB; return result; }
Paul Solt iPhoneDev.tv
int total = area(4, 2);
Paul Solt iPhoneDev.tv
int total = area(4, 2);
arguments
Paul Solt iPhoneDev.tv
int total = area(4, 2);
8
arguments
Paul Solt iPhoneDev.tv
int total = area(4, 2);
Paul Solt iPhoneDev.tv
Stack Frame
•“Sandbox”
•Local Variables
Paul Solt iPhoneDev.tv
Stack Frame
•“Sandbox”
•Local Variables
main()total = area(4,2);
Paul Solt iPhoneDev.tv
Stack Frame
•“Sandbox”
•Local Variables
main()total = area(4,2);
area(4,2)sideA = 4sideB = 2result = 8
Paul Solt iPhoneDev.tv
Stack Frame
•“Sandbox”
•Local Variables
main()total = area(4,2);
Paul Solt iPhoneDev.tv
Stack Frame
•“Sandbox”
•Local Variables
main()total = 8;
Paul Solt iPhoneDev.tv
Stack Frame
•“Sandbox”
•Local Variables
Paul Solt iPhoneDev.tv
Area
Paul Solt iPhoneDev.tv
Recursion
Space Shuttle: Countdown Timer1. Display number2. Subtract one3. Repeat steps 1 and 2 (until 0) STS-110, NASA
Paul Solt iPhoneDev.tv
Recursion
Paul Solt iPhoneDev.tv
Recursionvoid countDown(int number) { if(number == 0) { printf("Take off!\n"); } else { printf("T-minus %d seconds\n", number); int nextNumber = number - 1; countDown(nextNumber); }}
Paul Solt iPhoneDev.tv
Recursionvoid countDown(int number) { if(number == 0) { printf("Take off!\n"); } else { printf("T-minus %d seconds\n", number); int nextNumber = number - 1; countDown(nextNumber); }}
Paul Solt iPhoneDev.tv
Recursionvoid countDown(int number) { if(number == 0) { printf("Take off!\n"); } else { printf("T-minus %d seconds\n", number); int nextNumber = number - 1; countDown(nextNumber); }}
Paul Solt iPhoneDev.tv
Stack Frame
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)countDown(2)nextNumber = 1countDown(1)
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)countDown(2)nextNumber = 1countDown(1)countDown(1)nextNumber = 0countDown(0)
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)countDown(2)nextNumber = 1countDown(1)countDown(1)nextNumber = 0countDown(0)countDown(0)take off!
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)countDown(2)nextNumber = 1countDown(1)countDown(1)nextNumber = 0countDown(0)
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)countDown(2)nextNumber = 1countDown(1)
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)
Paul Solt iPhoneDev.tv
Stack Framemain()startNumber = 5countDown(5)
Paul Solt iPhoneDev.tv
Stack Frame
Paul Solt iPhoneDev.tv
CountDown!
Paul Solt iPhoneDev.tv
Global Variablesint total = 10
resetTotal()total = 0;
updateTotal()total = total + 1;
Paul Solt iPhoneDev.tv
Global Variables
Paul Solt iPhoneDev.tv
Review•Functions
•Stack Frame
•Recursion
•Debugging
•Global Variables
Paul Solt iPhoneDev.tv