SlideShare une entreprise Scribd logo
1  sur  32
ALGORITHMS AND
FLOWCHARTS
ALGORITHMS AND FLOWCHARTS
   A typical programming task can be divided into
    two phases:
   Problem solving phase
     produce  an ordered sequence of steps that describe
      solution of problem
     this sequence of steps is called an algorithm

   Implementation phase
     implement   the program in some programming
      language
Steps in Problem Solving
   First produce a general algorithm (one can use
    pseudocode)
   Refine the algorithm successively to get step by
    step detailed algorithm that is very close to a
    computer language.
   Pseudocode is an artificial and informal
    language that helps programmers develop
    algorithms. Pseudocode is very similar to
    everyday English.
Pseudocode & Algorithm
   Example 1: Write an algorithm to
    determine a student’s final grade and
    indicate whether it is passing or failing.
    The final grade is calculated as the
    average of four marks.
Pseudocode & Algorithm
Pseudocode:
 Input a set of 4 marks
 Calculate their average by summing and dividing
  by 4
 if average is below 50

       Print “FAIL”
  else
       Print “PASS”
Pseudocode & Algorithm
   Detailed Algorithm
      Step 1:      Input M1,M2,M3,M4
       Step 2:      GRADE ← (M1+M2+M3+M4)/4
       Step 3:      if (GRADE < 50) then
                          Print “FAIL”
                    else
                          Print “PASS”
                    endif
The Flowchart
   (Dictionary) A schematic representation of a sequence of
    operations, as in a manufacturing process or computer
    program.
   (Technical) A graphical representation of the sequence
    of operations in an information system or program.
    Information system flowcharts show how data flows from
    source documents through the computer to final
    distribution to users. Program flowcharts show the
    sequence of instructions in a single program or
    subroutine. Different symbols are used to draw each
    type of flowchart.
The Flowchart
A Flowchart
   shows  logic of an algorithm
   emphasizes individual steps and their
    interconnections
   e.g. control flow from one action to the next
Flowchart Symbols
      Basic
Example
              START
                                     Step 1: Input M1,M2,M3,M4
                                     Step 2: GRADE ← (M1+M2+M3+M4)/4
              Input
           M1,M2,M3,M4
                                     Step 3: if (GRADE <50) then
                                                     Print “FAIL”
                                             else
    GRADE←(M1+M2+M3+M4)/4                            Print “PASS”
                                             endif
   N          IS             Y
           GRADE<5
               0

 PRINT                      PRINT
“PASS”                      “FAIL”




             STOP
Example 2
 Write an algorithm and draw a flowchart to
  convert the length in feet to centimeter.
Pseudocode:
 Input the length in feet (Lft)
 Calculate the length in cm (Lcm) by
  multiplying LFT with 30
 Print length in cm (LCM)
Example 2
                           Flowchart
Algorithm                     START

 Step 1: Input Lft
                               Input

 Step 2: Lcm ← Lft x 30        Lft



 Step 3: Print Lcm        Lcm ← Lft x 30



                               Print
                               Lcm




                               STOP
Example 3
  Write an algorithm and draw a flowchart that
  will read the two sides of a rectangle and
  calculate its area.
Pseudocode
 Input the width (W) and Length (L) of a rectangle
 Calculate the area (A) by multiplying L with W
 Print A
Example 3
Algorithm              START

 Step 1: Input W,L    Input
                        W, L
 Step 2: A ← L x W
 Step 3: Print A     A←LxW



                       Print
                        A




                       STOP
Example 4
   Write an algorithm and draw a flowchart that
    will calculate the roots of a quadratic equation
    ax 2 + bx + c = 0
    Hint: d = sqrt ( b 2 − 4ac ), and the roots are:
    x1 = (–b + d)/2a and x2 = (–b – d)/2a
Example 4
Pseudocode:
 Input the coefficients (a, b, c) of the
  quadratic equation
 Calculate d
 Calculate x1
 Calculate x2
 Print x1 and x2
Example 4
                                                       START
   Algorithm:
                                                         Input
   Step 1:   Input a, b, c                              a, b, c
   Step 2:   d ← sqrt ( b × b − 4 × a × c )
   Step 3:   x1 ← (–b + d) / (2 x a)          d ← sqrt(b x b – 4 x a x c)
   Step 4:   x2 ← (–b – d) / (2 x a)
                                                 x1 ←(–b + d) / (2 x a)
   Step 5:   Print x1, x2
                                                 X2 ← (–b – d) / (2 x a)

                                                         Print
                                                         x1 ,x2



                                                         STOP
