1
resposta

[Dúvida] Não entendi a diferença de acrescentar o numero++ no interior das {} do if (achou == false) ou deixa-lo fora.

Eu não entendi a diferença de acrescentar o numero++ no interior das {} do if (achou == false) ou deixa-lo fora.

Originalmente ele escreve da seguinte maneira:

if (achou == false) {
segredos.push(numeroAleatorio)

}
numero++`

Em seguida, ele diz que para adicionarmos +1 a variável numero se a variável achou receber um valor falso, então devemos inserir o numero++ no interior das {} do if

if (achou == false) {
segredos.push(numeroAleatorio)
numero++

}

Não entendi qual a diferença das duas ocasiões.

Pelo que eu entendi o break quebra minha estrutura de loop e reinicia o for. Então mesmo que eu ache o numero da lista com (achou=true) o comando de acrescentar +1 a variável número não chega, porque eu vou interromper meu código e as estruturas seguintes não serão lidas.

Na minha cabeça não faz diferença eu escrever o numero++ dentro ou fora da { } do if.

1 resposta

Olá, tudo bem?

Note, que nosso programa tem dois laços de repetição, o nosso while que deverá ser repetido o mesmo número de vezes contido em quantidade e o for, que irá evitar que os números gerados na nossa lista estejam repetidos.

O comando break, atua apenas no laço circunjacente a ele, logo, no programa será o for. Portanto, o programa ao chegar no comando achou=true; ele irá interromper apenas o laço for. Mas o while continuará funcionando normalmente, portanto se nós utilizássemos o numero++ fora das chaves ele também seria executado, "gastando" uma iteração, entende?

O incremento do número++ só deve acontecer na hipótese do número não ser encontrado, para aí sim adicionar um novo número na lista. Por isso, o incremento deve estar inserido em nosso if(achou == false).

Espero ter ajudado.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!