SlideShare una empresa de Scribd logo
1 de 104
Flow Charting

 Damian Gordon
Introduction
• We mentioned it already, that if we thing of an
  analyst as being analogous to an
  architect, and a developer as being analogous
  to a builder, then the most important thing we
  can do as analysts is to explain our designs to
  the developers in a simple and clear way.

• How do architects do this?
Flowcharts
• So let’s say we want to express the
  following algorithm:
  – Read in a number and print it out.
START
START




Read in A
START




Read in A




 Print A
START




Read in A




 Print A




  END
Flowcharts
• So let’s say we want to express the
  following algorithm:
  – Read in a number and print it out double the number.
START
START




Read in A
START




Read in A




Print A*2
START




Read in A




Print A*2




  END
Or alternatively...
START
START




Read in A
START




Read in A




B = A*2
START




Read in A
               B=A*2

                can be
B = A*2         read as

             “B gets the
              value of A
            multiplied by 2”
START




Read in A




B = A*2




 Print B
START




Read in A




B = A*2




 Print B




  END
Flowcharts
• So let’s say we want to express the
  following algorithm:
  – Read in a number, check if it is odd or even.
START
START




Read in A
START




Read in A




 Does A/2
  give a
remainder?
START




                         Read in A




                          Does A/2
Print “It’s Odd”   Yes
                           give a
                         remainder?
START




                         Read in A




                          Does A/2    No
Print “It’s Odd”   Yes                     Print “It’s Even”
                           give a
                         remainder?
START




                         Read in A




                          Does A/2    No
Print “It’s Odd”   Yes                     Print “It’s Even”
                           give a
                         remainder?




                           END
Flowcharts
• So let’s say we want to express the
  following algorithm to print out the bigger
  of two numbers:
  – Read in two numbers, call them A and B. Is A is bigger
    than B, print out A, otherwise print out B.
START
START




Read in A and B
START




Read in A and B




    A>B?
START




                Read in A and B




Print A   Yes
                    A>B?
START




                Read in A and B




          Yes                     No
Print A             A>B?               Print B
START




                Read in A and B




          Yes                     No
Print A             A>B?               Print B




                     END
Flowcharts
• So let’s say we want to express the
  following algorithm to print out the bigger
  of three numbers:
  – Read in three numbers, call them A, B and C.
     • If A is bigger than B, then if A is bigger than C, print out
       A, otherwise print out C.
     • If B is bigger than A, then if B is bigger than C, print out
       B, otherwise print out C.
START
START




Read in A, B and C
START




Read in A, B and C




      A>B?
START




             Read in A, B and C




       Yes
A>C?               A>B?
START




             Read in A, B and C




       Yes                        No
A>C?               A>B?                B>C?
START




             Read in A, B and C




       Yes                        No
A>C?               A>B?                B>C?


  No                                     No




                  Print C
START




                           Read in A, B and C




Yes                  Yes                        No
         A>C?                    A>B?                B>C?


                No                                     No




      Print A                   Print C
START




                           Read in A, B and C




Yes                  Yes                        No                    Yes
         A>C?                    A>B?                B>C?


                No                                     No




      Print A                   Print C                     Print B
START




                           Read in A, B and C




Yes                  Yes                        No                    Yes
         A>C?                    A>B?                B>C?


                No                                     No




      Print A                   Print C                     Print B




                                 END
Flowcharts
• So let’s say we want to express the
  following algorithm:
  – Print out the numbers from 1 to 5
START
START


Print 1
START


Print 1


Print 2
START


Print 1


Print 2


Print 3
START


Print 1


Print 2


Print 3


Print 4
START


Print 1


Print 2


Print 3


Print 4


Print 5
START


Print 1


Print 2


Print 3


Print 4


Print 5


 END
Or alternatively...
Flowcharts            A=A+1

• If I say A = A + 1, that means “A gets the
  value of whatever is in itself, plus 1”
• If A is 14
• It becomes 15
                           14        +1
                           A (old)


                                          15
                                         A   (new)
START
START


A=1
START


 A=1




