programandoai

Você já pensa como quem programa

Todo o raciocínio deste curso agora vive numa única função: o jogo completo, guardado, testável e pronto para rodar com qualquer conjunto de palpites. É hora de olhar para trás e para frente.

Estudar esta lição interativa →

Juntando tudo o que foi construído na lição passada, dá para empacotar o jogo inteiro numa única função, seguindo exatamente a ideia de "dar nome a um passo" do Módulo 5. Ela recebe o número secreto e a lista de palpites, e devolve um resultado estruturado: se o jogador venceu, e em quantas tentativas.

function jogarAdivinhacao(secreto, palpites) {
  let tentativas = 0;
  let venceu = false;

  for (let i = 0; i < palpites.length; i++) {
    tentativas++;
    if (palpites[i] === secreto) {
      venceu = true;
      break;
    }
  }

  return { venceu: venceu, tentativas: tentativas };
}

console.log(jogarAdivinhacao(7, [3, 9, 7, 2]));
console.log(jogarAdivinhacao(7, [3, 9, 2]));

O jogo inteiro, testável com qualquer combinação de segredo e palpites.

Pare um instante e releia essa função procurando cada peça do curso: uma variável (tentativas) guardando um valor que muda; uma decisão (if) escolhendo um caminho; uma repetição (for) percorrendo os palpites; e uma função (jogarAdivinhacao) dando nome ao processo inteiro, com um return devolvendo o resultado. Nenhuma peça é nova; a novidade é só ver todas trabalhando juntas.

Pense em quando você aprendeu a andar de bicicleta: equilíbrio, pedalada e direção pareciam três coisas separadas e difíceis no início, até um dia em que, sem perceber exatamente quando, elas viraram uma coisa só, "andar de bicicleta". O mesmo aconteceu aqui: variável, decisão, repetição e função eram peças isoladas até este módulo, e agora são só "programar".

O que muda de uma linguagem para outra, e o que não muda

Se você abrir um livro de Python, Java ou C# amanhã, a palavra usada para criar uma variável pode mudar, a forma de escrever um laço pode ter outra pontuação, mas a ideia por trás de guardar um valor, escolher um caminho, repetir uma tarefa e nomear um passo é exatamente a mesma que você acabou de praticar aqui. É por isso que este curso não se chamava "JavaScript do zero": o JavaScript foi só o veículo. A lógica é o que fica.

Uma nota honesta sobre o que este curso não cobriu

Este curso te deu a base do raciocínio de programar, mas cada linguagem de verdade tem suas próprias particularidades: como ela lida com tipos de dado, como organiza projetos maiores, quais ferramentas e bibliotecas sua comunidade usa. Isso é normal e esperado: nenhum curso de fundamentos substitui a prática continuada numa linguagem específica. O que você levará daqui é a base que torna qualquer uma dessas linguagens mais fácil de aprender.

Complete a função jogarAdivinhacao(secreto, palpites): ela deve percorrer a lista de palpites em ordem, com um laço (for ou while), contando as tentativas, e parar com break assim que encontrar um palpite estritamente igual (===, mesmo valor e mesmo tipo) a secreto. Deve devolver um objeto { venceu, tentativas }, em que venceu é true se algum palpite acertou, e tentativas é quantos palpites foram necessários até parar (o total da lista, se nunca acertou).
function jogarAdivinhacao(secreto, palpites) {
  let tentativas = 0;
  let venceu = false;

  // percorra palpites, conte as tentativas e pare (break) no acerto

  return { venceu: venceu, tentativas: tentativas };
}

🧩 Este é um exercício com correção automática — abra no app para completá-lo e verificar.

Você chegou ao fim do curso de Lógica de Programação, e o mais importante: chegou sabendo pensar como quem programa, não só decorando comandos de uma linguagem. O próximo passo da trilha do programandoai é o curso de HTML, que já está aberto: sem cadeado e sem pré-requisito além do que você acabou de fazer. HTML descreve a estrutura de uma página (títulos, links, formulários) e não é programação em si; a lógica que você treinou aqui volta com tudo no curso de JavaScript, que vem logo depois de HTML e CSS. Se preferir, você pode ir direto a uma linguagem de programação: JavaScript e Python também estão abertos. Todo o raciocínio que você treinou aqui, variáveis, decisões, repetição, funções, coleções, debug, vale integralmente, seja qual for o caminho que você escolher.

← Voltar ao índice do curso