An introduction to Flowcharts - GeeksforGeeks

18 Apr, 2022
What is a Flowchart? Flowchart is a graphical representation of an algorithm. Programmers often use it as a program-planning tool to solve a problem. It makes use of symbols which are connected among them to indicate the flow of information and processing. The process of drawing a flowchart for an algorithm is known as “flowcharting”. 
Basic Symbols used in Flowchart Designs
Terminal: The oval symbol indicates Start, Stop and Halt in a program’s logic flow. A pause/halt is generally used in a program logic under some error conditions. Terminal is the first and last symbols in the flowchart.  
Terminal: The oval symbol indicates Start, Stop and Halt in a program’s logic flow. A pause/halt is generally used in a program logic under some error conditions. Terminal is the first and last symbols in the flowchart.  
Input/Output: A parallelogram denotes any function of input/output type. Program instructions that take input from input devices and display output on output devices are indicated with parallelogram in a flowchart.  
Processing: A box represents arithmetic instructions. All arithmetic processes such as adding, subtracting, multiplication and division are indicated by action or process symbol.  
Decision Diamond symbol represents a decision point. Decision based operations such as yes/no question or true/false are indicated by diamond in flowchart.  
Connectors: Whenever flowchart becomes complex or it spreads over more than one page, it is useful to use connectors to avoid any confusions. It is represented by a circle.  
Flow lines: Flow lines indicate the exact sequence in which instructions are executed. Arrows represent the direction of flow of control and relationship among different symbols of flowchart.  
Advantages of Flowchart:
Flowcharts are a better way of communicating the logic of the system.
Flowcharts act as a guide for blueprint during program designed.
Flowcharts help in debugging process.
With the help of flowcharts programs can be easily analyzed.
It provides better documentation.
Flowcharts serve as a good proper documentation.
Disadvantages of Flowchart:
It is difficult to draw flowcharts for large and complex programs.
There is no standard to determine the amount of detail.
Difficult to reproduce the flowcharts.
It is very difficult to modify the Flowchart.
Example : Draw a flowchart to input two numbers from the user and display the largest of two numbers  
 
C
C++
Java
C#
// C program to find largest of two numbers #include <stdio.h> int main(){    int num1, num2, largest;     /*Input two numbers*/    printf("Enter two numbers:\n");    scanf("%d%d", &num1, &num2);     /*check if a is greater than b*/    if (num1 > num2)        largest = num1;    else        largest = num2;     /*Print the largest number*/    printf("%d", largest);     return 0;}
// C++ program to find largest of two numbers#include <iostream>using namespace std;int main(){    int num1, num2, largest;     /*Input two numbers*/    cout << "Enter two numbers:\n";    cin >> num1;    cin >> num2;     /*check if a is greater than b*/    if (num1 > num2)        largest = num1;    else        largest = num2;     /*Print the largest number*/    cout << largest;     return 0;}
// Java program to find largest of two numbersimport java.util.Scanner;public class largest {    public static void main(String args[])    {        int num1, num2, max;         /*Input two numbers*/        Scanner sc = new Scanner(System.in);        System.out.println("Enter two numbers:");         num1 = sc.nextInt();        num2 = sc.nextInt();         /*check whether a is greater than b or not*/        if (num1 > num2)            max = num1;        else            max = num2;         /*Print the largest number*/        System.out.println(max);    }}
// C# program to find largest of two numbersusing System;using System.IO; class GFG{    static public void Main ()    {                 int num1, num2, max;         /*Input two numbers*/        Console.WriteLine("Enter two numbers:");         num1 = Convert.ToInt32(Console.ReadLine());        num2 = Convert.ToInt32(Console.ReadLine());         /*check whether a is greater than b or not*/        if (num1 > num2)            max = num1;        else            max = num2;         /*Print the largest number*/        Console.WriteLine(max);    }} // This code is contributed by NamrataSrivastava1
Output
Enter two numbers:
10 30
30
References: Computer Fundamentals by Pradeep K. Sinha and Priti Sinha 
RishabhPrabhu
srinam
itskawal2000
yatindracr7
CBSE - Class 11
school-programming
Design Pattern
School Programming
Technical Scripter
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Strategy Pattern | Set 1 (Introduction)
Difference between Sequence diagram and Collaboration diagram
Template Method Design Pattern
State Design Pattern
Visitor design pattern
Python Dictionary
Arrays in C/C++
Inheritance in C++
Reverse a string in Java
C++ Classes and Objects