Is A==6?
START


 A=1




           No
Is A==6?        Print A
START


 A=1


                A=A+1

           No
Is A==6?        Print A
START


 A=1


                A=A+1

           No
Is A==6?        Print A
START


 A=1


                A=A+1

           No
Is A==6?        Print A




Yes

  END
Flowcharts
• So let’s say we want to express the
  following algorithm:
  – Add up the numbers 1 to 5
Flowcharts              T=5

• But first a few points;
• If I say T = 5, that means “T gets the value
  5”
Flowcharts              T=5

• But first a few points;
• If I say T = 5, that means “T gets the value
  5”




                T
Flowcharts              T=5

• But first a few points;
• If I say T = 5, that means “T gets the value
  5”

                         5

                T
Flowcharts              T=X

• If I say T = X, that means “T gets the value
  of whatever is in the variable X”
Flowcharts              T=X

• If I say T = X, that means “T gets the value
  of whatever is in the variable X”
• So if X is 14, then T will get the value 14.
Flowcharts            T=X

• If I say T = X, that means “T gets the value
  of whatever is in the variable X”
• So if X is 14, then T will get the value 14.

                        14
                        X
              14
               T
Flowcharts            T=X+1

• If I say T = X+1, that means “T gets the
  value of whatever is in the variable X plus
  one”
Flowcharts            T=X+1

• If I say T = X+1, that means “T gets the
  value of whatever is in the variable X plus
  one”
• So if X is 14, T becomes 15, and X stays as
  14.
Flowcharts            T=X+1

• If I say T = X+1, that means “T gets the
  value of whatever is in the variable X plus
  one”
• So if X is 14, T becomes 15, and X stays as
  14.
              +1     14
                     X
        15
         T
Flowcharts           T=T+X

• If I say T = T + X, that means “T gets the
  value of whatever is in itself plus whatever
  is in the variable X”
Flowcharts           T=T+X

• If I say T = T + X, that means “T gets the
  value of whatever is in itself plus whatever
  is in the variable X”
• If T is 14 and X is 9
• T becomes 23
• X stays at 9
Flowcharts             T=T+X

• If I say T = T + X, that means “T gets the
  value of whatever is in itself plus whatever
  is in the variable X”
• If T is 14 and X is 9
• T becomes 23
                             14                  9
• X stays at 9               T(old)              X
                                    23
                                    T(new)
Flowcharts
• So let’s say we want to express the
  following algorithm:
  – Add up the numbers 1 to 5
START
START


Total = 0
START


Total = 0


 A=1
START


Total = 0


 A=1




Is A==6?
START


Total = 0


 A=1




            No
Is A==6?         Total = Total + A;
START


Total = 0


 A=1


                    A=A+1

            No
Is A==6?         Total = Total + A;
START


Total = 0


 A=1


                    A=A+1

            No
Is A==6?         Total = Total + A;




Yes

  END
Flowcharts
• So let’s say we want to express the
  following algorithm:
  – Read in a number and check if it’s a prime number.
Flowcharts
• So let’s say we want to express the
  following algorithm:
  – Read in a number and check if it’s a prime number.
  – What’s a prime number?
Flowcharts
• So let’s say we want to express the
  following algorithm:
  – Read in a number and check if it’s a prime number.
  – What’s a prime number?
  – A number that’s only divisible by itself and 1, e.g. 7.
Flowcharts
• So let’s say we want to express the
  following algorithm:
  – Read in a number and check if it’s a prime number.
  – What’s a prime number?
  – A number that’s only divisible by itself and 1, e.g. 7.
  – Or to put it another way, every number other than itself and 1
    gives a remainder, e.g. For 7, if 6, 5, 4, 3, and 2 give a remainder
    then 7 is prime.
Flowcharts
• So let’s say we want to express the
  following algorithm:
  – Read in a number and check if it’s a prime number.
  – What’s a prime number?
  – A number that’s only divisible by itself and 1, e.g. 7.
  – Or to put it another way, every number other than itself and 1
    gives a remainder, e.g. For 7, if 6, 5, 4, 3, and 2 give a remainder
    then 7 is prime.
  – So all we need to do is divide 7 by all numbers less than it but
    greater than one, and if any of them have no remainder, we
    know it’s not prime.
