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