Pular para o conteúdo principal

Questão de Programação — Assembly — FCC 2019

ProgramaçãoAssembly
Código
fc058042
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2019
Cargo
Técnico Judiciário - Tecnologia da Informação
As linguagens de programação
  1. Acomo Java e C# têm seus códigos fontes transformados em uma linguagem intermediária (específica de cada linguagem), que será interpretada pela máquina virtual da linguagem quando o programa for executado.
  2. Bcomo C e Ruby são compiladas estaticamente e seus códigos-fontes são transformados diretamente em linguagem de montagem ou assembler.
  3. Cdo tipo script como VBScript e Lua são utilizadas em aplicações web. No caso de sites do WordPress, por exemplo, os desenvolvedores criam plug-ins e usam o VB para solicitar o conteúdo. O código é executado como HTML, permitindo que os visitantes do site visualizem o conteúdo em seus navegadores.
  4. Dorientadas a objeto são todas compiladas e não interpretadas, por isso são consideradas de baixo nível, sendo as mais utilizadas para programação de sistemas embarcados ou aplicações que exijam acesso direto a registros da memória.
  5. Einterpretadas têm seu código-fonte traduzido por um programa tradutor ou assembly, que em seguida é executado pelo sistema operacional. Um exemplo disso é o Bytecode, que é uma linguagem que passa pelo processo de interpretação e, em seguida, é executada por um compilador.
Revelar gabarito e comentário

GabaritoA — como Java e C# têm seus códigos fontes transformados em uma linguagem intermediária (específica de cada linguagem), que será interpretada pela máquina virtual da linguagem quando o programa for executado.

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

Gabarito: letra A. A alternativa A descreve corretamente o funcionamento de linguagens como Java e C#: o código-fonte é compilado para uma linguagem intermediária (bytecode no Java, CIL no .NET) que é executada por uma máquina virtual (JVM, CLR). As demais alternativas contêm erros conceituais sobre compilação, interpretação e classificação de linguagens.

Característica

Java / C#

C

Ruby

VBScript / Lua

Linguagens OO em geral

Processo de execução

Compilado para bytecode/IL → executado por máquina virtual

Compilado estaticamente para código de máquina

Interpretado ou compilado para bytecode (YARV)

Interpretado (script)

Podem ser compiladas ou interpretadas

Nível da linguagem

Alto nível

Médio/alto nível

Alto nível

Alto nível

Alto nível (nenhuma é baixo nível)

Exemplo de uso

Aplicações multiplataforma

Sistemas operacionais, embarcados

Scripts, web (Rails)

Automação, jogos (Lua), web legado (VBScript)

Variado

Correção da descrição na alternativa

✅ Correta (A)

❌ Incorreta (B)

❌ Incorreta (B)

❌ Incorreta (C)

❌ Incorreta (D)

1Compiladas para intermediário
Java (bytecode → JVM)
C# (CIL → CLR)
2Compiladas para máquina
C (código objeto → linkedição)
C++ (código de máquina)
3Interpretadas
Ruby (YARV bytecode)
Python
JavaScript
4Script (domínios específicos)
VBScript (ASP clássico)
Lua (jogos/extensões)
Linguagens de programação
LEVELsoulevel.com.br
Linguagens de programação: Compiladas para intermediário (Java (bytecode → JVM), C# (CIL → CLR)); Compiladas para máquina (C (código objeto → linkedição), C++ (código de máquina)); Interpretadas (Ruby (YARV bytecode), Python, JavaScript); Script (domínios específicos) (VBScript (ASP clássico), Lua (jogos/extensões))

Alternativa A — ✅ Correta ⟵ GABARITO

Java e C# são linguagens compiladas para uma representação intermediária (bytecode/IL) que roda sobre uma máquina virtual. Isso permite portabilidade e gerenciamento de memória automático. O processo: fonte → compilador → bytecode → máquina virtual → execução.

Alternativa B — ❌ Incorreta

Afirma que C e Ruby são compiladas estaticamente para assembly. C é compilada estaticamente para código de máquina (não necessariamente assembly). Ruby é tipicamente interpretada (ou compilada para bytecode, como YARV), mas não compilada diretamente para assembly. Além disso, linguagens compiladas podem gerar código objeto que é linkeditado, não diretamente assembly.

Alternativa C — ❌ Incorreta

Diz que VBScript e Lua são usadas em aplicações web e que em WordPress desenvolvedores usam VB para solicitar conteúdo, executado como HTML. VBScript foi usado em ASP clássico, mas não é comum em WordPress. Lua é usado em jogos e extensões, não tipicamente web. Código script não é executado como HTML; HTML é estático. A descrição é confusa e imprecisa.

Alternativa D — ❌ Incorreta

"Orientadas a objeto são todas compiladas e não interpretadas, por isso são consideradas de baixo nível". Falso: linguagens OO podem ser compiladas (C++, Java) ou interpretadas (Python, Ruby). Nenhuma linguagem OO é considerada de baixo nível; baixo nível refere-se a assembly ou código de máquina. A afirmação é totalmente equivocada.

Alternativa E — ❌ Incorreta

"Interpretadas têm seu código-fonte traduzido por um programa tradutor ou assembly, que em seguida é executado pelo sistema operacional." Confunde conceitos: assembly é uma linguagem, não um tradutor. Interpretadores executam o código diretamente, sem traduzir para assembly. Bytecode não é executado por compilador, mas por uma máquina virtual. A descrição é incoerente.

PEGA ESSA DICA!

Para questões sobre classificação de linguagens, lembre-se do fluxo: código fonte → compilador → código objeto/bytecode → linker/máquina virtual → executável. Linguagens como Java e C# usam compilação para intermediária + VM. C é compilada para código de máquina nativo. Python/Ruby são interpretadas (ou compiladas para bytecode). Nunca confunda "compilada" com "baixo nível".

Gabarito: letra A.

Link permanente: /questoes/fc058042