Questão de Programação — Conceitos básicos de programação — FGV 2026
Programação›Conceitos 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.
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.
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.
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.
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.
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!