1 Introduction to Flowcharting
2 Writing a program Defining the problem –Write down what the program will do Planning –Write down the steps, draw a flowchart Programming –Coding, including errors correction, testing Documenting –Adding comments Implementing –Improvement, making the program better
3 Objective A program can be divided into 3 parts: –Input data –Processing data – Calculation, etc. –Output information/results Input Calculation/ Processing Output
4 Arrows From Top to Bottom & from Left to Right Make turn Join together
5 What is a Flowchart? A diagram made up of symbols of various shapes connected by arrows. Those symbols indicate either actions to be taken or decisions to be made. It helps us planning & programming. A flowchart is a diagram that depicts the “flow” of a program. The figure shown here is a flowchart for a pay-calculating program. START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END
6 Basic Flowchart Symbols Notice there are three types of symbols in this flowchart: –rounded rectangles –parallelograms –a rectangle Each symbol represents a different type of operation. START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END Rounded Rectangle Parallelogram Rectangle Rounded Rectangle
7 Basic Flowchart Symbols Terminals –represented by rounded rectangles –indicate a starting or ending point START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END Terminal STARTEND Terminal
8 Basic Flowchart Symbols Input/Output Operations –represented by parallelograms –indicate an input or output operation START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END Display message “How many hours did you work?” Read Hours Input/Output Operation
9 Basic Flowchart Symbols Processes –represented by rectangles –indicates a process such as a mathematical computation or variable assignment START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END Multiply Hours by PayRate. Store result in GrossPay. Process
10 Stepping Through the Flowchart START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END Variable Contents: Hours: ? PayRate: ? GrossPay: ? Stepping Through the Flowchart In the next seven slides we will step through each symbol in the flowchart. We will show the program output and the contents of the variables.
11 Stepping Through the Flowchart How many hours did you work? START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END Variable Contents: Hours: ? PayRate: ? GrossPay: ? Step 1: An Output Operation Stepping Through the Flowchart Screen Output
12 Stepping Through the Flowchart How many hours did you work? 40 START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END Variable Contents: Hours: 40 PayRate: ? GrossPay: ? Step 2: An Input Operation (User types 40) Stepping Through the Flowchart The value 40 is stored in Hours.
13 Stepping Through the Flowchart How much do you get paid per hour? START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END Variable Contents: Hours: 40 PayRate: ? GrossPay: ? Step 3: An Output Operation Stepping Through the Flowchart Screen Output
14 Stepping Through the Flowchart How much do you get paid per hour? 20 START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END Variable Contents: Hours: 40 PayRate: 20 GrossPay: ? Step 4: Input Operation (User types 20) Stepping Through the Flowchart The value 20 is stored in PayRate.
15 How much do you get paid per hour? 20 START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END Variable Contents: Hours: 40 PayRate: 20 GrossPay: 800 Step 5: The product of Hours times PayRate is stored in GrossPay Stepping Through the Flowchart The value 800 is stored in GrossPay.
16 Stepping Through the Flowchart Your gross pay is 800 START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END Variable Contents: Hours: 40 PayRate: 20 GrossPay: 800 Step 6: An Output Operation Screen Output
17 Four Flowchart Structures Sequence Decision Repetition Case
18 Sequence Structure A series of actions are performed in sequence The pay-calculating example was a sequence flowchart.
19 Decision Structure One of two possible actions is taken, depending on a condition.
20 Decision Structure A new symbol, the diamond, indicates a yes/no question. If the answer to the question is yes, the flow follows one path. If the answer is no, the flow follows another path YESNO
21 Decision Structure In the flowchart segment below, the question “is x < y?” is asked. If the answer is no, then process A is performed. If the answer is yes, then process B is performed. YESNO x < y? Process BProcess A
22 Decision Structure The flowchart segment below shows how a decision structure is expressed. YESNO x < y? Calculate a as x times 2. Calculate a as x plus y. Flowchart
23 Decision Structure The flowchart segment below shows a decision structure with only one action to perform. It is expressed with only one process. Flowchart YESNO x < y? Calculate a as x times 2.
24 Repetition Structure A repetition structure represents part of the program that repeats. This type of structure is commonly known as a loop.
25 Repetition Structure Notice the use of the diamond symbol. A loop tests a condition, and if the condition exists, it performs an action. Then it tests the condition again. If the condition still exists, the action is repeated. This continues until the condition no longer exists.
26 Repetition Structure In the flowchart segment, the question “is x < y?” is asked. If the answer is yes, then Process A is performed. The question “is x < y?” is asked again. Process A is repeated as long as x is less than y. When x is no longer less than y, the repetition stops and the structure is exited. x < y? Process A YES
27 Repetition Structure The flowchart segment below shows a repetition structure expressed. Flowchart x < y? Add 1 to x YES
28 Case Structure One of several possible actions is taken, depending on the contents of a variable.
29 Case Structure The structure below indicates actions to perform depending on the value in years_employed. CASE years_employed Other bonus = 100 bonus = 200 bonus = 400 bonus = 800
30 Case Structure CASE years_employed Other bonus = 100 bonus = 200 bonus = 400 bonus = 800 If years_employed = 1, bonus is set to 100 If years_employed = 2, bonus is set to 200 If years_employed = 3, bonus is set to 400 If years_employed is any other value, bonus is set to 800
31 Connectors Sometimes a flowchart will not fit on one page. A connector (represented by a small circle) allows you to connect two flowchart segments. A
32 Connectors A A START END The “A” connector indicates that the second flowchart segment begins where the first segment ends.
33 Modules A program module (such as a method in java) is represented by a special symbol.
34 Modules The position of the module symbol indicates the point the module is executed. A separate flowchart can be constructed for the module. START END Read Input. Call calc_pay function. Display results.
35 Combining Structures Structures are commonly combined to create more complex algorithms. The flowchart segment below combines a decision structure with a sequence structure. x < y? Display x Add 1 to x YES
36 This flowchart segment shows two decision structures combined. Combining Structures Display “x is within limits.” Display “x is outside the limits.” YESNO x > min? x < max? YES NO Display “x is outside the limits.”
37 Review What do each of the following symbols represent? (Answer on next slide)
38 Answer What do each of the following symbols represent? Terminal Input/Output Operation Process Decision Connector Module
39 Review Name the four flowchart structures. (Answer on next slide)
40 Answer Sequence Decision Repetition Case
41 What type of structure is this? Review (Answer on next slide)
42 Answer Repetition
43 What type of structure is this? Review (Answer on next slide)
44 Answer Sequence
45 What type of structure is this? Review (Answer on next slide)
46 Answer Case
47 What type of structure is this? Review (Answer on next slide)
48 Answer Decision
49 Flowcharting Problems 1.Flowchart a program to input the radius of a circle, and then calculate and print the area. The formula is Area = Pi * Radius 2 2.Flowchart a program that will input four marks and calculate the average. Use a loop and print out congratulations if it is over Flowchart a program that will take a temperature in Either Fahrenheit (F) or Centigrade (C) grade and convert it to the other The formulas are below. C = ( F - 32) / 1.8 F = C × –The user will input either an “F” to indicate that the input temperature is Fahrenheit or a “C” to indicate that the input temperature is Centigrade. –If the temperature is “F” convert it to “C” if “C” Convert to “F”. –Output the results with a message that states: – “ ___ degrees C is equal to ___ degrees F”