Introduction to Flowcharting

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
Flow Control Analysis & Design Tool: Flowcharts
Flow Control if, while, do-while Juan Marquez (03_flow_control.ppt)
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.
ME 142 Engineering Computation I Fundamentals of Procedural Computer Programming.
Computer Programming Rattapoom Waranusast Department of Electrical and Computer Engineering Faculty of Engineering, Naresuan University.
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
Chapter 3 Planning Your Solution
The Program Design Phases
(C)opyright 2003 Scott/Jones Publishers Introduction to Flowcharting A Supplement to Starting Out with C++, 4th Edition by Tony Gaddis Scott/Jones Publishers.
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
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.
ALGORITHM List of instructions for carrying out some process step by step. A sequence of instructions which has a clear meaning and can performed with.
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.
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.
CSE 110: Programming Language I Matin Saad Abdullah UB 404.
Algorithms and Flowcharts
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
Chapter 2: Input, Processing, and Output
Introduction to Flowcharting
Flowcharting: Decision Structure
Introduction To Flowcharting
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.
Chapter 5: Repetition Structures
Introduction to Flowcharting
How to develop a program?
Chapter 6: Repetition Structures
Chapter 5: Repetition Structures
Understanding the Three Basic Structures
Faculty of Computer Science & Information System
ME 142 Engineering Computation I
Chapter 2: Input, Processing, and Output
Based on slides created by Bjarne Stroustrup & Tony Gaddis
Introduction to Flowcharting
Introduction to Programming
Presentation transcript:

Introduction to Flowcharting CS110: Programming and Problem Solving for Engineering

Acknowledgment This tutorial is based upon Appendix C from Starting Out with C++: From Control Structures to Objects (5th Edition) Copyright Tony Gaddis 2007 Published by Addison-Wesley

What is a 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 A flowchart is a diagram that depicts the “flow of control” of a program.

Basic Flowchart Symbols Rounded Rectangle START Display message “How many hours did you work?” Read Hours Notice there are three types of symbols in this flowchart: rounded rectangles parallelograms a rectangle Each symbol represents a different type of operation. Display message “How much do you get paid per hour?” Parallelogram Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Rectangle Display GrossPay Rounded Rectangle END

Basic Flowchart Symbols Terminal START Display message “How many hours did you work?” Terminals represented by rounded rectangles indicate a starting or ending point Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. START Display GrossPay END Terminal END

Basic Flowchart Symbols START Display message “How many hours did you work?” Input/Output Operations represented by parallelograms indicate an input or output operation Read Hours Display message “How much do you get paid per hour?” Input/Output Operation Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Display message “How many hours did you work?” Read Hours Display GrossPay END

Basic Flowchart Symbols START Display message “How many hours did you work?” Processes represented by rectangles indicates a process such as a mathematical computation or variable assignment Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Process Multiply Hours by PayRate. Store result in GrossPay. Display GrossPay END

Stepping Through the Flowchart START Display message “How many hours did you work?” 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. Read Hours Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Variable Contents: Hours: ? PayRate: ? GrossPay: ? Display GrossPay END

Stepping Through the Flowchart START Step 1: An Output Operation Display message “How many hours did you work?” Read Hours Screen Output How many hours did you work? Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Variable Contents: Hours: ? PayRate: ? GrossPay: ? Display GrossPay END

Stepping Through the Flowchart START Display message “How many hours did you work?” Read Hours Step 2: An Input Operation (User types 40) How many hours did you work? 40 Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Variable Contents: Hours: 40 PayRate: ? GrossPay: ? The value 40 is stored in Hours. Display GrossPay END

Stepping Through the Flowchart START Display message “How many hours did you work?” Read Hours Screen Output How much do you get paid per hour? Display message “How much do you get paid per hour?” Step 3: An Output Operation Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Variable Contents: Hours: 40 PayRate: ? GrossPay: ? Display GrossPay END

Stepping Through the Flowchart START Display message “How many hours did you work?” Read Hours How much do you get paid per hour? 20 Display message “How much do you get paid per hour?” Read PayRate Step 4: Input Operation (User types 20) Multiply Hours by PayRate. Store result in GrossPay. Variable Contents: Hours: 40 PayRate: 20 GrossPay: ? Display GrossPay The value 20 is stored in PayRate. END

Stepping Through the Flowchart START Display message “How many hours did you work?” Read Hours How much do you get paid per hour? 20 Display message “How much do you get paid per hour?” Step 5: The product of Hours times PayRate is stored in GrossPay Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Variable Contents: Hours: 40 PayRate: 20 GrossPay: 800 Display GrossPay The value 800 is stored in GrossPay. END

Stepping Through the Flowchart START Display message “How many hours did you work?” Read Hours Screen Output Your gross pay is 800 Display message “How much do you get paid per hour?” Read PayRate Multiply Hours by PayRate. Store result in GrossPay. Variable Contents: Hours: 40 PayRate: 20 GrossPay: 800 Display GrossPay Step 6: An Output Operation END

Three Flowchart Structures Sequence Selection Iteration

Sequence Structure A series of actions are performed in sequence The pay-calculating example was a sequence flowchart.

Selection Structure One of two possible actions is taken, depending on a condition.

Selection 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 YES NO

Selection 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. YES NO x < y? Process B Process A

Selection Structure The flowchart segment below shows how a decision structure is expressed in C++ as an if/else statement. Flowchart C++ Code YES NO x < y? Calculate a as x times 2. Calculate a as x plus y. if (x < y) a = x * 2; else a = x + y;

Selection 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. Flowchart C++ Code YES NO x < y? Calculate a as x times 2. if (x < y) a = x * 2;

Iteration Structure An iteration structure represents part of the program that repeats. This type of structure is commonly known as a loop.

Iteration 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.

Iteration 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 iteration stops and the structure is exited. x < y? Process A YES

Iteration Structure The flowchart segment below shows an iteration structure expressed in C++ as a while loop. Flowchart C++ Code x < y? Add 1 to x YES while (x < y) x++;

Controlling an Iteration Structure The action performed by an iteration 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

Controlling an Iteration Structure ANSWER: By adding an action within the iteration that changes the value of x. x < y? Display x Add 1 to x YES

A Pre-Test Iteration Structure This type of structure is known as a pre-test iteration structure. The condition is tested BEFORE any actions are performed. x < y? Display x Add 1 to x YES

A Pre-Test Iteration Structure In a pre-test iteration structure, if the condition does not exist, the loop will never begin. x < y? Display x Add 1 to x YES

A Post-Test Iteration Structure This flowchart segment shows a post-test iteration structure. The condition is tested AFTER the actions are performed. A post-test iteration structure always performs its actions at least once. Display x Add 1 to x YES x < y?

A Post-Test Iteration Structure The flowchart segment below shows a post-test iteration structure expressed in C++ as a do-while loop. Display x Add 1 to x YES x < y? C++ Code do { cout << x << endl; x++; } while (x < y); Flowchart

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

Connectors The “A” connector indicates that the second flowchart segment begins where the first segment ends. A START END

Modules A program module, such as a subprogram (or function in C++), is represented by a special symbol.

Call calc_pay function. Modules START END Read Input. Call calc_pay function. Display results. The position of the module symbol indicates the point the module is executed. A separate flowchart can be constructed for the module.

Combining Structures Structures are commonly combined to create more complex algorithms. The flowchart segment below combines a selection structure with a sequence structure. x < y? Display x Add 1 to x YES

Combining Structures This flowchart segment shows two selection structures combined. Display “x is within limits.” Display “x is outside the limits.” YES NO x > min? x < max?