Flowcharts
• So,
• If the number is 7, as long as 6, 5, 4, 3, and
  2 give a remainder, 7 is prime.
• If the number is 9, we know that
  8, 7, 6, 5, and 4, all give remainders, but 3
  does not give a remainder, it goes evenly
  into 9 so we can say 9 is not prime
Flowcharts
• So remember,
  – if the number is 7, as long as 6, 5, 4, 3, and 2
    give a remainder, 7 is prime.
• So, in general,
  – if the number is A, as long as A-1, A-2, A-3, A-
    4, ... 2 give a remainder, A is prime.
START
START


Read in A
START


Read in A


B = A -1
START


Read in A


B = A -1




Is B = = 1?
START


     Read in A


     B = A -1



No
     Is B = = 1?
START


              Read in A


              B = A -1



       No
              Is B = = 1?


   Does
 A/B give a
remainder?
START


                    Read in A


                    B = A -1



             No
                    Is B = = 1?

Yes
         Does
       A/B give a
      remainder?
START


                      Read in A


                      B = A -1




B=B-1          No
                      Is B = = 1?

  Yes
           Does
         A/B give a
        remainder?
START


                      Read in A


                      B = A -1




B=B-1          No
                      Is B = = 1?

  Yes
           Does
         A/B give a
        remainder?
START


                            Read in A


                            B = A -1




B=B-1             No
                            Is B = = 1?

  Yes
             Does
           A/B give a
          remainder?

                No

        Print “Not Prime”
START


                            Read in A


                            B = A -1




B=B-1             No                      Yes
                            Is B = = 1?         Print “Prime”

  Yes
             Does
           A/B give a
          remainder?

                No

        Print “Not Prime”
START


                            Read in A


                            B = A -1




B=B-1             No                      Yes
                            Is B = = 1?         Print “Prime”

  Yes
             Does
           A/B give a
          remainder?

                No

        Print “Not Prime”



                               END
Symbols
Symbols
Symbols


 Terminal                Decision

Input/Output
Operation                Connector


  Process                  Module

Más contenido relacionado

La actualidad más candente

Geometric sequences and geometric means
Geometric sequences and geometric meansGeometric sequences and geometric means
Geometric sequences and geometric means
Denmar Marasigan
 
2.1 Functions and Their Graphs
2.1 Functions and Their Graphs2.1 Functions and Their Graphs
2.1 Functions and Their Graphs
hisema01
 

La actualidad más candente (20)

Using sohcahtoa
Using sohcahtoaUsing sohcahtoa
Using sohcahtoa
 
Lesson 1 INTRODUCTION TO FUNCTIONS
Lesson 1   INTRODUCTION TO FUNCTIONSLesson 1   INTRODUCTION TO FUNCTIONS
Lesson 1 INTRODUCTION TO FUNCTIONS
 
SIMPLE & COMPOUND INTEREST copy.pptx
SIMPLE & COMPOUND INTEREST copy.pptxSIMPLE & COMPOUND INTEREST copy.pptx
SIMPLE & COMPOUND INTEREST copy.pptx
 
Algorithms and Flowcharts
Algorithms and FlowchartsAlgorithms and Flowcharts
Algorithms and Flowcharts
 
Basic calculus (i)
Basic calculus (i)Basic calculus (i)
Basic calculus (i)
 
Composite functions
Composite functionsComposite functions
Composite functions
 
Geometric sequences and geometric means
Geometric sequences and geometric meansGeometric sequences and geometric means
Geometric sequences and geometric means
 
Algorithms and flowcharts
Algorithms and flowchartsAlgorithms and flowcharts
Algorithms and flowcharts
 
2.1 Functions and Their Graphs
2.1 Functions and Their Graphs2.1 Functions and Their Graphs
2.1 Functions and Their Graphs
 
