Pular para o conteúdo

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.

Autoria
Study Mais
Publicado em
Tempo de leitura
4 min de leitura
Estudantes organizam cartões e objetos em uma atividade de resolução de problemas.
Estudantes organizam cartões e objetos em uma atividade de resolução de problemas. Study Mais — imagem ilustrativa gerada com IA.

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.

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

Papel de cada estrutura
EstruturaFunçãoUso no exercício
SequênciaExecutar etapas na ordem definidaLer quantidade, iniciar soma e contagem
DecisãoEscolher um caminho conforme uma condiçãoAceitar somente nota dentro da faixa
RepetiçãoExecutar etapas enquanto necessárioLer 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
Papel de cada estrutura

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

  1. Leia a quantidade desejada e aceite apenas um inteiro positivo.
  2. Inicie soma em zero e quantidade válida em zero.
  3. Enquanto a quantidade válida for menor que a desejada, leia uma nota.
  4. Se a nota estiver entre 0 e 10, some seu valor e acrescente uma unidade à quantidade válida.
  5. Se estiver fora da faixa, informe a rejeição e leia outra, sem alterar os acumuladores.
  6. 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

Três notas válidas, com uma tentativa rejeitada
EntradaÉ válida?Soma após a etapaQuantidade válida
8Sim81
12Não81
6Sim142
10Sim243
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
Três notas válidas, com uma tentativa rejeitada

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

  1. Modifique a solução para calcular também o maior valor aceito.
  2. Defina como lidar com entrada não numérica antes de compará-la com a faixa.
  3. Troque a quantidade conhecida por uma opção de encerramento e trate o caso sem notas.
  4. 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.

Aula da UNIVESP sobre algoritmo e lógica de programação. Relacione as estruturas de controle ao exercício de validação e média. Pensamento Computacional - Algoritmo e lógica de programação (UNIVESP)

Referências

  1. NIST. Dictionary of Algorithms and Data Structures. Algorithm. https://xlinux.nist.gov/dads/HTML/algorithm.html
  2. MIT OPENCOURSEWARE. Introduction to Algorithms, 6.006. Spring 2020. https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/
  3. PYTHON SOFTWARE FOUNDATION. Tutorial: mais ferramentas de controle de fluxo. https://docs.python.org/pt-br/3/tutorial/controlflow.html

Autoria

Study Mais