No que se refere à programação Java e Java Script, julgue os...

Próximas questões
Com base no mesmo assunto
Q351970 Programação
No que se refere à programação Java e Java Script, julgue os itens

Se o código HTML/Java Script mostrado abaixo for executado em um navegador Internet compatível com Java Script, o resultado obtido será viva mais.
<html>
      <script>
              var i=5;
              var j=10;
              do {
                  document.write(i % j ? " viva " : "
mais ");
                  j=2;
                  i++;
          }
          while (i<=6);
          </script>
</html>
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - certo

Para compreender o motivo pelo qual a resposta correta é 'C - certo', é necessário analisar o trecho de código HTML/JavaScript fornecido e entender os conceitos de JavaScript envolvidos, principalmente relacionados à estrutura de repetição 'do...while' e à operação de módulo '%'.

Primeiramente, o código inicia a execução declarando duas variáveis, 'i' e 'j', com os valores 5 e 10, respectivamente. A estrutura de repetição 'do...while' garante que o bloco de código dentro dela seja executado pelo menos uma vez, independentemente da condição especificada na cláusula 'while'.

Dentro do bloco 'do', o código utiliza o método 'document.write()' para escrever na página HTML. A expressão 'i % j ? " viva " : "mais "' é um operador ternário, que funciona como uma versão compacta de uma instrução 'if...else'. A questão aqui é verificar o resultado do módulo de 'i' por 'j', que é uma operação que retorna o resto da divisão de 'i' por 'j'.

Na primeira passagem pelo loop, 'i' é 5 e 'j' é 10. O resultado de 'i % j' é 5, pois 5 dividido por 10 não tem quociente inteiro e tem resto 5. Como 5 é verdadeiro (qualquer valor diferente de zero em JavaScript é considerado verdadeiro), a expressão 'i % j ? " viva " : "mais "' retorna " viva ". Após isso, 'j' é atualizado para 2 e 'i' é incrementado para 6.

Agora, a condição 'while (i <= 6)' ainda é verdadeira, pois 'i' é exatamente 6. O loop executa mais uma vez, e agora 'i % j' é '6 % 2', que é 0, pois 6 é divisível por 2. Neste caso, o resultado do operador ternário é "mais ", já que o resto é 0, que é considerado falso.

Após esta execução, 'i' é incrementado para 7, tornando a condição 'while (i <= 6)' falsa e finalizando o loop. O resultado escrito na página é " viva mais ", que corresponde ao resultado esperado pelo enunciado da questão.

A resposta correta é, portanto, 'C - certo', pois quando o código é executado, ele escreve " viva mais " na página HTML do navegador.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

O funcionamento do operador ternário (condição)?(operação 1):(operação 2) é o seguinte: a condição é avaliada se for verdadeira - valores diferentes de 0 - a (operação 1) é executada, caso contrário, a (operação 2) será executada. 

Assim, na primeira iteração do fluxo do i%j ==> (5%10) tem resto 5 gerando verdadeiro como resposta do operador, daí será escrito "viva", na sequência, i++ = 6 e j=2, agora a operação i%j ==> (6%2) será 0, enviando uma resposta de  falso ao operador que escreverá "mais".

Questão correta. Mas achei estranho o ponto no meio das tags < . html>

bem, eu rodei no meu navegador isso, e sabe o que deu?

<.html> <.script> var i=5; var j=10; do { document.write(i % j ? " viva ":" mais "); j=2; i++; } while (i<=6); <./script> <./html>



código copiado e colado em documento *.html. Saida:

"<.html> <.script> var i=5; var j=10; do { document.write(i % j ? " viva ":" mais "); j=2; i++; } while (i<=6); <./script> <./html>"

Questão ERRADA!!!!! ponto final....

Para o código rodar devem ser retirados os "." das tags html...

Se o código da questão for executado no navegador, o resultado, de fato não será "viva mais" mas sim a impressão de todo o código na pagina, portanto, a questão está errada e isso se dá pela presença do ".' (ponto) antes dos marcadores html e script. 

Na prática, para que o código javascript funcione basta retirar o (.) do trecho ".script" e "./script" e para que o somente texto "viva mais" seja exibido, basta retirar o (.) do trecho ".html" e "./html", portanto, se não houve erro no momento de trazer esta questão da prova para este site a questão está totalmente errada!

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo