Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2024

ProgramaçãoLinguagens de programação
Código
ce175399
Banca
CESPE / CEBRASPE
Órgão
ITAIPU BINACIONAL
Ano
2024
Nível
Superior
Cargo
Profissional de Nível Universitário Júnior - Função: Engenheiro Eletrônico
Imagem associada para resolução da questãoAssinale a opção que corresponde ao resultado da execução do fragmento de código em linguagem C precedente.
  1. A500
  2. B400
  3. C300
  4. D200
  5. E100
Revelar gabarito e comentário

GabaritoA — 500

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Resolução

Gabarito: letra A — a conta chega a 500 — alternativa A.

A ideia por trás

Em linguagem C, uma expressão aritmética é avaliada seguindo regras de precedência e associatividade. Precedência define qual operação é feita primeiro quando há operadores diferentes; associatividade define a ordem quando há operadores de mesma precedência. Essas regras são fixas na linguagem e independem da ordem em que os operandos aparecem.

Na hierarquia de precedência do C, a multiplicação (*) tem precedência maior que a adição (+). Isso significa que, em uma expressão como a + b * c, a multiplicação é executada antes da adição, independentemente da posição. A associatividade da multiplicação e da adição é da esquerda para a direita, mas isso só importa quando há empate de precedência. O resultado final é o mesmo que se calcularmos primeiro o produto e depois a soma.

Esta questão testa exatamente essa regra: o candidato deve identificar a expressão no código e aplicar a precedência correta, evitando a pegadinha de somar antes de multiplicar.

O que a questão dá

  • código em linguagem C com expressão envolvendo multiplicação e adição

O que queremos: o valor impresso pelo programa

Passo 1 — Calcular a multiplicação primeiro

A expressão contém uma soma e uma multiplicação. Como a multiplicação tem precedência maior, ela deve ser executada antes da adição. Isso é uma regra fixa da linguagem C, não uma escolha.

Por que esta fórmula: A precedência de operadores em C define que * tem prioridade sobre +. Portanto, na expressão a + b * c, o produto b * c é calculado primeiro.

produto=b×cproduto = b \times c

De onde vem cada valor: bb = enunciado: 200 · cc = enunciado: 2

produto=200×2=400produto = 200 \times 2 = \boxed{400}
NÃO CAIA NESSA!

Não confundir a ordem: se você somar primeiro, obterá 600, que é o erro clássico.

Passo 2 — Somar o resultado ao termo restante

Depois de calcular o produto, a adição pode ser feita. Agora a expressão se torna uma soma simples, sem ambiguidade.

Por que esta fórmula: A adição é o operador de menor precedência, então ela é aplicada por último. A expressão original a + b * c vira a + (b * c).

resultado=a+produtoresultado = a + produto

De onde vem cada valor: aa = enunciado: 100 · produtoproduto = passo 1: 400

resultado=100+400=500resultado = 100 + 400 = \boxed{500}
NÃO CAIA NESSA!

Esquecer de usar o resultado do passo 1 e recalcular a multiplicação, ou somar antes de multiplicar.

Resposta: 500 — alternativa A

Link permanente: /questoes/ce175399