Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FGV 2024

ProgramaçãoLinguagens de programação
Código
fg085495
Banca
FGV
Órgão
INPE
Ano
2024
Nível
Superior
Cargo
Tecnologista Júnior I - Desenvolvimento de Software Embarcado
Uma linguagem de computador é uma notação que permite aos programadores expressarem instruções e algoritmos em um formato que pode ser entendido e executado por um computador. As linguagens de computador são projetadas para serem precisas, eficientes e expressivas o suficiente para descrever uma ampla gama de operações e processos computacionais.Com relação à verificação de sintaxe do compilador, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.( ) Tem como saída um arquivo executável que pode ser executado em um computador.( ) Utiliza instruções chamadas pseudo instruções.( ) Tem como saída um arquivo de objeto em linguagem de máquina ou um programa em linguagem assembly.( ) É responsável por traduzir uma versão simbólica de instruções em sua versão binária.( ) Uma de suas funções é a otimização do código.As afirmativas são, respectivamente,
  1. AV – F – V – V – F.
  2. BF – F – F – F – V.
  3. CV – V – F – F – V.
  4. DF – F – V – F – V.
  5. EF – F – F – V – V.
Revelar gabarito e comentário

GabaritoD — F – F – V – F – V.

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

Verificação de sintaxe no compilador

Gabarito: D (F – F – V – F – V). A sequência correta, segundo a banca, é Falsa, Falsa, Verdadeira, Falsa, Verdadeira. Apesar de o enunciado mencionar "verificação de sintaxe", as afirmativas tratam de saídas e funções do compilador como um todo, e o gabarito considera o compilador completo.

1ª afirmativa — ❌ Falsa

"Tem como saída um arquivo executável que pode ser executado em um computador." A verificação de sintaxe (análise sintática) gera uma árvore sintática abstrata (AST), não um executável. O arquivo executável é produzido apenas após as fases de tradução completa (compilação, montagem e ligação). Portanto, a afirmativa é falsa.

2ª afirmativa — ❌ Falsa

"Utiliza instruções chamadas pseudo instruções." Pseudo instruções são diretivas do montador (assembler), como .data, .text, etc. Não são utilizadas na verificação de sintaxe do compilador. O compilador lida com tokens da linguagem de alto nível.

3ª afirmativa — ✅ Verdadeira

"Tem como saída um arquivo de objeto em linguagem de máquina ou um programa em linguagem assembly." Considerando o compilador como um todo, sua saída final é código assembly ou código objeto (linguagem de máquina). A verificação de sintaxe é apenas uma fase, mas a afirmativa é interpretada como o resultado final do compilador.

4ª afirmativa — ❌ Falsa

"É responsável por traduzir uma versão simbólica de instruções em sua versão binária." Essa é a função do montador (assembler). O compilador traduz linguagem de alto nível para assembly ou código objeto, mas a tradução simbólica para binário é do assembler.

5ª afirmativa — ✅ Verdadeira

"Uma de suas funções é a otimização do código." A otimização de código é uma fase importante do compilador, que ocorre após a geração de código intermediário e antes da geração de código final.

Sequência completa: F, F, V, F, V. Portanto, a alternativa correta é a D.

NÃO CAIA NESSA!

O enunciado fala em "verificação de sintaxe", levando o candidato a focar apenas nessa fase. No entanto, as afirmativas abrangem todo o processo de compilação. Além disso, confunde-se compilador com montador nas afirmativas 2 e 4. Fique atento ao escopo da questão!

PEGA ESSA DICA!

Para não errar, lembre-se das fases: análise léxica, sintática, semântica, geração de código intermediário, otimização e geração de código final. O montador (assembler) é uma etapa posterior que traduz assembly para binário. Pseudo-instruções são do montador, não do compilador.

Link permanente: /questoes/fg085495