Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Preciso de ajuda para entender um código

Esse código foi feito em uma das aulas da lógica da programação, mas eu não entendi uma coisa. Essa parte do achou eu não entendi muito bem, por exemplo porque na variable coloca-se que é = false, outra coisa q n entendi é a diferença do uso do = para o == ainda em relação ao achou. Se alguém puder ajudar eu agradeço.

2 respostas
solução!

Olá Gabriel,

Em relação à variável que recebe false, você declara ela como uma variável booleana, isso significa que só existem 2 valores possíveis para ela: 0 e 1, ou true e false, ou 0V e 3,3V (em eletrônica) ou nível alto e nível baixo (portas lógicas), sempre nesses pares. O false torna a lógica mais fácil de entender nesse caso em específico, é como se você estivesse afirmando "Encontrei um número repetido!" e logo depois confirmando sua própria afirmação "não isso que eu disse é falso". Certo se voltarmos ao seu código, você verá que você declarou como falso antes de procurar na sua lista se realmente há número repetido, o que está certo pois afinal não foi encontrado ainda, seguindo o programa você vai fazer a verificação da lista, caso encontre um número repetido então você diz "Encontrei um número repetido!" e dessa vez é verdade, então você tem que confirmar "é verdade (achou = true)", o que eu faço agora com isso? não coloco na lista e sorteio outro número!

Em relação ao = e ao == é bem simples, e muito comum esta dúvida, nas linguagens de programação em geral, você tem que ter uma maneira de diferenciar uma comparação de igualdade com uma definição de igualdade, é como se com = você estivesse dizendo ao código "Isso é igual a isso !" e com == "Isso é igual a isso?". Nota a diferença entre '!' e '?' nas frases? então primeiro você disse 'achou' é igual a 'false' (achou = false) e disse que caso o número seja repetido o programa tem que mudar para 'achou' é igual a 'true' (achou = true), mas depois você pergunta afinal "achou é igual a false?" (achou == false) e seu código vai responder se sim ou não e executar aquilo que você pediu no if para sim e no else para não.

Espero ter ajudado!

Obrigado, ajudou sim