DECISION STRUCTURES
   The expression A>B is a logical expression
   it describes a condition we want to test
   if A>B is true (if A is greater than B) we take
    the action on left
   print the value of A
   if A>B is false (if A is not greater than B) we
    take the action on right
   print the value of B
DECISION STRUCTURES


        Y          N
             is
            A>B


    Print         Print
     A             B
IF–THEN–ELSE STRUCTURE
  The structure is as follows
If condition then
      true alternative
   else
      false alternative
endif
IF–THEN–ELSE STRUCTURE
  The algorithm for the flowchart is as
   follows:
If A>B then
                          Y            N
   print A                     is
                              A>B
else
   print B            Print
                       A
                                      Print
                                       B
endif
Relational Operators
             Relational Operators
  Operator                     Description
     >          Greater than
     <          Less than
     =          Equal to
     ≥          Greater than or equal to
     ≤          Less than or equal to
     ≠          Not equal to
Example 5
 Write an algorithm that reads two values, determines the
  largest value and prints the largest value with an
  identifying message.
ALGORITHM
Step 1:       Input VALUE1, VALUE2
Step 2:       if (VALUE1 > VALUE2) then
                      MAX ← VALUE1
              else
                      MAX ← VALUE2
              endif
Step 3:       Print “The largest value is”, MAX
Example 5
                       START



                       Input
                   VALUE1,VALUE2



              Y             is           N
                      VALUE1>VALUE2




       MAX ← VALUE1                 MAX ← VALUE2




                        Print
               “The largest value is”,
                       MAX


                        STOP
NESTED IFS
   One of the alternatives within an IF–
    THEN–ELSE statement
     may  involve further IF–THEN–ELSE
      statement
Example 6
   Write an algorithm that reads three
    numbers and prints the value of the
    largest number.
Example 6
Step 1: Input N1, N2, N3
Step 2: if (N1>N2) then
             if (N1>N3) then
                  MAX ← N1    [N1>N2, N1>N3]
            else
                  MAX ← N3    [N3>N1>N2]
            endif
        else
            if (N2>N3) then
                  MAX ← N2    [N2>N1, N2>N3]
            else
                  MAX ← N3    [N3>N2>N1]
           endif
        endif
Step 3: Print “The largest number is”, MAX
Example 6
   Flowchart: Draw the flowchart of the
    above Algorithm.
Example 7
    Write and algorithm and draw a flowchart
     to
a)   read an employee name (NAME),
     overtime hours worked (OVERTIME),
     hours absent (ABSENT) and
b)   determine the bonus payment
     (PAYMENT).
Example 7
                     Bonus Schedule
OVERTIME – (2/3)*ABSENT         Bonus Paid


>40 hours                       $50
>30 but ≤ 40 hours              $40
>20 but ≤ 30 hours              $30
                                $20
>10 but ≤ 20 hours
                                $10
≤ 10 hours
Step 1: Input NAME,OVERTIME,ABSENT
Step 2: if (OVERTIME–(2/3)*ABSENT > 40) then
            PAYMENT ← 50
       else if (OVERTIME–(2/3)*ABSENT > 30) then
             PAYMENT ← 40
       else if (OVERTIME–(2/3)*ABSENT > 20) then
             PAYMENT ← 30
       else if (OVERTIME–(2/3)*ABSENT > 10) then
             PAYMENT ←20
       else
             PAYMENT ← 10
       endif
Step 3: Print “Bonus for”, NAME “is $”, PAYMENT
Example 7
   Flowchart: Draw the flowchart of the
    above algorithm?

Contenu connexe

Tendances

Q3 G11 Empowerment Technologies Module 2.pdf
Q3 G11 Empowerment Technologies Module 2.pdfQ3 G11 Empowerment Technologies Module 2.pdf
Q3 G11 Empowerment Technologies Module 2.pdf
BryanSmile
 
Programming fundamentals lecture 4
Programming fundamentals lecture 4Programming fundamentals lecture 4
Programming fundamentals lecture 4
Raja Hamid
 
Admshs emp tech_q1_m1_l2_software application and platforms
Admshs emp tech_q1_m1_l2_software application and platformsAdmshs emp tech_q1_m1_l2_software application and platforms
Admshs emp tech_q1_m1_l2_software application and platforms
Dexter Dizon
 

Tendances (20)

Introduction to Algorithms & flow charts
Introduction to Algorithms & flow chartsIntroduction to Algorithms & flow charts
Introduction to Algorithms & flow charts
 
Lesson 1: Intoduction to ICT
Lesson 1: Intoduction to ICTLesson 1: Intoduction to ICT
Lesson 1: Intoduction to ICT
 
Algorithms and flowcharts
Algorithms and flowchartsAlgorithms and flowcharts
Algorithms and flowcharts
 
ICT Project for Social Change - Empowerment Technologies
ICT Project for Social Change - Empowerment TechnologiesICT Project for Social Change - Empowerment Technologies
ICT Project for Social Change - Empowerment Technologies
 
ICT as Platform for Change - Empowerment Technologies
ICT as Platform for Change - Empowerment TechnologiesICT as Platform for Change - Empowerment Technologies
ICT as Platform for Change - Empowerment Technologies
 
The Human Person in Their Environment
The Human Person in Their EnvironmentThe Human Person in Their Environment
The Human Person in Their Environment
 
STATISTICS AND PROBABILITY (TEACHING GUIDE)
STATISTICS AND PROBABILITY (TEACHING GUIDE)STATISTICS AND PROBABILITY (TEACHING GUIDE)
STATISTICS AND PROBABILITY (TEACHING GUIDE)
 
Understanding culture, society, and politics
Understanding culture, society, and politicsUnderstanding culture, society, and politics
Understanding culture, society, and politics
 
5. dehydration, heper and hypothermia
5. dehydration, heper and hypothermia5. dehydration, heper and hypothermia
5. dehydration, heper and hypothermia
 
Hydrometeorological Hazards
Hydrometeorological HazardsHydrometeorological Hazards
Hydrometeorological Hazards
 
Q3 G11 Empowerment Technologies Module 2.pdf
Q3 G11 Empowerment Technologies Module 2.pdfQ3 G11 Empowerment Technologies Module 2.pdf
Q3 G11 Empowerment Technologies Module 2.pdf
 
Programming fundamentals lecture 4
Programming fundamentals lecture 4Programming fundamentals lecture 4
Programming fundamentals lecture 4
 
Admshs emp tech_q1_m1_l2_software application and platforms
Admshs emp tech_q1_m1_l2_software application and platformsAdmshs emp tech_q1_m1_l2_software application and platforms
Admshs emp tech_q1_m1_l2_software application and platforms
 
Online safety, security, ethics & etiquette
Online safety, security, ethics & etiquetteOnline safety, security, ethics & etiquette
Online safety, security, ethics & etiquette
 
Interactive Multimedia - Empowerment Technologies
 Interactive Multimedia - Empowerment Technologies Interactive Multimedia - Empowerment Technologies
Interactive Multimedia - Empowerment Technologies
 
Online Safety, Security, Ethics, and Netiquette - Empowerment Technologies
Online Safety, Security, Ethics, and Netiquette - Empowerment TechnologiesOnline Safety, Security, Ethics, and Netiquette - Empowerment Technologies
Online Safety, Security, Ethics, and Netiquette - Empowerment Technologies
 
ORAL COMMUNICATION FOR GRADE 11.pptx
ORAL COMMUNICATION FOR GRADE 11.pptxORAL COMMUNICATION FOR GRADE 11.pptx
ORAL COMMUNICATION FOR GRADE 11.pptx
 
Understanding Culture, Society and Politics - Introduction
Understanding Culture, Society and Politics - IntroductionUnderstanding Culture, Society and Politics - Introduction
Understanding Culture, Society and Politics - Introduction
 
PHYSICAL EDUCATION 12 - Nature of Dance
PHYSICAL EDUCATION 12 - Nature of DancePHYSICAL EDUCATION 12 - Nature of Dance
PHYSICAL EDUCATION 12 - Nature of Dance
 
Media and Information Literacy (MIL) - 1. Introduction to Media and Informati...
Media and Information Literacy (MIL) - 1. Introduction to Media and Informati...Media and Information Literacy (MIL) - 1. Introduction to Media and Informati...
Media and Information Literacy (MIL) - 1. Introduction to Media and Informati...
 

En vedette (11)

Algoritma & Pemrograman - Flowchart
Algoritma & Pemrograman - FlowchartAlgoritma & Pemrograman - Flowchart
Algoritma & Pemrograman - Flowchart
 
Algoritma Pemrograman - Pseudocode & Flowchart
Algoritma Pemrograman - Pseudocode & FlowchartAlgoritma Pemrograman - Pseudocode & Flowchart
Algoritma Pemrograman - Pseudocode & Flowchart
 
Algorithm and flowchart2010
Algorithm and flowchart2010Algorithm and flowchart2010
Algorithm and flowchart2010
 
Algorithm and flowchart
Algorithm and flowchartAlgorithm and flowchart
Algorithm and flowchart
 
Algorithm and pseudo codes
Algorithm and pseudo codesAlgorithm and pseudo codes
Algorithm and pseudo codes
 
Introduction to Pseudocode
Introduction to PseudocodeIntroduction to Pseudocode
Introduction to Pseudocode
 
Algorithms
AlgorithmsAlgorithms
Algorithms
 
Flowchart and algorithm
Flowchart and algorithmFlowchart and algorithm
Flowchart and algorithm
 
Writing algorithms
Writing algorithmsWriting algorithms
Writing algorithms
 
Algorithms and Flowcharts
Algorithms and FlowchartsAlgorithms and Flowcharts
Algorithms and Flowcharts
 
Pertemuan 1 algoritma pemrograman dan flowchart
Pertemuan 1   algoritma pemrograman dan flowchartPertemuan 1   algoritma pemrograman dan flowchart
Pertemuan 1 algoritma pemrograman dan flowchart
 

Similaire à Algorithmsandflowcharts1

1153 algorithms%20and%20flowcharts
1153 algorithms%20and%20flowcharts1153 algorithms%20and%20flowcharts
1153 algorithms%20and%20flowcharts
Dani Garnida
 
Algorithmsandflowcharts1
Algorithmsandflowcharts1Algorithmsandflowcharts1
Algorithmsandflowcharts1
rajnidhiman
 
Algorithms and flowcharts ppt (seminar presentation)..
 Algorithms and flowcharts  ppt (seminar presentation).. Algorithms and flowcharts  ppt (seminar presentation)..
Algorithms and flowcharts ppt (seminar presentation)..
Nagendra N
 
Algorithms and flowcharts
Algorithms and flowchartsAlgorithms and flowcharts
Algorithms and flowcharts
khair20
 
Programming fundamentals lecture 2 of c
Programming fundamentals lecture 2 of cProgramming fundamentals lecture 2 of c
Programming fundamentals lecture 2 of c
Raja Hamid
 

Similaire à Algorithmsandflowcharts1 (20)

1153 algorithms%20and%20flowcharts
1153 algorithms%20and%20flowcharts1153 algorithms%20and%20flowcharts
1153 algorithms%20and%20flowcharts
 
Algorithmsandflowcharts1
Algorithmsandflowcharts1Algorithmsandflowcharts1
Algorithmsandflowcharts1
 
Algorithmsandflowcharts1
Algorithmsandflowcharts1Algorithmsandflowcharts1
Algorithmsandflowcharts1
 
Algorithms and flowcharts ppt (seminar presentation)..
 Algorithms and flowcharts  ppt (seminar presentation).. Algorithms and flowcharts  ppt (seminar presentation)..
Algorithms and flowcharts ppt (seminar presentation)..
 
Algorithms and flowcharts
Algorithms and flowchartsAlgorithms and flowcharts
Algorithms and flowcharts
 
Algorithmsandflowcharts1
Algorithmsandflowcharts1Algorithmsandflowcharts1
Algorithmsandflowcharts1
 
01 Algorithms And Flowcharts.ppt
01 Algorithms And Flowcharts.ppt01 Algorithms And Flowcharts.ppt
01 Algorithms And Flowcharts.ppt
 
256958.ppt
256958.ppt256958.ppt
256958.ppt
 
Best Techniques To Design Programs - Program Designing Techniques
Best Techniques To Design Programs - Program Designing TechniquesBest Techniques To Design Programs - Program Designing Techniques
Best Techniques To Design Programs - Program Designing Techniques
 
Programming fundamentals lecture 2 of c
Programming fundamentals lecture 2 of cProgramming fundamentals lecture 2 of c
Programming fundamentals lecture 2 of c
 
