var achou = false
var achou = false
Boa noite, eu entendi dessa forma. Declara a variável ACHOU para as condicionais saberem quando há número repetido ou não. O variável (var achou) já começa com false, pois entende-se que o número sorteado não é repetido, na verdade não sabemos ainda. Ai entra no FOR, vamos comparar cada número que temos na ARRAY segredos com o numero que foi gerado agora. No código temos: if (segredos[posicao] == numeroAleatorio). Se isso for verdade, a variável achou vai receber true (achou = true) e sai da condicional com o break.
O código continua com um outro IF. if (achou == false) , se isso for verdade vai entrar nessa condicional e executar a adição do número na ARRAY segredos, mas o nosso número gerado foi igual e como vimos no if anterior, o var achou agora é true, então a condição para entrar nesse segundo if não é atendida. Sendo assim, o código volta a ler o WHILE e sem alterar a variável numero.
Ou seja, achou = true, vai pular o if que adiciona um número no array e volta pro while.
Usando o modo debug da pra visualizar o passo a passo da leitura do código.
Explicação muito boa, hoje já não consigo absorver mais nada, pretende rever conteúdo dessa aula amanha, seu comentário ja me adiantou muito coisa que não peguei, obg. :)
Olá, Jonison.
Variáveis booleanas (lógicas) são aquelas em que você pode atribuir apenas dois valores: true (verdadeiro) ou false (falso).
Imagine que está escrevendo um programa em que precisa saber sobre a situação de uma porta: não existe entreaberto pro computador, ou a porta está aberta ou fechada (chamamos em lógica de Lei do Terceiro Excluído). Isso é muito prático. Imagine que a variável de status dos alunos é aprovado. Logo ela poderá ser booleana porque ou o aluno será aprovado ou reprovado, ficando claro pelo valor da variável.
aprovado = true: significa que o aluno foi aprovado. aprovado = false: significa que o aluno não foi aprovado (reprovado).
Não vi o problema completo ainda, mas pelo print do Matheus, faria as seguintes observações: