Questão de Arquitetura de Software — Software — UERJ 2024
Arquitetura de Software›Software
Código
qg366078
Banca
UERJ
Órgão
UERJ
Ano
2024
Nível
Médio
Cargo
Técnico em Tecnologia da Informação - Programador de Sistemas
Em relação às linguagens de programação, aos compiladores e aos interpretadores, é correto afirmar que um programa:
Acapaz de traduzir as instruções em linguagem de baixo nível para instruções em linguagem de máquina, de uma só vez, é denominado interpretador
Bdo usuário, qualquer que seja, é executado por meio do cumprimento de instruções obrigatoriamente armazenadas em sua unidade central de processamento
Cinterpretado tende a ser executado mais rapidamente que o seu correspondente compilado, por não exigir conversão para linguagem de máquina em tempo de execução
Descrito em linguagem de alto nível necessita de dois processos para ser executado, que são a submissão a um compilador e o procedimento interativo realizado por um interpretador
Revelar gabarito e comentário▾
GabaritoD — escrito em linguagem de alto nível necessita de dois processos para ser executado, que são a submissão a um compilador e o procedimento interativo realizado por um interpretador
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”.
Linguagens de programação: compiladores e interpretadores
Gabarito: letra D. Um programa escrito em linguagem de alto nível tipicamente passa por dois processos: a compilação (tradução para um código intermediário ou de máquina) e a interpretação (execução interativa por um interpretador ou máquina virtual). Esse modelo é comum em linguagens como Java (compilada para bytecode executado pela JVM) e C# (compilada para IL executado pelo CLR). Embora nem toda linguagem de alto nível exija ambos os passos (ex.: C é compilado diretamente para código de máquina), a afirmação reflete o processo adotado por muitas linguagens modernas.
Alternativa A — ❌ Incorreta
A definição dada é a de compilador, não de interpretador. O compilador traduz todo o código-fonte em linguagem de alto nível para linguagem de máquina de uma só vez (antes da execução). Já o interpretador traduz e executa o código linha por linha, de forma interativa.
Alternativa B — ❌ Incorreta
As instruções de um programa não são armazenadas na CPU, mas sim na memória principal. A CPU apenas busca e executa instruções que estão na memória. Além disso, o termo "obrigatoriamente" é falso.
Alternativa C — ❌ Incorreta
Na verdade, o programa compilado tende a ser executado mais rapidamente que o interpretado, pois já está em linguagem de máquina. O interpretado precisa converter cada instrução em tempo de execução, o que causa sobrecarga.
Alternativa D — ✅ Correta ⟵ GABARITO
Muitos programas em linguagens de alto nível passam por uma compilação inicial (gerando um código intermediário) e depois são executados por um interpretador (ou máquina virtual) que realiza a execução interativa. Esse é o caso, por exemplo, de Java com a JVM. A afirmativa reconhece essa combinação de processos.
NÃO CAIA NESSA!
A alternativa A inverte os papéis de compilador e interpretador, pegadinha clássica. A alternativa C inverte a relação de desempenho: o compilado é mais rápido.