Control statements and functions in c
Control statements and functions in cControl statements and functions in c
Control statements and functions in c
 
Binary to Decimal Conversion
Binary to Decimal ConversionBinary to Decimal Conversion
Binary to Decimal Conversion
 
Point, Line and plane
Point, Line and planePoint, Line and plane
Point, Line and plane
 
Basic calculus
Basic calculusBasic calculus
Basic calculus
 
Looping statement in python
Looping statement in pythonLooping statement in python
Looping statement in python
 
Activity 10: My True World!
Activity 10: My True World!Activity 10: My True World!
Activity 10: My True World!
 
Trigonometry - The Six Trigonometric Ratios
Trigonometry - The Six Trigonometric RatiosTrigonometry - The Six Trigonometric Ratios
Trigonometry - The Six Trigonometric Ratios
 
Sequence and series
Sequence and seriesSequence and series
Sequence and series
 
Presentation on function
Presentation on functionPresentation on function
Presentation on function
 
What is programming what are its benefits
What is programming  what are its benefits What is programming  what are its benefits
What is programming what are its benefits
 
Grade 9 Mathematics Module 7 Triangle Trigonometry
 Grade 9 Mathematics Module 7 Triangle Trigonometry Grade 9 Mathematics Module 7 Triangle Trigonometry
Grade 9 Mathematics Module 7 Triangle Trigonometry
 

Destacado

Introduction to Pseudocode
Introduction to PseudocodeIntroduction to Pseudocode
Introduction to Pseudocode
Damian T. Gordon
 
Ak different patterns in algorithms
Ak different patterns in algorithmsAk different patterns in algorithms
Ak different patterns in algorithms
Abhishek Kumar
 
Operating system 1
Operating system 1Operating system 1
Operating system 1
edudivya
 
Computer programming language concept
Computer programming language conceptComputer programming language concept
Computer programming language concept
Afiq Sajuri
 
30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt
raj732723
 
The Do's and Don'ts of Journalism
The Do's and Don'ts of JournalismThe Do's and Don'ts of Journalism
The Do's and Don'ts of Journalism
Melissa Merkler
 

Destacado (20)

Introduction to Pseudocode
Introduction to PseudocodeIntroduction to Pseudocode
Introduction to Pseudocode
 
C Language Unit-1
C Language Unit-1C Language Unit-1
C Language Unit-1
 
Classroom Decorum
Classroom DecorumClassroom Decorum
Classroom Decorum
 
Computer Network Topologies (with animations)
Computer Network Topologies (with animations)Computer Network Topologies (with animations)
Computer Network Topologies (with animations)
 
Writing algorithms
Writing algorithmsWriting algorithms
Writing algorithms
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchart
 
Ak different patterns in algorithms
Ak different patterns in algorithmsAk different patterns in algorithms
Ak different patterns in algorithms
 
Operating system 1
Operating system 1Operating system 1
Operating system 1
 
An Introduction To Python - Problem Solving: Flowcharts & Test Cases, Boolean...
An Introduction To Python - Problem Solving: Flowcharts & Test Cases, Boolean...An Introduction To Python - Problem Solving: Flowcharts & Test Cases, Boolean...
An Introduction To Python - Problem Solving: Flowcharts & Test Cases, Boolean...
 
Unit 1 introduction to operating system
Unit 1 introduction to operating systemUnit 1 introduction to operating system
Unit 1 introduction to operating system
 
Journalistic principles and ethic questions exam-ethics_(l2)
Journalistic principles and ethic   questions exam-ethics_(l2)Journalistic principles and ethic   questions exam-ethics_(l2)
Journalistic principles and ethic questions exam-ethics_(l2)
 
Journalistic principles and ethic questions exam-journalism_(l1)
Journalistic principles and ethic   questions exam-journalism_(l1)Journalistic principles and ethic   questions exam-journalism_(l1)
Journalistic principles and ethic questions exam-journalism_(l1)
 
eLearning Research Trends
eLearning Research TrendseLearning Research Trends
eLearning Research Trends
 
