Representação
Representação de um algoritmo
Um algoritmo pode ser representado por meio de diversas formas, dentre as quais destacamos:
-
- por extensão,
- por diagramas,
- ou por uma linguagem estruturada.
Por Extensão
Ao descrever o passo a passo para a solução de um problema usando a linguagem natural, como nos exemplos anteriores, estamos caracterizando o algoritmo de forma descritiva. Isso significa que detalhamos a sequência de ações a serem executadas de maneira literal (por extensão).
Exemplo: Somar dois números inteiros quaisquer e mostrar o resultado.
Ler o 1º número; Ler o 2º número; Somar os dois número; Exibir o resultado.
Diagrama
No lugar de palavras, podemos utilizar símbolos para representar nossos algoritmos.
Observe o algoritmo para cálculo da média de duas notas sendo representado por meio de diagramas na imagem abaixo:
Entenda que é o mesmo algoritmo, só que descrito de maneira gráfica!
Linguagem Estruturada
Um algoritmo pode ser descrito por meio de linguagens criadas para tal fim.
Veja o algoritmo anterior descrito em Portugol:
algoritmo "calcular_media" var nota1, nota2, media: real inicio leia(nota1) leia(nota2) media <- (nota1 + nota2) / 2 se (media >= 7) entao escreva("APROVADO") senao escreva("REPROVADO") fimse fimalgoritmo
⚠️ Neste curso, utilizaremos o português estruturado, PORTUGOL, do VisuAlg.
Linguagens de programação como Java, C/C++, C#, Python, Dart ou PHP, por exemplo, também são utilizadas para “expressar” algoritmos e criar programas de computador.
Confira o mesmo algoritmo agora em Python e Java:
Python:
# Solicita a primeira nota nota1 = float(input('1ª NOTA = ')) # Solicita a segunda nota nota2 = float(input('2ª NOTA = ')) # Calcula a média media = (nota1 + nota2) / 2 # Exibe a média print('MÉDIA =', media) # Verifica se o aluno está aprovado ou reprovado if media >= 7: print('APROVADO') else: print('REPROVADO')
Java:
import java.util.Scanner; public class MediaNotas { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Solicita a primeira nota System.out.print("1ª NOTA = "); double nota1 = scanner.nextDouble(); // Solicita a segunda nota System.out.print("2ª NOTA = "); double nota2 = scanner.nextDouble(); // Calcula a média double media = (nota1 + nota2) / 2; // Exibe a média System.out.println("MÉDIA = " + media); // Verifica se o aluno está aprovado ou reprovado if (media >= 7) { System.out.println("APROVADO"); } else { System.out.println("REPROVADO"); } // Fecha o scanner scanner.close(); } }
As possibilidades e opções são infinitas!