Um algoritmo pode ser definido de forma simples como sendo um conjunto de instruções ordenadas, de forma correta, que serão executadas para realizar alguma tarefa.

Características:
  1. Deve ser claro
  2. não pode haver duplo sentido(ambiguidade)
  3. deve ser ter um fim

Sendo assim, as instruções em um algoritmo serão executadas de forma correta e o resultado esperado será obtido como desejado.

Exemplo 1

Algoritmo em forma descritiva(Será visto posteriormente) para soma de dois números:

Ordem correta
  1. Receber dois números digitados pelo usuário
  2. Realizar e armazenar a soma
  3. Exibir resultado na tela do computador

O exemplo acima temos a descrição passo-a-passo do exemplo 1, soma de dois números, mostrado anteriormente em Linguagem de Programação: Exemplo 1, após aplicarmos tudo que foi discutido até aqui.

Para tornar mais claro como um algoritmo funciona, basicamente, a execução de um algoritmo segue o seguinte fluxo básico:

Fig. 1: Fases de execução

Na entrada de dados, todas as informações necessárias pelo algoritmo são coletadas ou informadas por algum meio como no exemplo 2 abaixo:

Exemplo 2
  1. Teclado
  2. Cartão de banco
  3. Arquivo no computador

No processamento de dados, essas informações coletadas passam por um conjunto de instrução predefinidos para resolver um determinado problema.

Na saída de dados, as informações processadas são compiladas e/ou apresentadas ao usuário de forma física ou digital:

Exemplo 3
  1. Monitor
  2. Impressora
  3. Dinheiro
  4. Relatório
  5. Canhoto

Como foi observado no Lógica de Programação: Exemplo 1, ao sacar uma valor em dinheiro de uma conta, o cliente utilizou o cartão de sua conta, sua senha e a quantia a ser sacada como entrada de dados. O algoritmo contido no caixa eletrônico realizou o processamento das informações e como saída, disponibilizou a quantia de dinheiro sacada.

Em algunas exemplos anteriorres descrevemos algoritmos em forma narrativa sem ao menos termos conversado sobre o assunto. Essa forma foi escolhida para melhor compreensão dos exemplos. Além da forma narrativa, existem outras formas de representação de algoritmos que vamos abordá-las na próxima seção Representação de algortimos.

Agora que é possível entender o básico de programação é necessário explicar de forma sucinta como os algoritmos se transformam em um programa de computador.

Assim como o algoritmo possui fases de execução, a transformação de um algoritmo em programa de computador também possui fases.

Fig. 2: Fases transformação de algoritmo em programa

A codificação é a fase em que os algoritmos necessários para um programa de computador realizar suas tarefas são feito. Nessa fase, são utilizadas as IDEs(Ambientes Integrados para Desenvolvimento). As IDEs possuem várias funcionalidades para que o desenvolvedor/programador possa trabalhar de forma mais produtiva.

Abaixo alguns exemplos:

  1. Visual Studio 2022 Community
  2. Visual Studio Code
  3. Embarcadero DevC++
  4. CodeBlocks

Na fase de compilação todo o algoritmo escrito pelo desenvolvedor é analisada por um compilador que faz todas as validações necessárias e assim converte uma linguagem em instruções de baixo nível compreensível pelo computador.

Abaixo alguns exemplos de compiladores online:

Online
  1. OnlineGDB
  2. Programiz
  3. MyCompiler
  4. Online-CPP

Após a compilação, um executável é gerado para ser executado em um plataforma definida de acordo com a escolha do programador, podendo ser Windows, Linux, MacOs ou outros:

Abaixo um fluxo de interação simplificado de um usuário com um programa de computador:

Fig. 3: Execução de programa

Para aplicações Web, o executável gerador é executado um por um servidor Web e intermediado por um navegador Web:

Fig. 4: Execução de aplicação Web

Na próxima parte do tutorial, vamos estudar como os algoritmos podem ser representados pem como seus exemplos.

  1. 12/09/2024 - revisão 2 - pequenos ajustes em definição, fases e tranformação
  2. 25/09/2023 - revisão 1 - adição de imagens, correção em referências, adição de listas de IDEs e compiladores online
  3. 28/04/2023 - versão inicial