Download presentation
Presentation is loading. Please wait.
Published byBenjamin Fletcher Modified over 9 years ago
1
Introduction to Flowcharting A Supplement to Starting Out with C++, 4th Edition by Tony Gaddis Published by Addison-Wesley
2
What is a Flowchart? A flowchart is a diagram that depicts the “flow” of a program. The figure shown here is a flowchart for the pay-calculating program in Chapter 1. START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END
3
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 Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END Rounded Rectangle Parallelogram Rectangle Rounded Rectangle
4
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 Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END Terminal STARTEND Terminal
5
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 Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END Display message “How many hours did you work?” Read Hours Input/Output Operation
6
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 Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END Multiply Hours by Pay Rate. Store result in Gross Pay. Process
7
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 Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END Variable Contents: Hours: ? Pay Rate: ? Gross Pay: ? Output Operation Stepping Through the Flowchart
8
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 Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END Variable Contents: Hours: 40 Pay Rate: ? Gross Pay: ? Input Operation (User types 40) Stepping Through the Flowchart
9
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 Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END Variable Contents: Hours: 40 Pay Rate: ? Gross Pay: ? Output Operation Stepping Through the Flowchart
10
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 Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END Variable Contents: Hours: 40 Pay Rate: 20 Gross Pay: ? Input Operation (User types 20) Stepping Through the Flowchart
11
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 Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END Variable Contents: Hours: 40 Pay Rate: 20 Gross Pay: 800 Process: The product of 40 times 20 is stored in Gross Pay Stepping Through the Flowchart
12
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 Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END Variable Contents: Hours: 40 Pay Rate: 20 Gross Pay: 800 Output Operation
13
Four Flowchart Structures Sequence Decision Repetition Case
14
Sequence Structure a series of actions are performed in sequence The pay-calculating example was a sequence flowchart.
15
Examples Calculating area of the circle 1. Start. 2. read radius (from keyboard) 3. Calculate, area = 3.14 * (radius * radius) 4. Display area. 5. Stop
16
Input radius start end Display area Area = 3.14 * (radius * radius)
17
Examples program adding two numbers 1. Start. 2. Input number1 (from keyboard) 3. Input number2 (from keyboard) 3. Calculate, result = number1+number2 4. Display result. 5. Stop
18
Input number1 start end Input number2 Output result Result= Number1+ number2
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 in C++ as an if/else statement. YESNO x < y? Calculate a as x times 2. Calculate a as x plus y. if (x < y) a = x * 2; else a = x + y; FlowchartC++ Code
23
Decision Structure The flowchart segment below shows a decision structure with only one action to perform. It is expressed as an if statement in C++ code. if (x < y) a = x * 2; FlowchartC++ Code YESNO x < y? Calculate a as x times 2.
24
Examples program dividing two numbers 1. Start. 2. Input number1 (from keyboard) 3. Input number2 (from keyboard) 4. If number2=0 then display “division is impossible” else calculate result = number1/number2, display result 5. end
25
Flowchart of program dividing two numbers start end Print the result Is number2 =0? Print “division is impossible” yes no Result= Number1/ number2 Input number2 Input number1
26
Examples Calculate the Grade of a student according to his marks in 5 courses Input: degrees of 5 courses (from keyboard) Output: grade of the student ( very good, good, pass, fail)
28
Repetition Structure A repetition structure represents part of the program that repeats. This type of structure is commonly known as a loop.
29
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.
30
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
31
Repetition Structure The flowchart segment below shows a repetition structure expressed in C++ as a while loop. while (x < y) x++; FlowchartC++ Code x < y? Add 1 to x YES
32
Controlling a Repetition Structure The action performed by a repetition structure must eventually cause the loop to terminate. Otherwise, an infinite loop is created. In this flowchart segment, x is never changed. Once the loop starts, it will never end. QUESTION: How can this flowchart be modified so it is no longer an infinite loop? x < y? Display x YES
33
Controlling a Repetition Structure ANSWER: By adding an action within the repetition that changes the value of x. x < y? Display x Add 1 to x YES
34
A Pre-Test Repetition Structure This type of structure is known as a pre-test repetition structure. The condition is tested BEFORE any actions are performed. x < y? Display x Add 1 to x YES
35
A Pre-Test Repetition Structure In a pre-test repetition structure, if the condition does not exist, the loop will never begin. x < y? Display x Add 1 to x YES
36
A Post-Test Repetition Structure This flowchart segment shows a post-test repetition structure. The condition is tested AFTER the actions are performed. A post-test repetition structure always performs its actions at least once. Display x Add 1 to x YES x < y?
37
A Post-Test Repetition Structure The flowchart segment below shows a post-test repetition structure expressed in C++ as a do-while loop. do { cout << x << endl; x++; } while (x < y); Flowchart C++ Code Display x Add 1 to x YES x < y?
38
Examples Flowchart of program adding numbers from 1 to 100 Input: no thing Output: summation of numbers from 1 to 100
39
start end Print the result sum= 0 Is N <= 100? N=1 sum= sum+ N N= N+ 1 yes no
40
Case Structure One of several possible actions is taken, depending on the contents of a variable.
41
Case Structure The structure below indicates actions to perform depending on the value in years_employed. CASE years_employed 1 2 3 Other bonus = 100 bonus = 200 bonus = 400 bonus = 800
42
Case Structure CASE years_employed 1 2 3 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
43
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
44
Connectors A A START END The “A” connector indicates that the second flowchart segment begins where the first segment ends.
45
Modules A program module (such as a function in C++) is represented by a special symbol.
46
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.
47
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
48
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.”
49
Review What do each of the following symbols represent? (Answer on next slide)
50
Answer What do each of the following symbols represent? Terminal Input/Output Operation Process Decision Connector Module
51
Review Name the four flowchart structures. (Answer on next slide)
52
Answer Sequence Decision Repetition Case
53
What type of structure is this? Review (Answer on next slide)
54
Answer Repetition
55
What type of structure is this? Review (Answer on next slide)
56
Answer Sequence
57
What type of structure is this? Review (Answer on next slide)
58
Answer Case
59
What type of structure is this? Review (Answer on next slide)
60
Answer Decision
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.