Lect 3P. 1 - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Lect 3P. 1

Description:

Structured Engineering Problem Solving and Logic Diagrams Lecture 3 TOOLS FOR PROGRAM DEVELOPMENT A variety of tools and techniques can be used in the process of ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 28
Provided by: RickFr6
Category:
Tags: lect | technique

less

Transcript and Presenter's Notes

Title: Lect 3P. 1


1
Structured Engineering Problem Solving and Logic
Diagrams
  • Lecture 3

2
TOOLS FOR PROGRAM DEVELOPMENT
  • A variety of tools and techniques can be used in
    the process of program development
  • Useful for organizing the tasks in problem
    solving
  • Many of the tools are focused on the
  • development or formulation of algorithms
  • representation of algorithms
  • refinement or structuring of algorithms

3
TOOLS FOR PROGRAM DEVELOPMENT
  • Top-down design technique
  • Start with overall function and perform several
    step-wise refinements
  • Pseudo code
  • Artificial and informal language that helps
    programmers develop algorithms
  • Logic diagrams
  • Alternate representations of algorithms including
    graphic and state representations

4
TOP-DOWN STEPWISE REFINEMENT
  • Begin with a single statement that conveys the
    overall function of the program. This is a
    complete (but simple) representation of the
    program.
  • Divide this "top" statement into a series of
    smaller tasks and list them in the order in which
    they must be performed to produce a first
    refinement.

5
TOP-DOWN STEPWISE REFINEMENT
  • Next, refine each of the smaller tasks into yet
    smaller steps, defining specific "variables" as
    may be needed in this second refinement.
  • Continue refinement until algorithm is fully
    developed.
  • When combined with pseudo code, writing the
    program is normally straightforward.

6
Top-Down Example
  • The Problem
  • The students in a class have taken their first
    quiz. The grades (in the range of 0 to 100) are
    available. Determine the class average on the
    quiz.
  • Givens
  • Grades, Possible range of legitimate grades.

7
Top-Down Example (continued)
  • Unknowns
  • How many grades to be averaged?
  • Assumptions
  • A "grade" not in the range of expected grades
    could be used to indicate the that all of the
    legitimate grades have been entered. (Called
    "sentinel" or "flag".)

8
Top-Down Example (continued)
  • Using pseudo code, we begin by representing the
    top
  • Determine the class average for the quiz

9
Top-Down Example (continued)
  • Next, perform the first refinement
  • Determine the class average for the quiz
  • Initialize variables
  • Input, sum, and count quiz grades
  • Calculate and print the class average

10
Top-Down Example (continued)
  • Next, refine each one of these smaller tasks
  • Initialize variables
  • Initialize a running total to zero
  • Initialize a grade counter to zero

11
Top-Down Example (continued)
  • Input, sum, and count quiz grades
  • Input the first grade
  • While the user has not entered the "flag"
  • Add this grade into the running total
  • Add one to the grade counter
  • Input next grade (possibly the "flag")

12
Top-Down Example (continued)
  • Calculate and print the class average
  • If the grade counter is not zero
  • Set the class average to the running
  • total divided by the grade counter
  • Print the average
  • Else
  • Print "No grades were entered"

13
Handling Special Cases
  • Notice that the top-down refinement example
    included the handling of a "special case".
  • Many of you are aware of the special treatment
    that Windows gives to the extreme "special cases"
    (sometimes called the BSOD or Blue Screen of
    Death)

14
Handling Special Cases
15
Some Types of Logic Diagrams
  • Flow Charts -- graphic representation of an
    algorithm
  • an aid to writing the program
  • no formal standards, but common guidelines
  • Action Diagrams -- technique for diagramming of
    control structures of a program
  • an outline of the computer application
  • what things happen, when, where, how many times

16
Characteristics of Flow Charts
  • Useful tool in program development
  • Not a complete description of program
  • Not only tool to use
  • Made before writing the program
  • Program might differ from flowchart
  • Only executable statements are shown
  • Specific equations and tests not included
  • Every main and sub-program is charted

17
Flow Charting Symbols
  • The commonly used flowcharting symbols follow
  • Refer to Section 9 of the H192 "Class Notes" for
    a more complete description of the various
    flowcharting symbols normally used

18
Flow Charting Symbols
  • Begin or End a Procedure
  • "Main Program"
    "Subprogram"
  • Begin
  • End

19
Flow Charting Symbols
  • Write to Screen
  • Read from Keyboard

20
Flow Charting Symbols
  • Read from a File
  • Read from a File with a Check for End-of-File

21
Flow Charting Symbols
  • Decision or Selection Structure
  • General Processing

22
Flow Charting Symbols
  • Definite Loop
  • Indefinite Loop

23
Flow Charting Symbols
  • On-Page Connectors
  • Off-Page Connectors

24
Flow Charting Symbols
  • Call (or Invoke) a Subprogram

25
Daily Assignment F2
  • Problem
  • There are a number of apples in a large box
    which must be sorted into baskets. An apple is
    either a "large red" one, a "small red" one, or a
    "green" one.
  • Develop a flow chart or algorithm to solve the
    problem

26
Daily Assignment F2
  • Assumptions
  • 1. There are 3 empty baskets present and they are
    labeled
  • 1 large red, 2 small red, 3 green
  • 2. There are counters of some sort present.
  • 3. The person sorting is not color blind and can
    tell the difference between large and small
    apples.
  • 4. Only these three kinds of apples are in the
    large box.

27
Daily Assignment F2
  • Are there any unknowns?
  • Start with the overall problem
  • Develop the steps to solve the problem
Write a Comment
User Comments (0)
About PowerShow.com