csc 107 – programming for science. announcement today’s goal know how to write selections...
TRANSCRIPT
![Page 1: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/1.jpg)
LECTURE 11:SELECT STATEMENTS
CSC 107 – Programming For Science
![Page 2: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/2.jpg)
Announcement
![Page 3: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/3.jpg)
Today’s Goal
Know how to write selections besides if-else Why we use select or if-else and how to
choose Understand times when selection
statements illegal How to convert between the two types of
statements
![Page 4: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/4.jpg)
Press “*” For Horrible Music Writing software for voicemail system
Which of 12 buttons hit determine action to take
For much of time, many keys have same effect
Long, ugly if-else if-else statement results
Now imagine choosing from 256 options Required for web browsers & other systems Takes forever to write & code impossible to
read
![Page 5: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/5.jpg)
Press “*” For Horrible Music Writing software for voicemail system
Which of 12 buttons hit determine action to take
For much of time, many keys have same effect
Long, ugly if-else if-else statement results
Now imagine choosing from 256 options Required for web browsers & other systems Takes forever to write & code impossible to
read
![Page 6: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/6.jpg)
Long if-else statement
if (keyHit == 1) { cout << “Please say message to record”;} else if (keyHit == 2) { cout << “Skipping to next message”;} else if (keyHit == 3) { cout << “Playing first new message”;} else if (keyHit == 4) { cout << “Message is saved for 30 days.”;} else if (keyHit == 6) { cout << “Message deleted”;} else if (keyHit == 7) { cout << “dniwer egasseM “;} else if ((keyHit == 5) || (keyHit == 8)) { cout << “I’m sorry Dave, I can’t do that.”;} else { cout << “The hit squad will find you soon.”;}
![Page 7: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/7.jpg)
Long if-else statement
if (keyHit == 1) { cout << “Please say message to record”;} else if (keyHit == 2) { cout << “Skipping to next message”;} else if (keyHit == 3) { cout << “Playing first new message”;} else if (keyHit == 4) { cout << “Message is saved for 30 days.”;} else if (keyHit == 6) { cout << “Message deleted”;} else if (keyHit == 7) { cout << “dniwer egasseM “;} else if ((keyHit == 5) || (keyHit == 8)) { cout << “I’m sorry Dave, I can’t do that.”;} else { cout << “The hit squad will find you soon.”;}
![Page 8: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/8.jpg)
Better idea:
if (keyHit == 1) { cout << “Please say message to record”;} else if (keyHit == 2) { cout << “Skipping to next message”;} else if (keyHit == 3) { cout << “Playing first new message”;} else if (keyHit == 4) { cout << “Message is saved for 30 days.”;} else if (keyHit == 6) { cout << “Message deleted”;} else if (keyHit == 7) { cout << “dniwer egasseM “;} else if ((keyHit == 5) || (keyHit == 8)) { cout << “I’m sorry Dave, I can’t do that.”;} else { cout << “The hit squad will find you soon.”;}
![Page 9: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/9.jpg)
Better idea: switch Statementswitch (keyHit) { case 1: cout << “Please say message to record”; break; case 2: cout << “Skipping to next message”; break; case 3: cout << “Playing first new message”; break; case 4: cout << “Message will be saved for 30 days.”; break; case 6: cout << “Message deleted”; break; case 7: cout << “gnidniwer egasseM”; break; case 5: case 8: cout << “I’m sorry Dave, I can’t do that.”; break; default: cout << “The hit squad will find you soon.”; }
![Page 10: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/10.jpg)
Better idea: switch Statementswitch (keyHit) { case 1: cout << “Please say message to record”; break; case 2: cout << “Skipping to next message”; break; case 3: cout << “Playing first new message”; break; case 4: cout << “Message will be saved for 30 days.”; break; case 6: cout << “Message deleted”; break; case 7: cout << “dniwer egasseM”; break; case 5: case 8: cout << “I’m sorry Dave, I can’t do that.”; break; default: cout << “The hit squad will find you soon.”; }
![Page 11: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/11.jpg)
Better idea: switch Statementswitch (keyHit) { case 1: cout << “Please say message to record”; break; case 2: cout << “Skipping to next message”; break; case 3: cout << “Playing first new message”; break; case 4: cout << “Message will be saved for 30 days.”; break; case 6: cout << “Message deleted”; break; case 7: cout << “dniwer egasseM”; break; case 5: case 8: cout << “I’m sorry Dave, I can’t do that.”; break; default: cout << “The hit squad will find you soon.”; }
![Page 12: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/12.jpg)
Outline of switch statement
switch (expression) {case label1: statement; statement; ... break;
...
case labeln:case labeln+1 : statement; ... break;
...
default: statement; ...
}
![Page 13: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/13.jpg)
Outline of switch statement
switch (expression) {case label1: statement; statement; ... break;
...
case labeln:case labeln+1: statement; ... break;
...
default: statement; ...
}
Anything of ordinal (whole number) type: intdouble char float long Monkey
![Page 14: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/14.jpg)
Outline of switch statement
switch (expression) {case label1: statement; statement; ... break;
...
case labeln:case labeln+1: statement; ... break;
...
default: statement; ...
}
Anything of ordinal (whole number) type: intdouble char float long Monkey
![Page 15: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/15.jpg)
Outline of switch statement
switch (expression) {case label1: statement; statement; ... break;
...
case labeln:case labeln+1: statement; ... break;
...
default: statement; ...
}
Labels must be
constants or literal
![Page 16: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/16.jpg)
Outline of switch statement
switch (expression) {case label1: statement; statement; ... break;
...
case labeln:case labeln+1: statement; ... break;
...
default: statement; ...
}
This is legal; execution only
stops at break or ending brace
![Page 17: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/17.jpg)
Outline of switch statement
switch (expression) {case label1: statement; statement; ... break;
...case labeln:
statement; statement;case labeln+1: statement; ... break;
... default: statement; ...
}
Still legal; execution only
stops at break or ending brace
![Page 18: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/18.jpg)
Outline of switch statement
switch (expression) {case label1: statement; statement; ... break;
...
case labeln:case labeln+1: statement; ... break;
...
default: statement; ...
}
Optional, like else must be at end & matches anything
left
![Page 19: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/19.jpg)
Outline of switch statement
switch (expression) {case label1: statement; statement; ... break;
...
case labeln:case labeln+1: statement; ... break;
...
default: statement; ...
}
Same as equality test in if:
if (expression == label1) {
![Page 20: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/20.jpg)
Outline of switch statement
switch (expression) {case label1: statement; statement; ... break;
...
case labeln:case labeln+1: statement; ... break;
...
default: statement; ...
}
Works like OR (||) in if-else if: else if (expression == labeln || expression == labeln+1) {
![Page 21: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/21.jpg)
Outline of switch statement
switch (expression) {case label1: statement; statement; ... break;
...case labeln:
statement; statement;case labeln+1: statement; ... break;
... default: statement; ...
}
Fall-thru unique to switch;
Cannot overlap in if-else if
![Page 22: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/22.jpg)
switch Statement
Depends on a value to determine what is run Easier to read than if-else if
Expression can be anything you want bool, char, short, int, or long result
required Where execution starts marked by the
labels Literals or constants only usable for the
labels Labels in any order: starts at first equal to
value Doesn’t stop at next label (unlike if-else) Execution continues until closing brace or break
No reevaluation of expression in switch statement
![Page 23: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/23.jpg)
Executing switch Statement
1. Evaluates expression2. Finds first matching case or default
If no default no match, will skip past switch
3. Execution starts at 1st matching label Execution will continue until break found Continues into next case if break is not hit
4. Restarts running after switch once break hit
Legal to reach end of switch without a break
Continues running code after switch
![Page 24: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/24.jpg)
Tracing switch Statement
float temp = -40; float convert; char c; cin >> c; switch (toupper(c)) { case ‘K’: temp = temp – 273.15; case ‘C’: convert = ((temp / 5) * 9) + 32; break; case ‘F’: convert = ((temp - 32) / 9) * 5; break; default: cout << “Amoronsayswhat?” << endl; } cout <<“Converted temp: ” << convert << endl;
![Page 25: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/25.jpg)
Tracing switch Statement
float temp = -40; float convert; char c; cin >> c; switch (toupper(c)) { case ‘K’: temp = temp – 273.15; case ‘C’: convert = ((temp / 5) * 9) + 32; break; case ‘F’: convert = ((temp - 32) / 9) * 5; break; default: cout << “Amoronsayswhat?” << endl; } cout <<“Converted temp: ” << convert << endl;
![Page 26: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/26.jpg)
Tracing switch Statement
float temp = -40; float convert; char c; cin >> c; switch (toupper(c)) { case ‘K’: temp = temp – 273.15; case ‘C’: convert = ((temp / 5) * 9) + 32; break; case ‘F’: convert = ((temp - 32) / 9) * 5; break; default: cout << “Amoronsayswhat?” << endl; } cout <<“Converted temp: ” << convert << endl;
![Page 27: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/27.jpg)
Steel Cage Match
if - else if - else switch
Actions cannot overlap
Expression per if,else if
Any boolean expressions
else gets remaining cases
Use for actions needed only when expression(s) are true
Overlap by omitting break;
Evaluates single expression
Only 1 equality test default gets all other
cases
Use for actions neededwhen expression has specific value –or – actions should overlap
![Page 28: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/28.jpg)
Your Turn
Get in groups of 3 & work on following activity
![Page 29: CSC 107 – Programming For Science. Announcement Today’s Goal Know how to write selections besides if-else Why we use select or if - else and how](https://reader035.vdocuments.us/reader035/viewer/2022070410/56649f1e5503460f94c367a8/html5/thumbnails/29.jpg)
For Next Lecture
Read sections 8.1 – 8.3 for Monday What if we want to do something
repeatedly? How should we tell the machine to stop? What is difference between while and do-while?
Week #4 weekly assignment available on Angel If problem takes more than 10 minutes,
TALK TO ME!
Programming Project #1 available on Angel also One of term’s 3 large assignments – due
Oct. 1