Algoritmos – conceitos básicos

Aprenda os conceitos básicos para a construção de um bom algoritmo usando descrição narrativa, fluxograma ou pseudocódigo.

Conceitos básicos para entender algoritmos

Veja algumas definições dadas por autores famosos:

  • “Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido.” (FORBELLONE, 1999);
  • “Algoritmo é a descrição de uma sequencia de passos que dever ser seguida para a realização de uma tarefa” (ASCENCIO, 1999);
  • “Algoritmo é uma sequência finita de instruções ou operações cuja execução, em tempo finito, resolve um problema computacional, qualquer que seja sua instância.” (SALVETTI, 1999);
  • “Algoritmo são regras formais para a obtenção de um resultado ou da solução de um problema, englobando fórmulas de expressões aritméticas.” (MANZANO, 1997);
  • “Ação é um acontecimento que, a partir de um estado inicial, após um período de tempo finito, produz um estado final previsível e bem definido. Portanto, um algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações.” (FARRER, 1999).

Como podemos perceber algoritmos é uma sequência de passos para se resolver determinada tarefa, observe abaixo alguns exemplos de algoritmos que executamos no dia a dia.

Exemplos de algoritmos do dia a dia

Primeiro exemplo de um algoritmo

Somar três números:

  1. determinar os três números;
  2. somar os três números aplicando aritmética básica;
  3. mostrar o resultado obtido.

Segundo exemplo de um algoritmo

Fazer um lanche:

  1. pegar um pão de forma;
  2. pegar maionese;
  3. pegar presunto;
  4. pegar queijo;
  5. pegar tomate e alface;
  6. cortar o tomate em fatias;
  7. passar maionese no pão;
  8. colocar o presunto e o queijo;
  9. colocar o alface e o tomate;
  10. colocar na sanduicheira;
  11. retirar assim que apitar;
  12. ser feliz comendo.

Terceiro exemplo de um algoritmo

Trocar uma lâmpada:

  1. pegar uma lâmpada nova;
  2. pegar uma escada;
  3. colocar a escada em baixo da lâmpada queimada;
  4. subir na escada;
  5. retirar a lâmpada velha;
  6. colocar a lâmpada nova;
  7. descer da escada;
  8. testar a lâmpada nova no interruptor;
  9. guardar a escada;
  10. ser um ser humano consciente e descartar lâmpada queimada em local próprio que não agrida o meio ambiente.

Quarto exemplo de um algoritmo

Ir para a escola de manhã:

  1. acordar cedo;
  2. despertar com um banho;
  3. vestir o uniforme;
  4. tomar café;
  5. pegar a bicicleta;
  6. pedalar até a escola;
  7. trancar a bicicleta;
  8. se tiver tempo, conversar com os amigos, se não, ir para a aula.

Quinto exemplo de um algoritmo

Comprar salgadinho com cartão de crédito:

  1. ir até a loja mais próxima;
  2. escolher o salgadinho;
  3. pegar o salgadinho e ir até o caixa;
  4. informar que irá pagar com cartão de crédito;
  5. inserir o cartão na maquininha;
  6. inserir a senha;
  7. aguardar o comprovante;
  8. deixar a loja;
  9. comer o salgadinho;
  10. fazer exercícios para queimar as calorias obtidas.

Tipos de algoritmos

Descrição narrativa

A descrição narrativa consiste em analisar o problema e escrever usando uma linguagem natural (português, espanhol, inglês etc), os passos necessários para a resolução do problema.

A vantagem é que não é preciso entender conceitos novos pois já se conhece a linguagem utilizada para escrever os passos, a desvantagem é que a língua natural pode ser interpretada de várias formas dependendo da naturalidade do leitor e pode dificultar a transcrição para software.

Fluxograma

O fluxograma consiste em usar símbolos gráficos predefinidos para representar os passos a serem seguidos para sua resolução.

A vantagem é que o entendimento de elementos gráficos é mais simples do que o de textos e a desvantagem é que é necessário compreender a simbologia dos fluxogramas e o algoritmo resultante não apresenta muitos detalhes, dificultando sua transcrição para software.

Fluxograma

Pseudocódigo ou portugol