ALGORITHMS AND FLOWCHARTS
ALGORITHMS AND FLOWCHARTSALGORITHMS AND FLOWCHARTS
ALGORITHMS AND FLOWCHARTS
 
Program design techniques
Program design techniquesProgram design techniques
Program design techniques
 
Algorithms&flowcharts
Algorithms&flowchartsAlgorithms&flowcharts
Algorithms&flowcharts
 
Algorithms&flowcharts
Algorithms&flowchartsAlgorithms&flowcharts
Algorithms&flowcharts
 
algorithms and flow chart overview.pdf
algorithms and flow chart overview.pdfalgorithms and flow chart overview.pdf
algorithms and flow chart overview.pdf
 
3 algorithm-and-flowchart
3 algorithm-and-flowchart3 algorithm-and-flowchart
3 algorithm-and-flowchart
 
Problem solving using computers - Chapter 1
Problem solving using computers - Chapter 1 Problem solving using computers - Chapter 1
Problem solving using computers - Chapter 1
 
ICP - Lecture 6
ICP - Lecture 6ICP - Lecture 6
ICP - Lecture 6
 
Lecture1-Algorithms-and-Flowcharts-ppt.ppt
Lecture1-Algorithms-and-Flowcharts-ppt.pptLecture1-Algorithms-and-Flowcharts-ppt.ppt
Lecture1-Algorithms-and-Flowcharts-ppt.ppt
 
