Seja este programa escrito em Javapublic class teste{ public...
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
- Gabarito Comentado (1)
- Aulas (1)
- Comentários (0)
- Estatísticas
- Cadernos
- Criar anotações
- Notificar Erro
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 vetorv
como 5.int v[] = new int[n];
- Cria um vetorv
de inteiros com 5 posições.int i, j = 2, g;
- Declara as variáveis inteirasi
,j
(inicializada com 2) eg
.
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