Computer programming language concept
Computer programming language conceptComputer programming language concept
Computer programming language concept
 
30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt30326851 -operating-system-unit-1-ppt
30326851 -operating-system-unit-1-ppt
 
The Do's and Don'ts of Journalism
The Do's and Don'ts of JournalismThe Do's and Don'ts of Journalism
The Do's and Don'ts of Journalism
 
Flowcharts
FlowchartsFlowcharts
Flowcharts
 
memory management of windows vs linux
memory management of windows vs linuxmemory management of windows vs linux
memory management of windows vs linux
 
Memory Management in Windows 7
Memory Management in Windows 7Memory Management in Windows 7
Memory Management in Windows 7
 
Flowchart
FlowchartFlowchart
Flowchart
 

Más de Damian T. Gordon

Más de Damian T. Gordon (20)

Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.Universal Design for Learning, Co-Designing with Students.
Universal Design for Learning, Co-Designing with Students.
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
REST and RESTful Services
REST and RESTful ServicesREST and RESTful Services
REST and RESTful Services
 
Serverless Computing
Serverless ComputingServerless Computing
Serverless Computing
 
Cloud Identity Management
Cloud Identity ManagementCloud Identity Management
Cloud Identity Management
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
Introduction to ChatGPT
Introduction to ChatGPTIntroduction to ChatGPT
Introduction to ChatGPT
 
How to Argue Logically
How to Argue LogicallyHow to Argue Logically
How to Argue Logically
 
Evaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONSEvaluating Teaching: SECTIONS
Evaluating Teaching: SECTIONS
 
Evaluating Teaching: MERLOT
Evaluating Teaching: MERLOTEvaluating Teaching: MERLOT
Evaluating Teaching: MERLOT
 
Evaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson RubricEvaluating Teaching: Anstey and Watson Rubric
Evaluating Teaching: Anstey and Watson Rubric
 
Evaluating Teaching: LORI
Evaluating Teaching: LORIEvaluating Teaching: LORI
Evaluating Teaching: LORI
 
Designing Teaching: Pause Procedure
Designing Teaching: Pause ProcedureDesigning Teaching: Pause Procedure
Designing Teaching: Pause Procedure
 
Designing Teaching: ADDIE
Designing Teaching: ADDIEDesigning Teaching: ADDIE
Designing Teaching: ADDIE
 
Designing Teaching: ASSURE
Designing Teaching: ASSUREDesigning Teaching: ASSURE
Designing Teaching: ASSURE
 
Designing Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning TypesDesigning Teaching: Laurilliard's Learning Types
Designing Teaching: Laurilliard's Learning Types
 
Designing Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of InstructionDesigning Teaching: Gagne's Nine Events of Instruction
Designing Teaching: Gagne's Nine Events of Instruction
 
Designing Teaching: Elaboration Theory
Designing Teaching: Elaboration TheoryDesigning Teaching: Elaboration Theory
Designing Teaching: Elaboration Theory
 
Universally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some ConsiderationsUniversally Designed Learning Spaces: Some Considerations
Universally Designed Learning Spaces: Some Considerations
 

Último

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Último (20)

HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 

