Seja este programa escrito em Javapublic class teste{ public...

Próximas questões
Com base no mesmo assunto
Q2768800 Arquitetura de Software

Seja este programa escrito em Java

public class teste

{ public static void main(String[] args) {

int n = 5;

int v[] = new int [n];

int i,j=2,g;

for (i=0; i<n; i++)

{ for (g=j-2; g<3; g++)

{ if (g==i) {

v [i] = i;}

else {

v [i] = 4;}}}

for (i=0; i<n; i++)

{System.out.printf ("%d", v[i]);}}}

Logo, a sua execução produz como resultado

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: D

Vamos entender por que a alternativa correta é a D. O programa dado é um exemplo clássico de laços aninhados em Java, onde o objetivo é preencher um vetor v com valores baseados em certas condições.

No início do programa, temos a declaração e inicialização de variáveis:

  • int n = 5; - Define o tamanho do vetor v como 5.
  • int v[] = new int[n]; - Cria um vetor v de inteiros com 5 posições.
  • int i, j = 2, g; - Declara as variáveis inteiras i, j (inicializada com 2) e g.

Vamos analisar o primeiro laço for:

for (i = 0; i < n; i++) {

Dentro deste laço, temos outro laço for:

for (g = j - 2; g < 3; g++) {

Esse laço interno itera de g = 0 até g < 3. Dentro deste laço, há uma condição if:

if (g == i) { v[i] = i; }

Se g for igual a i, o valor de v[i] será igual ao valor de i. Caso contrário,

else { v[i] = 4; }

Ou seja, se g não for igual a i, v[i] será igual a 4. Vamos ver como isso se aplica a cada iteração:

Para i = 0:

  • g = 0 -> (g == i -> v[0] = 0)
  • g = 1 -> (g != i -> v[0] = 4)
  • g = 2 -> (g != i -> v[0] = 4)

Para i = 1:

  • g = 0 -> (g != i -> v[1] = 4)
  • g = 1 -> (g == i -> v[1] = 1)
  • g = 2 -> (g != i -> v[1] = 4)

Para i = 2:

  • g = 0 -> (g != i -> v[2] = 4)
  • g = 1 -> (g != i -> v[2] = 4)
  • g = 2 -> (g == i -> v[2] = 2)

Para i = 3:

  • g = 0 -> (g != i -> v[3] = 4)
  • g = 1 -> (g != i -> v[3] = 4)
  • g = 2 -> (g != i -> v[3] = 4)

Para i = 4:

  • g = 0 -> (g != i -> v[4] = 4)
  • g = 1 -> (g != i -> v[4] = 4)
  • g = 2 -> (g != i -> v[4] = 4)

Agora, vamos imprimir os resultados com o segundo for:

for (i = 0; i < n; i++) { System.out.printf("%d", v[i]); }

Os valores do vetor v serão impressos na ordem: 4 4 2 4 4, confirmando que a alternativa correta é mesmo a D.

Explicando as alternativas incorretas:

A - 2 4 4 4 4: Incorreta porque v[0] não é 2, e sim 4.

B - 4 2 4 4 4: Incorreta porque v[1] não é 2, e sim 4.

C - 4 4 4 2 4: Incorreta porque v[3]} não é 2, e sim 4.

D - 4 4 2 4 4: Correta porque todos os valores foram atribuídos corretamente de acordo com a lógica do programa.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

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