Algoritmos e representação
O que você vai ver aqui
A mesma ideia escrita de três maneiras — narrativa, fluxograma e portugol —, mais os blocos do Scratch. Ver o mesmo algoritmo nas três formas, lado a lado, é o exercício que mais consolida o módulo.
Sequência lógica
A ordem dos passos altera o resultado. Trocar a ordem de "coloque o pé no chão" e "levante da cama" produz um algoritmo que não funciona.
Exercício de abertura: receba uma lista de passos embaralhados de um processo conhecido — sacar dinheiro no caixa eletrônico, por exemplo — e ordene.
Fluxograma
| Símbolo | Nome | Uso |
|---|---|---|
| Elipse | Terminal | Início e fim |
| Paralelogramo | Entrada e saída | Ler e escrever dados |
| Retângulo | Processo | Cálculo e atribuição |
| Losango | Decisão | Teste com saídas sim e não |
| Seta | Fluxo | Direção da execução |
| Círculo pequeno | Conector | Liga partes do diagrama |
Regras de construção: um único início, pelo menos um fim, toda decisão com duas saídas rotuladas, fluxo preferencialmente de cima para baixo, sem cruzamento de setas.
Ferramentas para desenhar: papel, Word com formas (aula 24), PowerPoint, draw.io e Lucidchart.
Do fluxograma ao código
Mostre o mesmo algoritmo nas três representações, lado a lado. Exemplo, verificar se um número é positivo:
algoritmo "Positivo"
var
n: real
inicio
escreva("Digite um numero: ")
leia(n)
se n > 0 entao
escreval("Positivo")
senao
escreval("Nao positivo")
fimse
fimalgoritmo
Representação por blocos: Scratch
Ambiente visual em que os comandos são blocos encaixáveis, o que elimina o erro de sintaxe e deixa a lógica em primeiro plano.
Áreas da tela: palco (onde a ação acontece), lista de atores, paleta de blocos e área de scripts.
Categorias de blocos: Movimento, Aparência, Som, Eventos, Controle, Sensores, Operadores, Variáveis e Meus Blocos.
A correspondência com o portugol é direta: Eventos corresponde ao início, Controle às estruturas de decisão e repetição, Operadores aos operadores aritméticos e lógicos, e Variáveis à declaração e atribuição.
Teste de mesa
Simular a execução manualmente, anotando o valor de cada variável a cada passo, numa tabela.
Na prática
- Ordene corretamente uma lista de passos embaralhados.
- Desenhe o fluxograma de um algoritmo que calcula a média de três notas e informa aprovação.
- Converta esse fluxograma em portugol e execute no VisuAlg.
- Reproduza o mesmo algoritmo no Scratch com blocos.
- Faça o teste de mesa do algoritmo com três conjuntos de valores diferentes.
- Troque os fluxogramas entre duplas e implemente o algoritmo do colega.
Exercícios
- Desenhe o fluxograma de um algoritmo que informa se uma pessoa pode votar.
- Qual símbolo representa decisão e quantas saídas ele precisa ter?
- Faça o teste de mesa de um algoritmo fornecido pelo docente.
- Converta um script do Scratch em portugol.
- Explique por que representar antes de programar economiza tempo.
Erros comuns
- Fluxograma sem rótulo nas saídas da decisão.
- Fluxo com mais de um início.
- Pular o teste de mesa e depurar por tentativa e erro.
Checklist de saída
Você representa um algoritmo nas três formas e valida a lógica antes de programar.
Referências
- Algoritmo e Lógica de Programação. Universidade Federal do Rio Grande do Norte, 2004.
- MARTINS, Luiz Gustavo Almeida. Apostila de Introdução a Algoritmos. UFU.
- Scratch. Disponível em: https://scratch.mit.edu/
Testa o que você leu
4 perguntas sobre esta aula. Errar aqui não custa nada - a explicação vem junto da correção.