Introduction to Flowcharts

  • 2. Introduction • We mentioned it already, that if we thing of an analyst as being analogous to an architect, and a developer as being analogous to a builder, then the most important thing we can do as analysts is to explain our designs to the developers in a simple and clear way. • How do architects do this?
  • 3.
  • 4. Flowcharts • So let’s say we want to express the following algorithm: – Read in a number and print it out.
  • 7. START Read in A Print A
  • 8. START Read in A Print A END
  • 9. Flowcharts • So let’s say we want to express the following algorithm: – Read in a number and print it out double the number.
  • 10. START
  • 15. START
  • 18. START Read in A B=A*2 can be B = A*2 read as “B gets the value of A multiplied by 2”
  • 19. START Read in A B = A*2 Print B
  • 20. START Read in A B = A*2 Print B END
  • 21. Flowcharts • So let’s say we want to express the following algorithm: – Read in a number, check if it is odd or even.
  • 22. START
  • 24. START Read in A Does A/2 give a remainder?
  • 25. START Read in A Does A/2 Print “It’s Odd” Yes give a remainder?
  • 26. START Read in A Does A/2 No Print “It’s Odd” Yes Print “It’s Even” give a remainder?
  • 27. START Read in A Does A/2 No Print “It’s Odd” Yes Print “It’s Even” give a remainder? END
  • 28. Flowcharts • So let’s say we want to express the following algorithm to print out the bigger of two numbers: – Read in two numbers, call them A and B. Is A is bigger than B, print out A, otherwise print out B.
  • 29. START
  • 31. START Read in A and B A>B?
  • 32. START Read in A and B Print A Yes A>B?
  • 33. START Read in A and B Yes No Print A A>B? Print B
  • 34. START Read in A and B Yes No Print A A>B? Print B END
  • 35. Flowcharts • So let’s say we want to express the following algorithm to print out the bigger of three numbers: – Read in three numbers, call them A, B and C. • If A is bigger than B, then if A is bigger than C, print out A, otherwise print out C. • If B is bigger than A, then if B is bigger than C, print out B, otherwise print out C.
  • 36. START
  • 37. START Read in A, B and C
  • 38. START Read in A, B and C A>B?
  • 39. START Read in A, B and C Yes A>C? A>B?
  • 40. START Read in A, B and C Yes No A>C? A>B? B>C?
  • 41. START Read in A, B and C Yes No A>C? A>B? B>C? No No Print C
  • 42. START Read in A, B and C Yes Yes No A>C? A>B? B>C? No No Print A Print C
  • 43. START Read in A, B and C Yes Yes No Yes A>C? A>B? B>C? No No Print A Print C Print B
  • 44. START Read in A, B and C Yes Yes No Yes A>C? A>B? B>C? No No Print A Print C Print B END
  • 45. Flowcharts • So let’s say we want to express the following algorithm: – Print out the numbers from 1 to 5
  • 46. START
  • 51. START Print 1 Print 2 Print 3 Print 4 Print 5
  • 52. START Print 1 Print 2 Print 3 Print 4 Print 5 END
  • 54. Flowcharts A=A+1 • If I say A = A + 1, that means “A gets the value of whatever is in itself, plus 1” • If A is 14 • It becomes 15 14 +1 A (old) 15 A (new)
  • 55. START
  • 58. START A=1 No Is A==6? Print A
  • 59. START A=1 A=A+1 No Is A==6? Print A
  • 60. START A=1 A=A+1 No Is A==6? Print A
  • 61. START A=1 A=A+1 No Is A==6? Print A Yes END
  • 62. Flowcharts • So let’s say we want to express the following algorithm: – Add up the numbers 1 to 5
  • 63. Flowcharts T=5 • But first a few points; • If I say T = 5, that means “T gets the value 5”
  • 64. Flowcharts T=5 • But first a few points; • If I say T = 5, that means “T gets the value 5” T
  • 65. Flowcharts T=5 • But first a few points; • If I say T = 5, that means “T gets the value 5” 5 T
  • 66. Flowcharts T=X • If I say T = X, that means “T gets the value of whatever is in the variable X”
  • 67. Flowcharts T=X • If I say T = X, that means “T gets the value of whatever is in the variable X” • So if X is 14, then T will get the value 14.
  • 68. Flowcharts T=X • If I say T = X, that means “T gets the value of whatever is in the variable X” • So if X is 14, then T will get the value 14. 14 X 14 T
  • 69. Flowcharts T=X+1 • If I say T = X+1, that means “T gets the value of whatever is in the variable X plus one”
  • 70. Flowcharts T=X+1 • If I say T = X+1, that means “T gets the value of whatever is in the variable X plus one” • So if X is 14, T becomes 15, and X stays as 14.
  • 71. Flowcharts T=X+1 • If I say T = X+1, that means “T gets the value of whatever is in the variable X plus one” • So if X is 14, T becomes 15, and X stays as 14. +1 14 X 15 T
  • 72. Flowcharts T=T+X • If I say T = T + X, that means “T gets the value of whatever is in itself plus whatever is in the variable X”
  • 73. Flowcharts T=T+X • If I say T = T + X, that means “T gets the value of whatever is in itself plus whatever is in the variable X” • If T is 14 and X is 9 • T becomes 23 • X stays at 9
  • 74. Flowcharts T=T+X • If I say T = T + X, that means “T gets the value of whatever is in itself plus whatever is in the variable X” • If T is 14 and X is 9 • T becomes 23 14 9 • X stays at 9 T(old) X 23 T(new)
  • 75. Flowcharts • So let’s say we want to express the following algorithm: – Add up the numbers 1 to 5
  • 76. START
  • 79. START Total = 0 A=1 Is A==6?
  • 80. START Total = 0 A=1 No Is A==6? Total = Total + A;
  • 81. START Total = 0 A=1 A=A+1 No Is A==6? Total = Total + A;
  • 82. START Total = 0 A=1 A=A+1 No Is A==6? Total = Total + A; Yes END
  • 83. Flowcharts • So let’s say we want to express the following algorithm: – Read in a number and check if it’s a prime number.
  • 84. Flowcharts • So let’s say we want to express the following algorithm: – Read in a number and check if it’s a prime number. – What’s a prime number?
  • 85. Flowcharts • So let’s say we want to express the following algorithm: – Read in a number and check if it’s a prime number. – What’s a prime number? – A number that’s only divisible by itself and 1, e.g. 7.
  • 86. Flowcharts • So let’s say we want to express the following algorithm: – Read in a number and check if it’s a prime number. – What’s a prime number? – A number that’s only divisible by itself and 1, e.g. 7. – Or to put it another way, every number other than itself and 1 gives a remainder, e.g. For 7, if 6, 5, 4, 3, and 2 give a remainder then 7 is prime.
  • 87. Flowcharts • So let’s say we want to express the following algorithm: – Read in a number and check if it’s a prime number. – What’s a prime number? – A number that’s only divisible by itself and 1, e.g. 7. – Or to put it another way, every number other than itself and 1 gives a remainder, e.g. For 7, if 6, 5, 4, 3, and 2 give a remainder then 7 is prime. – So all we need to do is divide 7 by all numbers less than it but greater than one, and if any of them have no remainder, we know it’s not prime.
  • 88. Flowcharts • So, • If the number is 7, as long as 6, 5, 4, 3, and 2 give a remainder, 7 is prime. • If the number is 9, we know that 8, 7, 6, 5, and 4, all give remainders, but 3 does not give a remainder, it goes evenly into 9 so we can say 9 is not prime
  • 89. Flowcharts • So remember, – if the number is 7, as long as 6, 5, 4, 3, and 2 give a remainder, 7 is prime. • So, in general, – if the number is A, as long as A-1, A-2, A-3, A- 4, ... 2 give a remainder, A is prime.
  • 90. START
  • 93. START Read in A B = A -1 Is B = = 1?
  • 94. START Read in A B = A -1 No Is B = = 1?
  • 95. START Read in A B = A -1 No Is B = = 1? Does A/B give a remainder?
  • 96. START Read in A B = A -1 No Is B = = 1? Yes Does A/B give a remainder?
  • 97. START Read in A B = A -1 B=B-1 No Is B = = 1? Yes Does A/B give a remainder?
  • 98. START Read in A B = A -1 B=B-1 No Is B = = 1? Yes Does A/B give a remainder?
  • 99. START Read in A B = A -1 B=B-1 No Is B = = 1? Yes Does A/B give a remainder? No Print “Not Prime”
  • 100. START Read in A B = A -1 B=B-1 No Yes Is B = = 1? Print “Prime” Yes Does A/B give a remainder? No Print “Not Prime”
  • 101. START Read in A B = A -1 B=B-1 No Yes Is B = = 1? Print “Prime” Yes Does A/B give a remainder? No Print “Not Prime” END
  • 104. Symbols Terminal Decision Input/Output Operation Connector Process Module