1 / 30

Chapter 6: More on the Selection Structure

Chapter 6: More on the Selection Structure. Introduction to Programming with C++ Fourth Edition. Objectives. Include a nested selection structure in pseudocode and in a flowchart Code a nested selection structure in C++ Recognize common logic errors in selection structures.

rsigel
Download Presentation

Chapter 6: More on the Selection Structure

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. Chapter 6:More on the Selection Structure Introduction to Programming with C++ Fourth Edition

  2. Objectives • Include a nested selection structure in pseudocode and in a flowchart • Code a nested selection structure in C++ • Recognize common logic errors in selection structures Introduction to Programming with C++, Fourth Edition

  3. Objectives (continued) • Include the switch form of the selection structure in pseudocode and in a flowchart • Code the switch form of the selection structure in C++ • Format numeric output in C++ Introduction to Programming with C++, Fourth Edition

  4. Nested Selection Structures • Nested selection structure: • Selection structure within another selection structure • Used when more than one decision must be made before the appropriate action can be taken • Primary decision - always made by the outer selection structure • Secondary decision - always made by the inner (nested) selection structure Introduction to Programming with C++, Fourth Edition

  5. Nested Selection Structures (continued) Introduction to Programming with C++, Fourth Edition

  6. Nested Selection Structures (continued) Introduction to Programming with C++, Fourth Edition

  7. Logic Errors in Selection Structures • Logic errors are commonly made as a result of the following mistakes: • Using a logical operator rather than a nested selection structure • Reversing the primary and secondary decisions • Using an unnecessary nested selection structure Introduction to Programming with C++, Fourth Edition

  8. Logic Errors in Selection Structures (continued) Introduction to Programming with C++, Fourth Edition

  9. Logic Errors in Selection Structures (continued) • Test Data for Desk-Checking • Data for first desk-check • Status: F • Years: 4 • Data for second desk-check • Status: F • Years: 15 • Data for third desk-check • Status: P • Years: 11 Introduction to Programming with C++, Fourth Edition

  10. Results of Desk-Checking the Correct Algorithm Introduction to Programming with C++, Fourth Edition

  11. Using a Logical Operator Rather Than a Nested Selection Structure • One common error made when writing selection structures is to use a logical operator in the outer selection structure’s condition when a nested selection structure is needed Introduction to Programming with C++, Fourth Edition

  12. Correct Algorithm and an Incorrect Algorithm Containing the First Logic Error Introduction to Programming with C++, Fourth Edition

  13. Results of Desk-Checking the Incorrect Algorithm Introduction to Programming with C++, Fourth Edition

  14. Reversing the Primary and Secondary Decisions • Common error: putting the secondary decision in the outer selection structure, and putting the primary decision in the nested selection structure Introduction to Programming with C++, Fourth Edition

  15. Correct Algorithm and an Incorrect Algorithm Containing the Second Logic Error Introduction to Programming with C++, Fourth Edition

  16. Results of Desk-Checking the Incorrect Algorithm Introduction to Programming with C++, Fourth Edition

  17. Using an Unnecessary Nested Selection Structure • In most cases, a selection structure containing this error still produces the correct results • However, it is less efficient than selection structures that are properly structured Introduction to Programming with C++, Fourth Edition

  18. Correct Algorithm and an Inefficient Algorithm Containing the Third Logic Error Introduction to Programming with C++, Fourth Edition

  19. Results of Desk-Checking the Inefficient Algorithm Introduction to Programming with C++, Fourth Edition

  20. Using the if/elseForm to Create Multiple-Path Selection Structures Introduction to Programming with C++, Fourth Edition

  21. Two Versions of the C++ Code for the Grade Problem Introduction to Programming with C++, Fourth Edition

  22. Two Versions of the C++ Code for the Grade Problem (continued) Introduction to Programming with C++, Fourth Edition

  23. Using the switchForm to Create Multiple-Path Selection Structures Introduction to Programming with C++, Fourth Edition

  24. Using the switchForm • Switch statement: • Begins with switch followed by an open brace • Ends with a closing brace • Switch clause - keyword switch followed by a selectorExpression enclosed in parentheses • selectorExpression – • Can contain any combination of variables, constants, functions, methods, and operators • Must result in a bool, char, short, int, or long Introduction to Programming with C++, Fourth Edition

  25. Using the switchForm (continued) • Each clause in the switch statement contains a value followed by a colon • Data type of the value should be compatible with the data type of the selectorExpression • Break statement - tells the computer to leave (“break out of”) the switch statement at that point Introduction to Programming with C++, Fourth Edition

  26. Formatting Numeric Output • Use setiosflags stream manipulator to display a program’s numeric output in fixed-point notation only • Must use #include <iomanip> directive and using std::ios; and using std::setiosflags; • Use setprecision to control the number of decimal places displayed Introduction to Programming with C++, Fourth Edition

  27. Formatting Numeric Output (continued) Introduction to Programming with C++, Fourth Edition

  28. Formatting Numeric Output (continued) Introduction to Programming with C++, Fourth Edition

  29. Summary • Nested selection structure: • Selection structure within another selection structure • Used when more than one decision must be made before the appropriate action can be taken • Three common logic errors in selection structures • Logic errors are commonly made as a result of the following mistakes: • Using a logical operator rather than a nested selection structure • Reversing the primary and secondary decisions • Using an unnecessary nested selection structure Introduction to Programming with C++, Fourth Edition

  30. Summary (continued) • The switch form of the selection structure is often simpler to use if there are many paths from which to choose • Format output using stream manipulators Introduction to Programming with C++, Fourth Edition

More Related