Considere a classe Java OperacoesVetores demonstrada a segui...
Considere a classe Java OperacoesVetores demonstrada a seguir.
public class OperacoesVetores {
public static void main(String[] args) {
int[] v1 = new int[]{9,3,6,4,};
int[] v2 = new int[]{3,5,7,2,2,5};
int r1 = operacao (v1, v2);
}
public static int operacao1(int[] vetorA, int[] vetor B) {
int tam;
tam = vetorA.length < vetorB. length ? vetorA.length : vetorB.length;
int som = 0;
int i = 0;
while (i<tam) {
som += vetorA[i] + vetorB[i];
i++;
}
int[] vetorTemp;
vetorTemp = vetorA.length == tam ? vetorB : vetorA;
int mult = 0;
for (int j = i ; j< vetorTemp.length; j++) {
mult += vetorTemp[j];
}
return som * mult;
}
}
Ao final de sua execução, o valor da variável r1 será:
- 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: C - 273
Vamos entender por que a alternativa correta é a alternativa C, e por que as outras alternativas estão incorretas.
A questão envolve a análise de uma classe Java chamada OperacoesVetores. Para resolver a questão, é necessário compreender a lógica do método operacao1, que realiza operações em dois vetores de inteiros.
Primeiramente, vamos analisar o método operacao1:
1. Cálculo do tamanho mínimo:
tam = vetorA.length < vetorB.length ? vetorA.length : vetorB.length;
Esta linha define o tamanho mínimo entre os dois vetores. No caso de v1
(tamanho 4) e v2
(tamanho 6), o valor de tam
será 4.
2. Soma dos elementos até o tamanho mínimo:
while (i < tam) { som += vetorA[i] + vetorB[i]; i++; }
Aqui, somamos os elementos correspondentes de v1
e v2
até o tamanho mínimo. Vamos calcular essa soma:
- Índice 0: 9 + 3 = 12
- Índice 1: 3 + 5 = 8
- Índice 2: 6 + 7 = 13
- Índice 3: 4 + 2 = 6
A soma total é 12 + 8 + 13 + 6 = 39
.
3. Determinação do vetor temporário:
vetorTemp = vetorA.length == tam ? vetorB : vetorA;
Como vetorA.length
é igual ao valor de tam
(4), vetorTemp
será vetorB
.
4. Soma dos elementos restantes do vetor temporário:
for (int j = i; j < vetorTemp.length; j++) { mult += vetorTemp[j]; }
Como i
é 4, somamos os elementos a partir do índice 4 de vetorB
:
- Índice 4: 2
- Índice 5: 5
A soma total é 2 + 5 = 7
.
5. Multiplicação dos resultados:
return som * mult;
Finalmente, multiplicamos as somas obtidas: 39 * 7 = 273
.
Portanto, a variável r1
será igual a 273, tornando a alternativa C a correta.
Vamos analisar as alternativas incorretas:
A - 195: Esta alternativa não leva em consideração a lógica de multiplicação correta entre as somas dos elementos dos vetores.
B - 390: Esta alternativa poderia ser um erro de cálculo, onde talvez tenha-se duplicado a soma dos elementos, mas não corresponde ao resultado correto.
D - 78: Esta alternativa é um valor significativamente menor e não representa nenhum passo intermediário correto no cálculo.
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