Basic Slides on Algorithms and Flowcharts
Basic Slides on Algorithms and FlowchartsBasic Slides on Algorithms and Flowcharts
Basic Slides on Algorithms and Flowcharts
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Algorithmsandflowcharts1

  • 2. ALGORITHMS AND FLOWCHARTS  A typical programming task can be divided into two phases:  Problem solving phase  produce an ordered sequence of steps that describe solution of problem  this sequence of steps is called an algorithm  Implementation phase  implement the program in some programming language
  • 3. Steps in Problem Solving  First produce a general algorithm (one can use pseudocode)  Refine the algorithm successively to get step by step detailed algorithm that is very close to a computer language.  Pseudocode is an artificial and informal language that helps programmers develop algorithms. Pseudocode is very similar to everyday English.
  • 4. Pseudocode & Algorithm  Example 1: Write an algorithm to determine a student’s final grade and indicate whether it is passing or failing. The final grade is calculated as the average of four marks.
  • 5. Pseudocode & Algorithm Pseudocode:  Input a set of 4 marks  Calculate their average by summing and dividing by 4  if average is below 50 Print “FAIL” else Print “PASS”
  • 6. Pseudocode & Algorithm  Detailed Algorithm  Step 1: Input M1,M2,M3,M4 Step 2: GRADE ← (M1+M2+M3+M4)/4 Step 3: if (GRADE < 50) then Print “FAIL” else Print “PASS” endif
  • 7. The Flowchart  (Dictionary) A schematic representation of a sequence of operations, as in a manufacturing process or computer program.  (Technical) A graphical representation of the sequence of operations in an information system or program. Information system flowcharts show how data flows from source documents through the computer to final distribution to users. Program flowcharts show the sequence of instructions in a single program or subroutine. Different symbols are used to draw each type of flowchart.
  • 8. The Flowchart A Flowchart  shows logic of an algorithm  emphasizes individual steps and their interconnections  e.g. control flow from one action to the next
  • 10. Example START Step 1: Input M1,M2,M3,M4 Step 2: GRADE ← (M1+M2+M3+M4)/4 Input M1,M2,M3,M4 Step 3: if (GRADE <50) then Print “FAIL” else GRADE←(M1+M2+M3+M4)/4 Print “PASS” endif N IS Y GRADE<5 0 PRINT PRINT “PASS” “FAIL” STOP
  • 11. Example 2  Write an algorithm and draw a flowchart to convert the length in feet to centimeter. Pseudocode:  Input the length in feet (Lft)  Calculate the length in cm (Lcm) by multiplying LFT with 30  Print length in cm (LCM)
  • 12. Example 2 Flowchart Algorithm START  Step 1: Input Lft Input  Step 2: Lcm ← Lft x 30 Lft  Step 3: Print Lcm Lcm ← Lft x 30 Print Lcm STOP
  • 13. Example 3 Write an algorithm and draw a flowchart that will read the two sides of a rectangle and calculate its area. Pseudocode  Input the width (W) and Length (L) of a rectangle  Calculate the area (A) by multiplying L with W  Print A
  • 14. Example 3 Algorithm START  Step 1: Input W,L Input W, L  Step 2: A ← L x W  Step 3: Print A A←LxW Print A STOP
  • 15. Example 4  Write an algorithm and draw a flowchart that will calculate the roots of a quadratic equation ax 2 + bx + c = 0  Hint: d = sqrt ( b 2 − 4ac ), and the roots are: x1 = (–b + d)/2a and x2 = (–b – d)/2a
  • 16. Example 4 Pseudocode:  Input the coefficients (a, b, c) of the quadratic equation  Calculate d  Calculate x1  Calculate x2  Print x1 and x2
  • 17. Example 4 START  Algorithm: Input  Step 1: Input a, b, c a, b, c  Step 2: d ← sqrt ( b × b − 4 × a × c )  Step 3: x1 ← (–b + d) / (2 x a) d ← sqrt(b x b – 4 x a x c)  Step 4: x2 ← (–b – d) / (2 x a) x1 ←(–b + d) / (2 x a)  Step 5: Print x1, x2 X2 ← (–b – d) / (2 x a) Print x1 ,x2 STOP
  • 18. DECISION STRUCTURES  The expression A>B is a logical expression  it describes a condition we want to test  if A>B is true (if A is greater than B) we take the action on left  print the value of A  if A>B is false (if A is not greater than B) we take the action on right  print the value of B
  • 19. DECISION STRUCTURES Y N is A>B Print Print A B
  • 20. IF–THEN–ELSE STRUCTURE  The structure is as follows If condition then true alternative else false alternative endif
  • 21. IF–THEN–ELSE STRUCTURE  The algorithm for the flowchart is as follows: If A>B then Y N print A is A>B else print B Print A Print B endif
  • 22. Relational Operators Relational Operators Operator Description > Greater than < Less than = Equal to ≥ Greater than or equal to ≤ Less than or equal to ≠ Not equal to
  • 23. Example 5  Write an algorithm that reads two values, determines the largest value and prints the largest value with an identifying message. ALGORITHM Step 1: Input VALUE1, VALUE2 Step 2: if (VALUE1 > VALUE2) then MAX ← VALUE1 else MAX ← VALUE2 endif Step 3: Print “The largest value is”, MAX
  • 24. Example 5 START Input VALUE1,VALUE2 Y is N VALUE1>VALUE2 MAX ← VALUE1 MAX ← VALUE2 Print “The largest value is”, MAX STOP
  • 25. NESTED IFS  One of the alternatives within an IF– THEN–ELSE statement  may involve further IF–THEN–ELSE statement
  • 26. Example 6  Write an algorithm that reads three numbers and prints the value of the largest number.
  • 27. Example 6 Step 1: Input N1, N2, N3 Step 2: if (N1>N2) then if (N1>N3) then MAX ← N1 [N1>N2, N1>N3] else MAX ← N3 [N3>N1>N2] endif else if (N2>N3) then MAX ← N2 [N2>N1, N2>N3] else MAX ← N3 [N3>N2>N1] endif endif Step 3: Print “The largest number is”, MAX
  • 28. Example 6  Flowchart: Draw the flowchart of the above Algorithm.
  • 29. Example 7  Write and algorithm and draw a flowchart to a) read an employee name (NAME), overtime hours worked (OVERTIME), hours absent (ABSENT) and b) determine the bonus payment (PAYMENT).
  • 30. Example 7 Bonus Schedule OVERTIME – (2/3)*ABSENT Bonus Paid >40 hours $50 >30 but ≤ 40 hours $40 >20 but ≤ 30 hours $30 $20 >10 but ≤ 20 hours $10 ≤ 10 hours
  • 31. Step 1: Input NAME,OVERTIME,ABSENT Step 2: if (OVERTIME–(2/3)*ABSENT > 40) then PAYMENT ← 50 else if (OVERTIME–(2/3)*ABSENT > 30) then PAYMENT ← 40 else if (OVERTIME–(2/3)*ABSENT > 20) then PAYMENT ← 30 else if (OVERTIME–(2/3)*ABSENT > 10) then PAYMENT ←20 else PAYMENT ← 10 endif Step 3: Print “Bonus for”, NAME “is $”, PAYMENT
  • 32. Example 7  Flowchart: Draw the flowchart of the above algorithm?