Considerando que o código precedente tenha sido desenvolvido...

Próximas questões
Com base no mesmo assunto
Q2471706 Programação
Imagem associada para resolução da questão


Considerando que o código precedente tenha sido desenvolvido em Java, assinale a opção em que é apresentado o resultado esperado ao final de sua execução.
Alternativas

Comentários

Veja os comentários dos nossos alunos

System.out.println("Resultado");

Imprime Resultado

Condição:

  • Se o X for par, imprime

  • Se o X for Ímpar, falso!

(independente da condição, ele vai incrementar 1)

X = 0 (par) Imprime

X = 1 (ímpar) falso

X = 2 (par) Imprime

X = 3 (ímpar) falso

X = 4 (par) Imprime

X = 5 (ímpar) falso

X = 6 (par) Imprime

X = 7 (ímpar) falso (termina o loop)

Resultado

0

2

4

6

## Decodificando o código Java: Imprimindo Números Ímpares

Este código Java demonstra o uso de um loop `while` e da instrução `continue` para imprimir números ímpares de 0 até 6. Vamos analisar o código passo a passo:

**1. Classe Principal:**

```java

public class Main {

```

* Declara a classe `Main` como a classe principal do programa.

**2. Método Principal:**

```java

public static void main(String[] args) {

```

* Declara o método `main`, que é o ponto de entrada da aplicação.

**3. Inicialização da Variável:**

```java

int x = 0;

```

* Declara e inicializa a variável `x` do tipo inteiro com o valor 0.

**4. Imprimindo o Título:**

```java

System.out.println("Resultado");

```

* Imprime a string "Resultado" na console.

**5. Loop While:**

```java

while (x < 7) {

 // Código dentro do loop

 ++x;

}

```

* Inicia um loop `while` que continua executando o código dentro do bloco `while` desde que a condição `x < 7` seja verdadeira.

**6. Verificação de Número Par:**

```java

if (x % 2 != 1) {

 ++x;

 continue;

}

```

* Dentro do loop, a condição `x % 2 != 1` verifica se `x` é par.

  * `x % 2` calcula o resto da divisão de `x` por 2. Se o resto for 0, `x` é par.

  * `!= 1` verifica se o resto é diferente de 1 (ou seja, se `x` é diferente de ímpar).

* Se `x` for par, o código dentro do bloco `if` é executado:

  * `++x` incrementa o valor de `x` em 1.

  * `continue` pula para a próxima iteração do loop `while`, ignorando o restante do código dentro do loop para a iteração atual.

**7. Imprimindo o Número Ímpar:**

```java

System.out.println(x);

```

* Se a condição `x % 2 != 1` for falsa (ou seja, `x` é ímpar), este código é executado:

  * `System.out.println(x)` imprime o valor atual de `x` na console.

**8. Incrementando após Impressão:**

```java

++x;

```

* Independente de `x` ser par ou ímpar, `++x` incrementa o valor de `x` em 1 no final de cada iteração do loop.

**9. Resumo do Funcionamento:**

O loop `while` itera até que `x` seja igual a 7. Dentro do loop, se `x` for par, ele é incrementado e a próxima iteração é iniciada (pulando a impressão). Se `x` for ímpar, ele é impresso e então incrementado. 

**10. Saída Esperada:**

O código irá imprimir os seguintes números ímpares na console:

```

1

3

5

```

Fonte: Gemini

Bizu de questões assim, o operador % é o resto da divisão. Empregado para saber se o número é par ou ímpar. Se x%2 = 0 siginifica que x é par, caso x%2 = 1 siginifica que x é ímpar.

Claro, o bizu não vale de nada se não souber mais de lógica de programação. Força e bons estudos !

Uma conceito importante para responder questões como essa é saber diferenciar X++ de ++X.

X++ retorna o valor antes do incremento.

++X retorna o valor após o incremento.

Dito isso, como a primeira divisão retorna um módulo diferente de 1 (0/2 tem resto 0), X é incrementado antes da exibição na linha 10. Com isso, já é possível eliminar as alternativas A, D e E.

Após a primeira execução, em que X vale 1, deve-se incrementar X ANTES da nova execução (o comando "continue" faz a execução sair do if).

Assim, após imprimir 1, X passa a valer 2 quando, então, a segunda execução é realizada.

Desse modo, a segunda execução vai imprimir o valor 3 (2 da primeira execução, mais o incremento da segunda).

Com o segundo incremento da segunda execução (após imprimir 3), vamos para a terceira execução, que incrementará X em mais um.

Assim, será impresso 5, fazendo com que cheguemos ao gabarito da questão (RESULTADO, 1, 3 e 5).

Clique para visualizar este comentário

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