O que é um fluxograma?  
O fluxograma é uma representação gráfica de um algoritmo. Os programadores costumam usá-lo como uma ferramenta de planejamento de programa para resolver um problema. Faz uso de símbolos que estão conectados entre si para indicar o fluxo de informação e processamento. 
O processo de desenho de um fluxograma para um algoritmo é conhecido como “fluxograma”. 

Símbolos básicos usados ​​em projetos de fluxograma

  1. Terminal: O símbolo oval indica Iniciar, Parar e Parar no fluxo lógico de um programa. Uma pausa / parada é geralmente usada em uma lógica de programa sob algumas condições de erro. Terminal é o primeiro e o último símbolo do fluxograma. 
     

  • Entrada / Saída: Um paralelogramo denota qualquer função do tipo de entrada / saída. As instruções de programa que recebem entrada de dispositivos de entrada e exibem saída em dispositivos de saída são indicadas com paralelogramo em um fluxograma. 
     

  • Processamento: uma caixa representa as instruções aritméticas. Todos os processos aritméticos como adição, subtração, multiplicação e divisão são indicados por ação ou símbolo de processo. 
     

  • O símbolo do diamante de decisão representa um ponto de decisão. Operações baseadas em decisão, como sim / não pergunta ou verdadeiro / falso, são indicadas por um losango no fluxograma. 
     

  • Conectores: Sempre que o fluxograma se torna complexo ou se espalha por mais de uma página, é útil usar conectores para evitar confusões. É representado por um círculo. 
     

  • Linhas de fluxo: as linhas de fluxo indicam a seqüência exata em que as instruções são executadas. As setas representam a direção do fluxo de controle e a relação entre os diferentes símbolos do fluxograma. 
     

Vantagens do fluxograma:

  • Os fluxogramas são a melhor maneira de comunicar a lógica do sistema.
  • Os fluxogramas atuam como um guia para o projeto durante a criação do programa.
  • Os fluxogramas ajudam no processo de depuração.
  • Com a ajuda de fluxogramas, os programas podem ser facilmente analisados.
  • Ele fornece uma documentação melhor.
  • Os fluxogramas servem como uma boa documentação adequada.

Desvantagens do fluxograma:

  • É difícil desenhar um fluxograma para programas grandes e complexos.
  • Nesse sentido, não existe um padrão para determinar a quantidade de detalhes.
  • Difícil de reproduzir os fluxogramas.
  • É muito difícil modificar o fluxograma.

Exemplo: desenhe um fluxograma para inserir dois números do usuário e exibir o maior de dois números 
 

// 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 numbers
import 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 numbers
using 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

Saída

Enter two numbers:
10 30
30

Referências: 
Fundamentos da Computação, de Pradeep K. Sinha e Priti Sinha