Programming Rationale and Plan Fourth Version, Basic - PowerPoint PPT Presentation

programming logic and design fourth edition introductory l.
Skip this Video
Loading SlideShow in 5 Seconds..
Programming Rationale and Plan Fourth Version, Basic PowerPoint Presentation
Programming Rationale and Plan Fourth Version, Basic

play fullscreen
1 / 52
Download Presentation
yael-fitzgerald
Views
Download Presentation

Programming Rationale and Plan Fourth Version, Basic

Presentation Transcript

  1. Programming Logic and DesignFourth Edition, Introductory Chapter 2 Understanding Structure

  2. Objectives • Describe the features of unstructured spaghetti code • Describe the three basic structures – sequence, selection, and loop • Use a priming read • Appreciate the need for structure • Recognize structure Programming Logic and Design, Introductory, Fourth Edition

  3. Objectives (continued) • Describe three special structures – case, do-while, and do-until Programming Logic and Design, Introductory, Fourth Edition

  4. Understanding Unstructured Spaghetti Code • Spaghetticode – logically snarled program statements • Can be the result of poor program design Example: college admissions criteria Programming Logic and Design, Introductory, Fourth Edition

  5. Understanding Unstructured Spaghetti Code (continued) Programming Logic and Design, Introductory, Fourth Edition

  6. Understanding Unstructured Spaghetti Code (continued) • Spaghetti code programs often work, but are difficult to read and maintain • Convoluted logic usually requires more code Programming Logic and Design, Introductory, Fourth Edition

  7. Understanding the Three Basic Structures • Structure: a basic unit of programming logic • Any program can be constructed from only three basic types of structures • Sequence • Selection • Loop Programming Logic and Design, Introductory, Fourth Edition

  8. Understanding the Three Basic Structures (continued) • Sequence structure • A set of instructions, performed sequentially with no branching Programming Logic and Design, Introductory, Fourth Edition

  9. Understanding the Three Basic Structures (continued) • Selection structure • Asks a question, then takes one of two possible courses of action based on the answer • Also called a decision structure or an if-then-else Programming Logic and Design, Introductory, Fourth Edition

  10. Understanding the Three Basic Structures (continued) • Dual-alternative if: contains two alternatives Programming Logic and Design, Introductory, Fourth Edition

  11. Understanding the Three Basic Structures (continued) • Single-alternative if: contains one alternative Programming Logic and Design, Introductory, Fourth Edition

  12. Understanding the Three Basic Structures (continued) • Single-alternative if • Else clause is not required • Null case: situation where nothing is done Programming Logic and Design, Introductory, Fourth Edition

  13. Understanding the Three Basic Structures (continued) • Loop structure • Repeats a set of actions based on the answer to a question • Also called repetition or iteration • Question is asked first in the most common form of loop Programming Logic and Design, Introductory, Fourth Edition

  14. Understanding the Three Basic Structures (continued) • Loop structure Programming Logic and Design, Introductory, Fourth Edition

  15. Understanding the Three Basic Structures (continued) • All logic problems can be solved using only these three structures • Structures can be combined in an infinite number of ways • Stacking: attaching structures end-to-end • End-structure statements • Indicate the end of a structure • endif: ends an if-then-else structure • endwhile: ends a loop structure Programming Logic and Design, Introductory, Fourth Edition

  16. Understanding the Three Basic Structures (continued) Programming Logic and Design, Introductory, Fourth Edition

  17. Understanding the Three Basic Structures (continued) • Any individual task or step in a structure can be replaced by a structure • Nesting: placing one structure within another • Indent the nested structure’s statements • Block: group of statements that execute as a single unit Programming Logic and Design, Introductory, Fourth Edition

  18. Understanding the Three Basic Structures (continued) Programming Logic and Design, Introductory, Fourth Edition

  19. Understanding the Three Basic Structures (continued) Programming Logic and Design, Introductory, Fourth Edition

  20. Understanding the Three Basic Structures (continued) Programming Logic and Design, Introductory, Fourth Edition

  21. Understanding the Three Basic Structures (continued) • Each structure has one entry and one exit point • Structures attach to others only at entry or exit points Programming Logic and Design, Introductory, Fourth Edition

  22. Using the Priming Read • Priming read (or priming input): • Reads the first input data record • Outside the loop that reads the rest of the records • Helps keep the program structured • Analyze a flowchart for structure one step at a time • Watch for unstructured loops that do not follow this order: • First ask a question • Take action based on the answer • Return to ask the question again Programming Logic and Design, Introductory, Fourth Edition

  23. Using the Priming Read (continued) • Unstructured loop: Programming Logic and Design, Introductory, Fourth Edition

  24. Using the Priming Read (continued) • Structured but nonfunctional loop Programming Logic and Design, Introductory, Fourth Edition

  25. Using the Priming Read (continued) • Functional but non-structured loop Programming Logic and Design, Introductory, Fourth Edition

  26. Using the Priming Read (continued) • Functional and structured loop Programming Logic and Design, Introductory, Fourth Edition

  27. Using the Priming Read (continued) • Priming read sets up the process so the loop can be structured • To analyze a flowchart’s structure, try writing pseudocode for it Programming Logic and Design, Introductory, Fourth Edition

  28. Using the Priming Read (continued) • What is wrong with this design? Programming Logic and Design, Introductory, Fourth Edition

  29. Understanding the Reasons for Structure • Advantages of structure: • Provides clarity • Professionalism • Efficiency • Ease of maintenance • Supports modularity Programming Logic and Design, Introductory, Fourth Edition

  30. Understanding the Reasons for Structure (continued) Programming Logic and Design, Introductory, Fourth Edition

  31. Understanding the Reasons for Structure (continued) Programming Logic and Design, Introductory, Fourth Edition

  32. Recognizing Structure • Any set of instructions can be expressed in structured format • Is this flowchart structured? Programming Logic and Design, Introductory, Fourth Edition

  33. Recognizing Structure (continued) • Is this flowchart structured? Programming Logic and Design, Introductory, Fourth Edition

  34. Recognizing Structure (continued) • To make it structured, pull each symbol out and rework • B begins a selection structure Programming Logic and Design, Introductory, Fourth Edition

  35. Recognizing Structure (continued) • Pull up on the flowline from the left side of B Programming Logic and Design, Introductory, Fourth Edition

  36. Recognizing Structure (continued) • Next, pull up the flowline on the right side of B Programming Logic and Design, Introductory, Fourth Edition

  37. Recognizing Structure (continued) • Pull up the flowline on the left side of D and untangle it from the B selection by repeating C Programming Logic and Design, Introductory, Fourth Edition

  38. Recognizing Structure (continued) • Now pull up the flowline on the right side of D Programming Logic and Design, Introductory, Fourth Edition

  39. Recognizing Structure (continued) • Bring together the loose ends of D and of B Programming Logic and Design, Introductory, Fourth Edition

  40. Three Special Structures – Case, DoWhile, and DoUntil • Many languages allow three additional structures: • case structure • do-while structure • do-until structure • Case Structure: • Decisions with more than two alternatives • Tests a variable against a series of values and takes action based on a match • Nested if-then-else statements will do what a case structure does Programming Logic and Design, Introductory, Fourth Edition

  41. Three Special Structures – Case, DoWhile, and DoUntil (continued) • Using nested if-then-else for multiple alternatives Programming Logic and Design, Introductory, Fourth Edition

  42. Three Special Structures – Case, DoWhile, and DoUntil (continued) • Using a case structure for multiple alternatives Programming Logic and Design, Introductory, Fourth Edition

  43. Three Special Structures – Case, DoWhile, and DoUntil (continued) • do-while and do-until loops • Question is asked at the end of the loop structure • Ensures that the loop statements are always used at least once Programming Logic and Design, Introductory, Fourth Edition

  44. Three Special Structures – Case, DoWhile, and DoUntil (continued) • do-while loop executes as long as the question’s answer is Yes or True • do-until loop executes as long as the question’s answer is No or False (until it becomes Yes or True) Programming Logic and Design, Introductory, Fourth Edition

  45. Three Special Structures – Case, DoWhile, and DoUntil (continued) • while loop with question at beginning is called a pretest loop • do-while and do-until with question at end are called posttest loops • A posttest loop can be replaced with a sequence followed by a pretest while loop Programming Logic and Design, Introductory, Fourth Edition

  46. Three Special Structures – Case, DoWhile, and DoUntil (continued) Programming Logic and Design, Introductory, Fourth Edition

  47. Three Special Structures – Case, DoWhile, and DoUntil (continued) Programming Logic and Design, Introductory, Fourth Edition

  48. Three Special Structures – Case, DoWhile, and DoUntil (continued) • How can this design be made structured? Programming Logic and Design, Introductory, Fourth Edition

  49. Three Special Structures – Case, DoWhile, and DoUntil (continued) • Repeat the needed step to enforce structure Programming Logic and Design, Introductory, Fourth Edition

  50. Summary • Spaghetti code: snarled program logic • Three basic structures: sequence, selection, loop • These three can be combined by stacking and nesting • Priming read: statement that reads the first input data record • Structured techniques promote clarity, professionalism, efficiency, and modularity Programming Logic and Design, Introductory, Fourth Edition