SóProvas


ID
1055917
Banca
CESPE / CEBRASPE
Órgão
STF
Ano
2013
Provas
Disciplina
Programação
Assuntos

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
Comentários
  • 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!

  • Quanto aos pontos que aparecem nas TAG HTML ("< . html>" em vez de "< html>"): eles não existiam na prova (aparentemente são um recurso ou problema do site) e devem ser desconsiderados.

    A questão original (nº 114) consta em: http://www.cespe.unb.br/concursos/stf_13/arquivos/STF13_002_06.pdf

  • Questão CORRETA!

    Para responder a questão, primeiro é necessário saber como o ternário funciona:

    condição ? true : false

    Na questão foi utilizado o operador % (resto da divisão). Com isso, caso tenha algum resto na divisão da variável i e j, será executado a instrução "true" e se o resto da divisão for 0 (zero), será executado a instrução false, pois não teve sobra.

    Portanto, será impresso na página a palavra "viva mais", pois no primeiro caso irá sobrar 5, true, (divisão de 5/10), e no segundo caso não irá sobrar, false, (6/2).

  • O lance é sacar que a função document.write(i % j ? " viva " : "mais "), da forma com foi escrita, sobrescreverá os valores impressos. Não fosse isso, a questão já estaria errada logo na primeira iteração, pois logo na na primeira passada será impresso "mais". Como a variável i se inicia com 5 e a j com 10, o resto da divisão de 5 por 10 é 0 (5 % 10). Assim o resultado é falso, o que imprimirá o valor "mais" logo na primeira iteração.

  • Questão pra pegar quem estudou pela W3Schools e acha que o document.write() vai apagar tudo e deixar só "mais" na segunda iteração. Aparentemente, isso só acontece quando o documento já foi totalmente carregado, o que não é o caso da questão

    https://www.w3schools.com/jsref/met_doc_write.asp