(C)opyright 2003 Scott/Jones Publishers Introduction to Flowcharting A Supplement to Starting Out with C++, 4th Edition by Tony Gaddis Scott/Jones Publishers.

Slides:



Advertisements
Similar presentations
Chapter 2: Understanding Structure
Advertisements

Flow Charts, Loop Structures
Code Visual to Flowchart Basem AL-yasouri Ayad R Meshalmeha Fadi Alalean Loay abu odah.
Introduction to Flowcharting
Introduction to Flowcharting
Flow Control Analysis & Design Tool: Flowcharts
Introduction to Flowcharting
An Object-Oriented Approach to Programming Logic and Design
Introduction to Flowcharting A Supplement to Starting Out with C++, 4th Edition by Tony Gaddis Published by Addison-Wesley.
Computer Programming Rattapoom Waranusast Department of Electrical and Computer Engineering Faculty of Engineering, Naresuan University.
Fundamentals of Algorithms MCS - 2 Lecture # 4
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 5 Looping.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Sixth Edition Chapter 5: Looping by Tony.
Chapter 2: Algorithm Discovery and Design
Chapter 5: Loops and Files.
Chapter 2: Input, Processing, and Output
Chapter 2: Algorithm Discovery and Design
The Program Design Phases
The switch Statement, DecimalFormat, and Introduction to Looping
11 Chapter 4 LOOPS AND FILES. 22 THE INCREMENT AND DECREMENT OPERATORS To increment a variable means to increase its value by one. To decrement a variable.
CSC103: Introduction to Computer and Programming
Lecturer: Omid Jafarinezhad Sharif University of Technology Department of Computer Engineering 1 Fundamental of Programming (C) Lecture 5 Structured Program.
PROGRAMMING, ALGORITHMS AND FLOWCHARTS
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Looping Exercises Deciding Which Loop to Use At this.
CIS Computer Programming Logic
Design the program Create a detailed description of program –Use charts or ordinary language (pseudocode) Identify algorithms needed –Algorithm: a step-by-step.
Chapter 12: How Long Can This Go On?
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.
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.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Flowcharts.
Flowcharts.
An Introduction to Programming with C++ Sixth Edition Chapter 7 The Repetition Structure.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 5 Looping.
+ Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy Walters, and Godfrey Muganda Chapter 5: Looping.
(C)opyright 2000 Scott/Jones Publishers Introduction to Flowcharting.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Loops and Files. 5.1 The Increment and Decrement Operators.
1 Standard Version of Starting Out with C++, 4th Brief Edition Chapter 5 Looping.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5: Looping.
Programming Logic and Design, Introductory, Fourth Edition1 Understanding the Three Basic Structures Structure: a basic unit of programming logic Any program.
Copyright © 2012 Pearson Education, Inc. Chapter 5: Loops.
Chapter Topics 2.1 Designing a Program 2.2 Output, Input, and Variables 2.3 Variable Assignment and Calculations 2.4 Variable Declarations and Data Types.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 5 Looping.
1 Introduction to Flowcharting Computer Science Principles ASFA.
Chapter Looping 5. The Increment and Decrement Operators 5.1.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Chapter Looping 5. The Increment and Decrement Operators 5.1.
Lecture 7 – Repetition (Loop) FTMK, UTeM – Sem /2014.
An Introduction to Programming with C++ Sixth Edition Chapter 5 The Selection Structure.
CSE 110: Programming Language I Matin Saad Abdullah UB 404.
Lecture #2: Introduction to Flowcharting مخططات الانسياب Dr. Hmood Al-Dossari King Saud University Department of Computer Science 13 February 2012.
ALGORITHMS AND FLOWCHARTS
Introduction to Flowcharting
REPETITION CONTROL STRUCTURE
Introduction to Flowcharting
Flowcharting: Decision Structure
Introduction To Flowcharting
Chapter 5: Repetition Structures
Chapter 5: Looping Starting Out with C++ Early Objects Seventh Edition
Introduction to Flowcharting
How to develop a program?
Alternate Version of STARTING OUT WITH C++ 4th Edition
Chapter 6: Repetition Structures
Chapter 5: Repetition Structures
Understanding the Three Basic Structures
Faculty of Computer Science & Information System
Alternate Version of STARTING OUT WITH C++ 4th Edition
Introduction to Flowcharting
Introduction to Programming
Presentation transcript:

(C)opyright 2003 Scott/Jones Publishers Introduction to Flowcharting A Supplement to Starting Out with C++, 4th Edition by Tony Gaddis Scott/Jones Publishers Scott/Jones Publishers

(C)opyright 2003 Scott/Jones Publishers 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 on page 13. 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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 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

(C)opyright 2003 Scott/Jones Publishers 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 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

(C)opyright 2003 Scott/Jones Publishers 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 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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 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

(C)opyright 2003 Scott/Jones Publishers Four Flowchart Structures Sequence Decision Repetition Case

(C)opyright 2003 Scott/Jones Publishers Sequence Structure a series of actions are performed in sequence The pay-calculating example was a sequence flowchart.

(C)opyright 2003 Scott/Jones Publishers Decision Structure One of two possible actions is taken, depending on a condition.

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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.

(C)opyright 2003 Scott/Jones Publishers Repetition Structure A repetition structure represents part of the program that repeats. This type of structure is commonly known as a loop.

(C)opyright 2003 Scott/Jones Publishers 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.

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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?

(C)opyright 2003 Scott/Jones Publishers 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?

(C)opyright 2003 Scott/Jones Publishers Case Structure One of several possible actions is taken, depending on the contents of a variable.

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers Connectors A A START END The “A” connector indicates that the second flowchart segment begins where the first segment ends.

(C)opyright 2003 Scott/Jones Publishers Modules A program module (such as a function in C++) is represented by a special symbol.

(C)opyright 2003 Scott/Jones Publishers 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.

(C)opyright 2003 Scott/Jones Publishers 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

(C)opyright 2003 Scott/Jones Publishers 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.”

(C)opyright 2003 Scott/Jones Publishers Review What do each of the following symbols represent? (Answer on next slide)

(C)opyright 2003 Scott/Jones Publishers Answer What do each of the following symbols represent? Terminal Input/Output Operation Process Decision Connector Module

(C)opyright 2003 Scott/Jones Publishers Review Name the four flowchart structures. (Answer on next slide)

(C)opyright 2003 Scott/Jones Publishers Answer Sequence Decision Repetition Case

(C)opyright 2003 Scott/Jones Publishers What type of structure is this? Review (Answer on next slide)

(C)opyright 2003 Scott/Jones Publishers Answer Repetition

(C)opyright 2003 Scott/Jones Publishers What type of structure is this? Review (Answer on next slide)

(C)opyright 2003 Scott/Jones Publishers Answer Sequence

(C)opyright 2003 Scott/Jones Publishers What type of structure is this? Review (Answer on next slide)

(C)opyright 2003 Scott/Jones Publishers Answer Case

(C)opyright 2003 Scott/Jones Publishers What type of structure is this? Review (Answer on next slide)

(C)opyright 2003 Scott/Jones Publishers Answer Decision

(C)opyright 2003 Scott/Jones Publishers More Example Flowcharts View the following MS-Word files to see more example flowcharts for programs in the book: –Flowchart - Chapter 1.docFlowchart - Chapter 1.doc –Flowchart - Chapter 3.docFlowchart - Chapter 3.doc –Flowchart - Chapter 4.docFlowchart - Chapter 4.doc –Flowchart - Chapter 5.docFlowchart - Chapter 5.doc –Flowchart - Chapter 6.docFlowchart - Chapter 6.doc