Pular para o conteúdo principal

Questão de Programação — Conceitos básicos de programação — FGV 2026

ProgramaçãoConceitos básicos de programação
Código
fg127358
Banca
FGV
Órgão
AL-RO
Ano
2026
Nível
Superior
Cargo
Analista Legislativo (Tecnologia da Informação - Banco de Dados)
Um desenvolvedor está escolhendo entre Python e C++ para implementar a camada de lógica de um novo serviço web que terá alto volume de requisições. A latência de execução é um fator crítico.Assinale a afirmativa correta a respeito da principal diferença de processamento entre um compilador e um interpretador.
  1. AUm interpretador traduz o código-fonte linha por linha e o executa imediatamente em tempo de execução, enquanto um compilador traduz todo o código-fonte para código de máquina ou bytecode em uma fase separada.
  2. BUm compilador sempre produz um código de máquina otimizado, enquanto um interpretador produz um bytecode que é executado por uma Máquina Virtual, sendo este sempre mais rápido.
  3. CLinguagens interpretadas exigem que o código seja reescrito sempre que a plataforma de hardware de destino for alterada, devido à sua dependência do sistema operacional.
  4. DA depuração é significativamente mais difícil em linguagens compiladas, pois os erros só são detectados após a execução completa do código de máquina.
  5. EUm interpretador é mais eficiente em ambientes de produção de alto volume, pois elimina a fase de compilação, reduzindo o tempo total de deploy.
Revelar gabarito e comentário

GabaritoA — Um interpretador traduz o código-fonte linha por linha e o executa imediatamente em tempo de execução, enquanto um compilador traduz todo o código-fonte para código de máquina ou bytecode em uma fase separada.

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”.

Compilador vs Interpretador

Gabarito: letra A. A principal diferença é que um interpretador traduz e executa o código-fonte linha por linha em tempo de execução, enquanto um compilador realiza a tradução completa do código para código de máquina ou bytecode em uma fase anterior, gerando um executável. Essa é a definição clássica e a alternativa A descreve corretamente o processo.

Característica

Compilador

Interpretador

Processo de tradução

Traduz todo o código-fonte em uma fase separada (gerando código de máquina ou bytecode)

Traduz e executa o código-fonte linha por linha em tempo de execução

Momento da execução

O executável gerado é executado posteriormente

A execução ocorre imediatamente após a tradução de cada linha

Desempenho típico

Geralmente mais rápido (código pré-traduzido)

Geralmente mais lento (tradução durante a execução)

Detecção de erros

Erros de sintaxe e muitos semânticos são detectados na compilação, antes da execução

Erros aparecem apenas quando a linha é executada

Portabilidade

Menos portátil (código de máquina dependente de plataforma)

Mais portátil (mesmo código roda em qualquer sistema com o interpretador)

Alternativa A — ✅ Correta ⟵ GABARITO

A afirmativa descreve com precisão o funcionamento típico de interpretadores e compiladores. Um interpretador processa o código linha a linha, executando cada instrução imediatamente. Já um compilador traduz todo o código-fonte em uma etapa separada, gerando um código de máquina ou bytecode que será executado posteriormente. Essa distinção é fundamental e cai com frequência em provas.

Alternativa B — ❌ Incorreta

Afirma que um compilador "sempre produz código de máquina otimizado" e que um interpretador produz bytecode "sendo este sempre mais rápido". Dois erros: (1) nem todo compilador otimiza o código; (2) interpretadores são geralmente mais lentos que código compilado, pois a tradução ocorre durante a execução. A relação de desempenho é inversa: compilado tende a ser mais rápido.

Alternativa C — ❌ Incorreta

Diz que linguagens interpretadas exigem reescrita do código ao mudar de plataforma. Na verdade, linguagens interpretadas são mais portáveis — o mesmo código pode rodar em qualquer sistema que possua o interpretador adequado. A dependência de hardware é menor, não maior.

Alternativa D — ❌ Incorreta

Afirma que "a depuração é significativamente mais difícil em linguagens compiladas, pois os erros só são detectados após a execução completa do código de máquina". É o oposto: em linguagens compiladas, erros de sintaxe e muitos erros semânticos são detectados na fase de compilação, antes da execução. Em interpretadas, os erros aparecem apenas quando a linha é executada, o que pode dificultar a depuração em alguns cenários.

Alternativa E — ❌ Incorreta

"Um interpretador é mais eficiente em ambientes de produção de alto volume, pois elimina a fase de compilação, reduzindo o tempo total de deploy." Embora a eliminação da compilação reduza o tempo de deploy, em produção o desempenho em execução é o fator crítico. Código compilado roda mais rápido, tornando o compilador mais adequado para alto volume. O interpretador sacrifica performance por flexibilidade.

PEGA ESSA DICA!

Na hora da prova, lembre-se do mnemônico IC — Interpretador: Imediato (executa linha a linha); Compilador: Converte todo o código antes. Questões de concurso adoram inverter esses papéis!

Link permanente: /questoes/fg127358