Módulo 14 - Lógica aplicada no mundo real
O jogo da adivinhação: seu primeiro jogo completo
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 02/07/2026
O que você vai aprender
- Montar o laço de tentativas que roda até o palpite acertar o segredo.
- Dar dicas de maior ou menor comparando palpite e número secreto.
- Contar as tentativas com o contador dentro do laço.
- Aplicar a estratégia do meio, que acerta 1 a 100 em até 7 palpites.
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: O jogo da adivinhação: seu primeiro jogo completo.
Os objetivos desta aula. Montar o laço de tentativas que roda até o palpite acertar o segredo. Dar dicas de maior ou menor comparando palpite e número secreto. Contar as tentativas com o contador dentro do laço. Aplicar a estratégia do meio, que acerta 1 a 100 em até 7 palpites.
Veja o essencial, parte por parte.
As regras do jogo (e por que ele ensina tanto). O jogo: o programa guarda um número secreto de 1 a 100 e o jogador chuta até acertar.
O jogo inteiro em pseudocódigo. O programa abaixo é o jogo completo.
A estratégia do meio: vencendo com lógica. Agora troque de lado: se você fosse o jogador, qual seria a melhor estratégia?
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
As regras do jogo (e por que ele ensina tanto)
Todo curso de lógica do mundo passa pelo jogo da adivinhação, e não é por tradição vazia: ele é o menor programa que junta TODAS as peças fundamentais de uma vez. Tem variável guardando o segredo, entrada e saída conversando com o jogador, comparação decidindo a dica, laço sustentando a partida e contador medindo o desempenho. É também o primeiro programa que dá vontade de mostrar para alguém, e essa vontade importa: sistema que diverte é sistema que você termina.
As regras cabem em três linhas. O programa escolhe um número secreto entre 1 e 100. O jogador dá um palpite; se errar, recebe a dica “o secreto é maior” ou “o secreto é menor” e chuta de novo. Quando acerta, o programa anuncia a vitória com o total de tentativas. Repare que a dica é o coração do jogo: sem ela, seria loteria pura, com até 100 chutes no escuro. Com ela, cada erro vira informação, e é aí que a lógica entra em cena.
O jogo inteiro em pseudocódigo
O programa abaixo é o jogo completo. A condição do laço usa o operador “diferente de” (escrito <>), que você conheceu no módulo 6: enquanto o palpite for diferente do secreto, a partida continua. Dentro do laço, a comparação escolhe a dica e o contador soma a tentativa. Note um detalhe de arquitetura: o primeiro palpite é lido ANTES do laço, para a condição já ter o que comparar na primeira volta.
secreto <- 42 // na versão final, um sorteio entre 1 e 100
tentativas <- 1
escreva("Chute um número de 1 a 100:")
leia(palpite)
enquanto palpite <> secreto faça // <> significa "diferente de"
se palpite < secreto então
escreva("O secreto é MAIOR. Tente de novo:")
senão
escreva("O secreto é MENOR. Tente de novo:")
fim
leia(palpite)
tentativas <- tentativas + 1
fim
escreva("Acertou! O número era ", secreto, ". Total: ", tentativas, " tentativas.")
// Palpites 50, 30, 42: dica MENOR, dica MAIOR e vitória em 3 tentativas.O jogo da adivinhação: laço de tentativas, dica por comparação e contador de desempenho.
🎮 Jogo da aula
Monte a partida
Os passos do jogo da adivinhação vêm embaralhados. Toque na ordem em que o programa os executa, do primeiro ao último.
Dois cuidados de quem já sofreu com esse jogo. Primeiro: a leitura do palpite DENTRO do laço é obrigatória; sem ela, o programa compara o mesmo palpite para sempre, e você reencontra o laço infinito do módulo 9. Segundo: o contador começa em 1, não em 0, porque o primeiro palpite já foi dado antes do laço. Rodar um teste de mesa com uma partida curta (palpites 50 e 42, por exemplo) confirma os dois pontos em menos de um minuto.
A estratégia do meio: vencendo com lógica
Agora troque de lado: se você fosse o jogador, qual seria a melhor estratégia? Chutar 1, 2, 3, 4 em sequência funciona, mas pode levar 100 tentativas. O caminho esperto é chutar sempre o MEIO do intervalo possível. Comece com 50: a dica “é maior” descarta de uma vez os números de 1 a 50, e o intervalo cai pela metade. Chute o meio do que sobrou (75), e a metade da metade some. Seguindo assim, 100 números viram 50, 25, 13, 7, 4, 2 e 1: no máximo 7 palpites para acertar qualquer segredo.
| Palpite | Dica do programa | Intervalo que sobra |
|---|---|---|
| 50 | é MAIOR | 51 a 100 |
| 75 | é MENOR | 51 a 74 |
| 62 | é MAIOR | 63 a 74 |
| 68 | é MAIOR | 69 a 74 |
| 71 | é MAIOR | 72 a 74 |
| 73 | acertou! | partida fechada em 6 palpites |
Uma partida real contra o secreto 73: cada palpite pelo meio corta o intervalo restante pela metade.
Essa ideia tem nome e fama: é a intuição da busca binária, uma das técnicas mais usadas da computação. É assim que você procura um nome na lista de contatos sem ler todos, e é assim que sistemas acham um registro no meio de milhões em frações de segundo. Dobrar o tamanho do problema custa apenas UM palpite a mais: de 1 a 200 são 8 palpites, de 1 a 1000, apenas 10. Guarde essa sensação de corte pela metade; ela reaparece em qualquer carreira que envolva dados.
Teste rápido
Por que chutar o meio do intervalo é melhor que chutar 1, 2, 3 em sequência?
Perguntas frequentes
- Como o programa sorteia o número secreto de verdade?
- As linguagens reais têm uma função de número aleatório (random, em geral) que devolve um valor dentro do intervalo pedido. No pseudocódigo do curso, fixamos o secreto para o teste de mesa ficar previsível. A lógica do jogo não muda em nada: só a primeira linha troca.
- Por que o primeiro palpite é lido antes do laço?
- Porque a condição do ENQUANTO compara palpite com secreto já na primeira volta, e comparar uma variável que nunca recebeu valor é um erro clássico. Ler antes garante que a condição sempre tem material para trabalhar. É o mesmo padrão do validador da primeira aula deste módulo.
- O que acontece se eu esquecer o leia(palpite) dentro do laço?
- O laço compara o mesmo palpite para sempre e nunca termina: é o laço infinito do módulo 9 em pessoa. O sintoma é a mesma dica repetida sem parar. A regra prática: todo laço precisa de algo que mude a condição por dentro, e aqui esse algo é a nova leitura.
- Dá para limitar o número de tentativas do jogador?
- Dá, e é um ótimo exercício: acrescente à condição do laço um limite, como “enquanto palpite <> secreto E tentativas < 10”. Depois do laço, um SE decide entre a mensagem de vitória e a de derrota. É o mesmo padrão do caixa eletrônico da próxima aula, que bloqueia o cartão após 3 senhas erradas.
- A estratégia do meio funciona se o intervalo não for 1 a 100?
- Funciona em qualquer intervalo ordenado. A conta é sempre a mesma: o número de palpites necessários é quantas vezes você consegue dividir o tamanho do intervalo por 2 até sobrar 1. De 1 a 1000 são 10 palpites; de 1 a um milhão, apenas 20. O crescimento é absurdamente lento, e é isso que a torna poderosa.
- Esse jogo tem alguma utilidade fora do estudo?
- O laço de tentativas com dica aparece em softwares reais o tempo todo: é a senha com contagem de erros, o afinador de instrumento que diz “aperte mais” ou “solte”, o teste que estreita um defeito entre duas versões de um programa. Você treinou num jogo o padrão que vai reusar em ferramentas sérias.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.