Pular para o conteúdo principal

Questão de Arquitetura de Software — Software — UERJ 2024

Arquitetura de SoftwareSoftware
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:
  1. 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
  2. Bdo usuário, qualquer que seja, é executado por meio do cumprimento de instruções obrigatoriamente armazenadas em sua unidade central de processamento
  3. 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
  4. 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.

Gabarito: letra D.

Link permanente: /questoes/qg366078