Algoritmos e lógica de programação: prática guiada
Pratique algoritmos e lógica de programação com entrada, decisão, repetição e teste de mesa em um exemplo de cálculo de média.

Em poucas palavras
- Especificar entradas e comportamento evita decisões ocultas no código.
- Acumulador e contador têm funções diferentes.
- O teste de mesa acompanha o estado e revela erros de atualização e parada.
Neste artigo
Algoritmos e lógica de programação se encontram na construção de soluções que podem ser executadas e verificadas. A lógica organiza condições e relações; o algoritmo define a sequência de passos; a linguagem permite implementá-los. Para aprender, trabalhe um problema pequeno por completo, desde a especificação até os testes, em vez de memorizar comandos isolados.
Este guia usa o cálculo de uma média para integrar entrada, validação, decisão, repetição e estado. O artigo sobre algoritmo aprofunda contrato, correção e custo. Aqui, o foco está no processo de transformar um enunciado em uma solução e acompanhar sua execução.
Defina o problema antes de programar
Essa definição evita decisões implícitas. Se a quantidade puder ser zero, é necessário definir uma resposta para a ausência de notas. Se o fim da entrada for indicado por um valor especial, o laço terá outra organização. Alterar uma condição do enunciado pode mudar a solução, mesmo que a fórmula matemática permaneça igual.
Três estruturas de controle no mesmo exemplo
| Estrutura | Função | Uso no exercício |
|---|---|---|
| Sequência | Executar etapas na ordem definida | Ler quantidade, iniciar soma e contagem |
| Decisão | Escolher um caminho conforme uma condição | Aceitar somente nota dentro da faixa |
| Repetição | Executar etapas enquanto necessário | Ler até obter a quantidade de notas válidas |
- Estrutura
- Sequência
- Função
- Executar etapas na ordem definida
- Uso no exercício
- Ler quantidade, iniciar soma e contagem
- Estrutura
- Decisão
- Função
- Escolher um caminho conforme uma condição
- Uso no exercício
- Aceitar somente nota dentro da faixa
- Estrutura
- Repetição
- Função
- Executar etapas enquanto necessário
- Uso no exercício
- Ler até obter a quantidade de notas válidas
A documentação do Python sobre controle de fluxo mostra decisões e repetições em uma linguagem real. O raciocínio, porém, deve ser explicado independentemente da sintaxe. Uma condição correta em papel ainda pode ser implementada de modo errado se o programador trocar um operador ou atualizar a variável no lugar inadequado.
Um algoritmo para o exercício
Pseudocódigo em etapas
- Leia a quantidade desejada e aceite apenas um inteiro positivo.
- Inicie soma em zero e quantidade válida em zero.
- Enquanto a quantidade válida for menor que a desejada, leia uma nota.
- Se a nota estiver entre 0 e 10, some seu valor e acrescente uma unidade à quantidade válida.
- Se estiver fora da faixa, informe a rejeição e leia outra, sem alterar os acumuladores.
- Ao completar a quantidade, divida a soma pela quantidade válida e apresente a média.
A soma é um acumulador: guarda um resultado construído ao longo do percurso. A contagem registra quantas entradas válidas foram incorporadas. Misturar os dois papéis dificulta perceber erros. Nomes que expressam essas funções ajudam a entender o programa e a revisar cada atualização.
Teste de mesa com entrada inválida
| Entrada | É válida? | Soma após a etapa | Quantidade válida |
|---|---|---|---|
| 8 | Sim | 8 | 1 |
| 12 | Não | 8 | 1 |
| 6 | Sim | 14 | 2 |
| 10 | Sim | 24 | 3 |
- Entrada
- 8
- É válida?
- Sim
- Soma após a etapa
- 8
- Quantidade válida
- 1
- Entrada
- 12
- É válida?
- Não
- Soma após a etapa
- 8
- Quantidade válida
- 1
- Entrada
- 6
- É válida?
- Sim
- Soma após a etapa
- 14
- Quantidade válida
- 2
- Entrada
- 10
- É válida?
- Sim
- Soma após a etapa
- 24
- Quantidade válida
- 3
A média final é 24 ÷ 3 = 8. A tentativa com 12 não deve aumentar a contagem nem a soma. Se o algoritmo contar toda tentativa, pode encerrar antes de reunir as três notas válidas. O teste de mesa mostra o estado após cada etapa e ajuda a localizar exatamente onde o comportamento se afasta do contrato.
Como pensar a condição de parada
O laço termina quando foram aceitas as notas necessárias. Se o ambiente fornecer indefinidamente entradas inválidas, essa versão continua solicitando dados; a conclusão depende de receber entradas válidas suficientes. Em um programa real, pode ser necessário oferecer cancelamento ou tratar o encerramento da entrada. Essa decisão pertence à especificação e precisa ser explícita.
A introdução a algoritmos do MIT ajuda a separar especificação, correção e análise. O exemplo não exige uma estrutura sofisticada, mas já mostra por que a condição de parada não deve ser acrescentada somente depois que o código parece pronto.
Exercícios para continuar
Variações com objetivos diferentes
- Modifique a solução para calcular também o maior valor aceito.
- Defina como lidar com entrada não numérica antes de compará-la com a faixa.
- Troque a quantidade conhecida por uma opção de encerramento e trate o caso sem notas.
- Separe a validação e o cálculo em partes com responsabilidades claras.
O pensamento computacional ajuda a decompor essas variações. Para aprofundar condições e operadores, veja o que é lógica de programação. Ao estudar, preserve uma sequência de trabalho: especificar, representar, executar no papel, implementar e conferir o resultado.
Referências
- NIST. Dictionary of Algorithms and Data Structures. Algorithm. https://xlinux.nist.gov/dads/HTML/algorithm.html
- MIT OPENCOURSEWARE. Introduction to Algorithms, 6.006. Spring 2020. https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/
- PYTHON SOFTWARE FOUNDATION. Tutorial: mais ferramentas de controle de fluxo. https://docs.python.org/pt-br/3/tutorial/controlflow.html
Autoria
Study Mais
Continue estudando

Banco de dados não relacional: modelos e escolhas
Compare modelos de banco de dados não relacional, entenda documentos, chave-valor, grafos e colunas largas e avalie escolhas pela carga de uso.

O que é lógica de programação? Condições e exemplos
Entenda lógica de programação com condições, operadores booleanos e tabelas de teste. Veja como detectar erros em regras de validação.

Modelo lógico de banco de dados: exemplo relacional
Entenda o modelo lógico de banco de dados e transforme regras de matrícula em relações, chaves e restrições antes da implementação física.
