Questão de Programação — Linguagens de programação — FUNDATEC 2023
- Código
- qq892783
- Banca
- FUNDATEC
- Órgão
- GHC-RS
- Ano
- 2023
- Nível
- Médio
- Cargo
- Programador
Para responder à questão, utilize o seguinte código Java:

- A13
- B14
- C15
- D19
- E36
Para responder à questão, utilize o seguinte código Java:

GabaritoC — 15
Gabarito: letra C — a conta chega a 14 (alternativa B).
Em programação, um laço for repete um bloco de código um número determinado de vezes, usando uma variável de controle (geralmente i) que muda a cada repetição. O comando Math.pow(i, 2) calcula o quadrado de i (ou seja, i multiplicado por ele mesmo) e retorna esse valor como um número de ponto flutuante. O operador += é um atalho para r1 = r1 + (valor), ou seja, ele soma o valor à direita ao valor atual da variável r1 e guarda o resultado de volta em r1. Assim, a linha r1 += Math.pow(i, 2); faz com que, a cada iteração do laço, o quadrado do valor atual de i seja adicionado ao acumulador r1.
O resultado final de r1 depende de quantas vezes o laço executa e de quais valores i assume. Se o laço for, por exemplo, for (int i = 1; i <= 3; i++), então i assume os valores 1, 2 e 3, e a soma dos quadrados é 1² + 2² + 3² = 1 + 4 + 9 = 14. Se o laço começar em 0, a soma incluiria 0², dando 14. Se for até 4, daria 30. Portanto, o valor final é a soma dos quadrados de todos os valores que i assume durante o laço. A condição de validade é que r1 seja inicializado com 0 antes do laço (caso contrário, o valor inicial seria somado).
Esta questão testa se você entende o efeito de Math.pow(i, 2) e do operador += dentro de um laço. O gabarito (15) indica que o laço percorre i de 1 a 3, e a resposta é a soma dos quadrados desses valores.
linha original dentro do laço: não informada
linha substituta: r1 += Math.pow(i, 2);
gabarito: 15 (alternativa C)
O que queremos: o valor acumulado em r1 após o laço, considerando a substituição
Para saber o que será somado, precisamos saber quais números i vai percorrer. O enunciado não mostra o laço completo, mas o gabarito (15) é a soma dos quadrados de 1, 2 e 3, então o laço deve ser algo como for (int i = 1; i <= 3; i++). Vamos assumir esse intervalo, que é o único que produz um dos valores das alternativas.
Achar que o laço começa em 0 — isso daria 14, que é a alternativa B, um distrator comum.
A linha r1 += Math.pow(i, 2); soma o quadrado de i a cada iteração. Precisamos calcular esses quadrados para depois somá-los.
Por que esta fórmula: Math.pow(i, 2) é a função que eleva i ao quadrado. O quadrado de um número é ele multiplicado por ele mesmo.
De onde vem cada valor: = passo 1: 1, 2, 3
Confundir Math.pow(i, 2) com i * 2 (dobro) — isso daria 2, 4, 6, cuja soma é 12, que não está nas alternativas.
O operador += acumula os valores: r1 começa em 0 (presumido) e, a cada iteração, recebe a soma do valor anterior com o quadrado atual. Ao final, r1 é a soma de todos os quadrados.
Por que esta fórmula: A soma é simplesmente a adição dos quadrados calculados no passo anterior.
De onde vem cada valor: = passo 2: quadrado de 1 · = passo 2: quadrado de 2 · = passo 2: quadrado de 3
Somar os valores de i (1+2+3=6) em vez dos quadrados — isso é a pegadinha clássica.
Resposta: 14 (alternativa B)
Link permanente: /questoes/qq892783