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

Lógica programação I, aula 7 (repita tarefas):

<meta charset="UTF-8">
<script>

function pulaLinha() {
    document.write("<br><br>");
}

function mostra(frase) {
    document.write(frase);
    pulaLinha();
}

 var numeroPensado = Math.round(Math.random() * 10);
 var tentativas = 1;
 while ( tentativas <= 3){
     var chute = parseInt(prompt("Digite seu chute!"))
     if (chute == numeroPensado){
        mostra("Voce ACERTOU! O Numero pensado era " + numeroPensado);
     } else {
         mostra ("Voce ERROU !");
     }
     tentativas++;
 }

</script>

Nao entendi muito bem esse "tentativas ++". Nao entendi porque ele fica fora e nao entendi muito o ++. Alguem saberia explicar? Obrigado desde ja !! Abracos

4 respostas

O "tentativas++;" é uma forma resumida de

tentativas = tentativas + 1;

Indica que "tentativas" vai aumentar em uma unidade.

Isto é necessário porque quanto "tentativas" atingir o valor 4, o laço while não será mais repetido.

A variável "tentativas" está fora do if, mas está dentro do "while".

Ela funciona como "controlador" do laço.

O ++ server para incrementar, ou seja, se você tem a variavel $i = 0, toda vez que o loop rodar ele vai somar o valor anterior + 1 ou seja a variavel sempre tera um incremento de 1, assim ate a condição do loop ser verdadeira

solução!

Olá.

Quando trabalhamos com variáveis do tipo inteiro e desejamos incrementá-la, podemos utilizar dois sinais de (++) antes ou depois¹ do nome da variável para incrementar seu valor. No seu caso é depois, então o que está ocorrendo na linha "tentativa++" é que o valor armazenado na variável está sendo incrementado em 1. É uma forma mais fácil de escrever isso aqui:

tentativas = tentativas + 1;

Sacou? Só incremento de 1. Você poderia usar dois sinais de menos (--) para decrementar em 1.

Sobre estar fora do if/else é simples: essa variável serve para armazenar tentativas. Ou seja, independente se você acertou ou errou, o contador de tentativas tem que ser incrementado, logo não faz sentido ficar dentro do if/else, mas tem que ficar dentro o while, até porque essa variável que é a condição do while:

 while ( tentativas <= 3)

:)

Muito obrigado pela atencao !! Agora sim eu entendi !