Módulo 5 - Contas dentro do algoritmo
Expressões que misturam tudo: do problema em português à fórmula que funciona
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 02/07/2026
O que você vai aprender
- Traduzir um problema em português para uma expressão aritmética.
- Aplicar o método dos 4 passos: dados, nomes, expressão e teste.
- Calcular porcentagens com os operadores que você já tem: valor * 10 / 100.
- Validar uma fórmula testando com números fáceis de conferir.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Expressões que misturam tudo: do problema em português à fórmula que funciona.
Os objetivos desta aula. Traduzir um problema em português para uma expressão aritmética. Aplicar o método dos 4 passos: dados, nomes, expressão e teste. Calcular porcentagens com os operadores que você já tem: valor * 10 / 100. Validar uma fórmula testando com números fáceis de conferir.
Veja o essencial, parte por parte.
Traduzir é a palavra certa. Montar uma expressão é traduzir: o problema fala português, a fórmula fala operadores.
A conta do restaurante, linha por linha. Vamos executar o método completo no problema mais brasileiro que existe: fechar a conta da mesa.
O teste que pega a fórmula errada. Porcentagem somada em vez de aplicada: 10% de taxa não é total + 10, é total + total * 10 / 100.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Traduzir é a palavra certa
Até aqui as aulas entregaram a expressão pronta e pediram o resultado. A vida real inverte o jogo: o problema chega em português (“divida a conta com a taxa de serviço entre os amigos”) e a expressão é você quem escreve. Essa tradução é a habilidade que separa quem faz curso de quem resolve problema, e ela tem método. Não é dom: é um caminho de quatro passos que você repete até virar reflexo, exatamente como fez com as instruções claras do módulo 1.
- Liste os dados do problema: o que eu sei? (total da conta, número de pessoas, percentual da taxa)
- Dê a cada dado uma variável com nome que se explica: total, pessoas, taxa.
- Monte a expressão com os operadores, usando parênteses para impor a ordem do problema.
- Teste com números fáceis: invente um caso que você resolve de cabeça e confira se a fórmula chega no mesmo lugar.
O passo 4 merece defesa antes de você se sentir tentado a pulá-lo. Uma fórmula errada não avisa: roda, devolve número e segue o baile, como a média 11 da aula passada. O único alarme disponível é a comparação com um resultado que você conhece. Conta de 100 reais, 10% de taxa, 2 pessoas: de cabeça, 110 dividido por 2 dá 55 para cada. Se a sua expressão devolver outra coisa com esses números, o bug apareceu antes de causar dano. Teste barato, proteção enorme.
A conta do restaurante, linha por linha
Vamos executar o método completo no problema mais brasileiro que existe: fechar a conta da mesa. O consumo deu 180 reais, a casa cobra 10% de serviço e a mesa tem 4 pessoas. Dados listados, nomes dados, agora a expressão. Dá para escrever tudo numa linha só, mas repare como a versão em passos nomeados abaixo se explica sozinha: cada linha responde uma pergunta pequena, e o teste de mesa fica trivial.
leia(total)
leia(pessoas)
servico <- total * 10 / 100
// com total 180: 18
conta_final <- total + servico
// 180 + 18 = 198
por_pessoa <- conta_final / pessoas
// 198 / 4 = 49,5
escreva(por_pessoa)
// a tela mostra: 49,5O método dos 4 passos aplicado: cada linha é uma pergunta pequena respondida.
🎮 Jogo da aula
Monte o algoritmo da mesa
Os passos do algoritmo que divide a conta do restaurante foram embaralhados. Toque na ordem correta, do primeiro ao último.
Mais dois exemplos rápidos para o seu repertório de traduções. Desconto de 25% numa peça de 80 reais: preco_final <- preco - preco * 25 / 100, que dá 60. Média ponderada da escola, em que a prova vale peso 3 e o trabalho vale peso 2: media <- (prova * 3 + trabalho * 2) / 5. Repare nos parênteses da média: sem eles, a divisão por 5 atingiria só o trabalho * 2, e o boletim voltaria a mentir. Precedência e tradução andam sempre juntas.
O teste que pega a fórmula errada
Fórmula montada não é fórmula pronta: é fórmula candidata. A promoção acontece no teste com números conhecidos, e a escolha dos números é uma pequena arte. Prefira valores que tornam a conta de cabeça imediata: total 100 (porcentagens viram leitura direta), 2 pessoas (dividir por 2 qualquer um confere), notas 10 e 10 (média tem que dar 10). Se a média ponderada de duas notas 10 devolver 12, você achou o bug em dez segundos, sem depurador, sem sofrimento.
Teste rápido
Uma loja dá 20% de desconto num produto de preco reais. Qual expressão devolve o preço final?
Perguntas frequentes
- Devo escrever a expressão numa linha só ou quebrar em passos?
- As duas formas dão o mesmo resultado; a diferença é manutenção. Passos nomeados (servico, conta_final, por_pessoa) se explicam sozinhos e facilitam o teste de mesa, então o curso prefere assim. A linha única tem lugar quando a conta é curta e o nome da variável de destino já conta a história.
- Como calculo porcentagem se não existe operador de %?
- Traduzindo a definição: N% de um valor é valor * N / 100. Acréscimo de N% é valor + valor * N / 100; desconto é com menos. O símbolo % existe em linguagens reais, mas lá ele é o operador de RESTO (o nosso mod), o que confunde muita gente. No pseudocódigo evitamos a armadilha escrevendo a conta por extenso.
- E se o problema tiver dados que eu não conheço ainda?
- É o caso normal: total e pessoas chegam pelo leia, como no módulo 4. A expressão não precisa dos valores para ser escrita, só dos nomes. Essa é a graça da variável: você projeta a conta uma vez e ela funciona para qualquer mesa, qualquer conta e qualquer número de amigos.
- Testar com números fáceis não é trapaça? O programa vai rodar com números difíceis.
- A fórmula não sabe se o número é fácil: os passos são os mesmos para 100 e para 187,43. O teste fácil confere a ESTRUTURA da expressão (ordem, parênteses, operadores), que é onde moram os bugs. Números difíceis só dificultam a SUA conferência, sem testar nada a mais. Casos extremos, como zero pessoas, são outro tipo de teste, que o módulo 13 formaliza.
- Existe expressão certa única para cada problema?
- Não. preco - preco * 20 / 100 e preco * 80 / 100 devolvem o mesmo preço final, por caminhos diferentes. As duas passam no teste dos números fáceis, e as duas estão certas. Entre versões corretas, escolha a que um colega entenderia mais rápido: código se escreve uma vez e se lê muitas.
- Quando entra o resto (mod) nessas traduções?
- Quando o problema pergunta por sobra, ciclo ou divisibilidade. Dividir a conta é /, empacotar ovos é div, e saber quantos ovos ficam de fora é mod. A próxima aula é inteira sobre as traduções que só o mod resolve: par ou ímpar, troco em notas, rodízio de placas e ciclos de calendário.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.