O pseudocódigo consiste em escrever por meio de regras predefinidas os passos a serem seguidos para a resolução de um problema.

A vantagem é que a passagem para software, usando esse método, é quase imediata, bastando conhecer as palavras reservadas da linguagem que será utilizada e a desvantagem é que é necessário aprender as regras do pseudocódigo, que serão apresentadas na próxima seção.

Atenção! As regras para pseudocódigo mudam dependendo do autor ou do professor em questão, mas todas seguem o mesmo formato, então você pode adaptar as diferenças do meu pseudocódigo para o que o seu professor deseja ou para algum que você já tenha conhecimento prévio.

O mais prático de todos na minha opinião.

Passo para construção de bons algoritmos

Passos importantes para a construção de um bom algoritmo:

  1. entender o problema a ser resolvido, destacar os pontos principais e os objetos que o compõem;
  2. definir os dados de entrada;
  3. definir o processamento (quais cálculos serão usados e quais as restrições para esses cálculos);
  4. definir os dados de saída (quais dados serão gerados após o processamento);
  5. construir o algoritmo utilizando a descrição narrativa ou pseudocódigo (também chamado de português estruturado ou portugol) ou fluxograma;
  6. passar para uma linguagem de programação;
  7. testar o algoritmo usando simulações.

Exemplos de algoritmos

Vamos ver agora alguns exemplos usando os três tipos construção de algoritmos citados anteriormente. Nos demais posts, para praticidade e conveniência, usaremos apenas pseudocódigo para construção de algoritmos e uma linguagem de programação.

I) Faça um algoritmo que mostre o resultado da soma de dois números.

Usando a descrição narrativa:

  1. receber os dois números a serem somados;
  2. somar os dois números usando as regras básicas de aritmética;
  3. mostrar o resultado obtido na multiplicação.

Usando fluxograma:

Soma de dois números inteiros – fluxograma

Usando pseudocódigo:

Algoritmo soma_de_dois_numeros
var 
     N1, N2, M: inteiro
inicio
     escreva("Digite dois números inteiros:")
     leia(N1, N2)
     M <- N1+N2
     escreva("O resultado da multiplicação é: ", M)
fim.

II) Faça um algoritmo que mostre o resultado da multiplicação de dois números.

Usando a descrição narrativa

  1. receber os dois números a serem multiplicados;
  2. multiplicar os dois números usando as regras básicas de aritmética;
  3. mostrar o resultado obtido na multiplicação.

Usando fluxograma:

Usando pseudocódigo:

Algoritmo multiplicacao_de_dois_numeros
var 
     N1, N2, M: inteiro
inicio
     escreva("Digite dois números inteiros:")
     leia(N1, N2)
     M <- N1*N2
     escreva("O resultado da multiplicação é: ", M)
fim.

III) Faça um algoritmo que calcule a média aritmética entre duas notas de um aluno e mostrar se esta aprovado se a média for maior ou igual a 7 ou reprovado se a média for menor do que 7.

Usando a descrição narrativa:

  1. receber as duas notas
  2. calcular a média aritmética;
  3. mostrar a média aritmética;
  4. se a média for maior ou igual a 7, então a situação do aluno é aprovado, se não, a situação é reprovado.

Usando fluxograma:

Media aritmética de dois números inteiros – fluxograma

Usando pseudocódigo:

Algoritmo mediaAritmetica_de_dois_numeros
var 
     N1, N2, M: inteiro
inicio
     escreva("Digite as duas notas do aluno:")
     leia(N1, N2)
     M <- (N1+N2)/2
     escreva("A média do aluno é: ", M)
     se (M >= 7) entao
     inicio
          escreva("APROVADO")
     fim
     senao
     inicio
          escreva("REPROVADO")
     fim
fim.

Referências:

ASCENCIO, A.F.G.; CAMPOS, E.A.V. Fundamentos da Programação de Computadores – Algoritmos, Pascal, C/C++ e Java. Pearson Prentice Hall. 2a. Ed. 2007.

Fluxogramas: https://www.lucidchart.com/

Was this helpful?

2 / 0

Deixe um comentário 0

Your email address will not be published.


Compartilhe

[amount] estão lendo esse conteúdo agora.