1 / 28

CPS120: Introduction to Computer Science

CPS120: Introduction to Computer Science. Decision Making in Programs. Decision Making In Computers. A circuit quite simply allows one out of two choices to be made depending on its inputs

Download Presentation

CPS120: Introduction to Computer Science

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CPS120: Introduction to Computer Science Decision Making in Programs

  2. Decision Making In Computers • A circuit quite simply allows one out of two choices to be made depending on its inputs • When decisions are made in a computer program, they are simply the result of a computation in which the final result is either TRUE or FALSE • The value zero (0) is considered to be FALSE by C++. Any positive or negative value is considered to be TRUE

  3. Programming & Decisions • Practically all computer programs, when modeled with a flowchart, demonstrate that branching occurs within their algorithms.

  4. Selection Statements • The if statement allows the program to test the state of the program variables using a Boolean expression

  5. Selection Statements Flow of control of if statement

  6. Selection Statements

  7. Selection Statements

  8. case Statement • For convenience, many high-level languages include a case (or switch) statement • Allows us to make multiple-choice decisions easier, provided the choices are discrete

  9. Decision Making in C++ • if statement • switch statement There are also a couple that are arcane: • ? conditional operator statement • goto statement

  10. Using Relational Operators • Relational operators provide the tools with which programs make decisions with true and false evaluations == equal to NOTE: this is two equals symbols next to each other, not to be confused with the assignment operator, => greater than< less than>= greater than or equal to<= less than or equal to!= not equal to

  11. Using Logical Operators • When complex decisions must be coded into an algorithm, it may be necessary to "chain together" a few relational expressions (that use relational operators) • This is done with logical operators (also called Boolean operators.) ! is the logical NOT operator && is the logical AND operator|| is the logical OR operator

  12. Order of Logical Operations • Logical operators may be mixed within evaluation statements but the following order of preference must be respected: • NOT operator (!) • AND operator (&&) • OR operator (||)

  13. Complete order of operations • The complete order of operations including all of the arithmetic, relational, and logical operators including all of the basic arithmetic, relational, & logical operators is: *, /, % +, - <, >, <=, >=, ==, != ! && ||

  14. Compare and Branch • A program can instruct a computer to compare two items and do something based on a match or mismatch which, in turn, redirect the sequence of programming instructions. • There are two forms: • IF-THEN • IF-THEN-ELSE

  15. Levels of Complexity for if • Simple if statement • if … else statement • Nested if … else statement

  16. Entry false true Exit True statement a IF-THEN Test condition p

  17. Use the “IF” structure • In C++, the if structure is a one-way selection structure: if (number == 3) { cout << "The value of number is 3"; } • IF structures use a control expression to determine if the code in the braces is to be executed or not

  18. Compound Conditionals • You can use the AND operator (&&) to form a compound relational expression: if (0 < number && number < 10) { cout << number << " is greater than 0 but less than 10." << endl; }

  19. Coding IF Structures • Place a semicolon at the end of each statement within the braces, which can contain many executable statements • Use curly braces around the body of an IF structure even if there is only one statement

  20. Entry Test condition p false true “false” statement a “true” statement a Exit IF…ELSE

  21. General Form if (test expression) { True-block statements; } else { False-block statements; } next statement;

  22. The If … Else statement • Two-way selection structure since either the block of code after the "if" part will be executed or the block of code after the "else" part will be executed • The “If" part is executed if the control expression is TRUE while the "else" part is executed if the "if" part is FALSE, guaranteeing one part of the expression to be executed or the other

  23. Nested If Statements • If structures and if/else statements can be nested within one another in order to model complex decision structures. • Use the braces and semicolons properly when coding such structures.

  24. General Form if (test condition 1) { // true-block1 statements if (test condition 2) { true-block2 statements; } else { false-block2 statements; } } else { false-block1 statements; }

  25. Switch Structure • The switch structure is a multiple-selection structure that allows even more complicated decision statements than a two-way if/else structure allows. • It chooses one of the "cases" depending on the result of the control expression. • Only variables with the INT or CHAR data types may be used in the control expressions (i.e. parentheses) of switch statements. • Single quotes must be used around CHAR variables • Single quotes are NOT used around the integer values

  26. Sample Switch Structure switch (character_entered) { case ‘A’ : cout << “The character entered was A.\n”; break; case ‘B’: cout << “The character entered was B.\n”; default: cout << “Illegal entry\n”; }

  27. Switch Structure • The break statement must be used within each case if you do not want following cases to evaluate once one case is found. When the break statement is executed within a switch, C++ will execute the next statement outside of the switch statement. • The default case, if present, will result if none of the prior cases apply

  28. Grouping Cases switch (number) { case 1: case 3: case 5: case 7: case 9: cout << number << " is an even number." << endl; break; case 2: case 4: case 6: case 8: cout << number << " is an odd number. " << endl; break; default: cout << number << " is not a value between or including 1 and 9." << endl; break; }

More Related