Na linguagem de programação Java, o comando de repetição whi...
while (expressão) { comando(s); }
Analise as tentativas de se simular o comportamento do while, usando outros comandos de repetição. Marque V para as tentativas que funcionam, ou F para as que não funcionam – seja por estarem logicamente erradas, seja por causarem erros de compilação ou execução ( ) if (expressão) { do comando(s); while (expressão); } ( ) if (expressão) { do comando(s); while (!(expressão)); } ( ) for (;expressão;) { comando(s); }
A sequência correta, de cima para baixo, é:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a D - V, F, V.
Para entender por que a alternativa D é a correta, precisamos analisar cada tentativa de simulação do comportamento do comando de repetição while
na linguagem de programação Java.
O primeiro bloco de código propõe uma estrutura que combina if
e do-while
da seguinte forma:
if (expressão) { do { comando(s); } while (expressão); }
Esta estrutura começa verificando a expressão com um if
. Se a expressão for verdadeira, o bloco de código dentro do do
será executado pelo menos uma vez, e depois continuará a ser executado enquanto a expressão no while
for verdadeira. Esta é a lógica de funcionamento do laço do-while
, que garante que os comandos sejam executados ao menos uma vez antes de verificar a condição, mas o if
externo garante que, se a condição for falsa desde o início, o bloco não será executado nenhuma vez, assim como no while
. Portanto, esse bloco de código simula corretamente o comportamento do while
, marcando-o como Verdadeiro (V).
O segundo bloco de código também utiliza if
e do-while
, porém, a condição do while
foi negada:
if (expressão) { do { comando(s); } while (!(expressão)); }
Neste caso, se a expressão inicial for verdadeira, o bloco dentro do do
será executado, mas depois que for executada a primeira vez, a condição negada no while
impedirá que o laço continue, independente da expressão original. Isso não simula corretamente um laço while
porque não permitirá múltiplas iterações baseadas na condição original, portanto, essa tentativa é Falsa (F).
O terceiro bloco de código apresenta uma estrutura de repetição for
sem inicialização e incremento:
for (;expressão;) { comando(s); }
Esta é uma forma válida de simular um while
usando for
. As partes de inicialização e incremento foram omitidas, deixando apenas a condição de continuação do laço, que é exatamente como o while
opera. Portanto, esta estrutura funciona da mesma maneira que um laço while
e é marcada como Verdadeiro (V).
Com base na análise dos blocos de código, a sequência correta, que simula o comportamento do laço while
usando outras estruturas de controle, é V, F, V, correspondendo à alternativa D.
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
while (expressão) -> A 'expressão' é a expressão lógica que será avaliada pelo computador para determinar se as instruções do bloco serão executadas ou não. Se a expressão for verdadeira, o bloco é executado. Se a expressão for falsa, o bloco não é executado.
! = negação
while (!(expressão)) -> O bloco não será execultado pois a expressão é falsa.
A Expressão causará um erro de execução
Gabarito Letra D
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo