Buscar

COMPILADORES 2 Simulado AV

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

1a 
 Questão 
 
 
Os compiladores são responsáveis por abstrair a complexidade da programação e 
proporcionar uma vida mais tranquila para os desenvolvedores. Sobre a análise 
léxica e sintática executadas pelos compiladores, assinale a opção correta. 
 
 
Os analisadores léxico e sintático somente se comunicam via tabela 
de simbolos. 
 Um analisador léxico gera a entrada para o analisador sintático. 
 
O analisador sintático processa diretamente o programa fonte a procura de 
erros. 
 
Técnicas para análise léxica são mais complexas do que as necessárias 
para a análise sintática. 
 
Um analisador léxico serve como o passo final de um analisador sintático. 
 
 
Explicação: 
O analisador léxico realiza o primeiro passo da etapa de análise da compilação. Uma de 
suas responsabilidades é gerar a entrada para o analisador sintático. 
 
 
2a 
 Questão 
 
 
O tradutor que gera um código objeto a partir de uma linguagem de baixo nível é 
o : 
 
 
Carregador 
 
Ligador 
 
Compilador 
 Montador 
 
Interpretador 
 
 
Explicação: 
A resposta correta é: Montador. 
 
 
3a 
 Questão 
 
 
Durante o processo de Análise o scanner lê os caracteres um por um e 
tenta associa-los ao padrão correspondente a algum token. 
Neste processo ele eventualmente pode encontrar algum padrão que não 
corresponda ao tokens. Nesse caso, ele deve: 
 
 
Passar o erro para o analisador sintático para que este o trate. 
 
Tentar corrigir o erro reescrevendo a parte onde foi encontrado. 
 
Abortar a análise e reportar imediamente o erro. 
 
Ignorar totalmente o erro e prosseguir a análise como se nada tivesse 
acontecido. 
 Continuar a análise após realizar a recuperação do erro e anotá-lo para 
informação posterior. 
 
 
Explicação: 
A resposta correta é: Continuar a análise após realizar a recuperação do erro 
e anotá-lo para informação posterior. 
 
 
4a 
 Questão 
 
 
Considere a seguinte especificação de tokens com sua descrição informal: 
 
SE fosse submetida ao Analisador a seguinte expressão: 
Soma = 0; 
Soma = A + B; 
O sétimo token reconhecido e seu lexema seriam respectivamente: 
 
 
TermCom e ; 
 
OpArit e + 
 
NumInt e 0 
 
Id e Soma 
 Id e A 
 
 
Explicação: 
A resposta correta é: Id e A 
 
 
5a 
 Questão 
 
 
(Marinha/2011) Uma gramática livre de contexto possui quatro componentes: 
símbolos terminais, símbolos não terminais, símbolo inicial e um conjunto de: 
 
 
artigos. 
 
volumes. 
 produções. 
 
parágrafos. 
 
tabelas. 
 
 
Explicação: 
Uma gramática livre de contexto possui quatro componentes: Símbolos terminais, Símbolos 
não terminais, Símbolo inicial e um conjunto de regras de produção. 
 
 
6a 
 Questão 
 
 
(Marinha/2019 - Adaptada) O processo de compilação é o processo pelo qual o 
código-fonte de uma linguagem de programação é traduzido em um código objeto 
executável por uma máquina. Sobre análise léxica e sintática executadas pelos 
compiladores, assinale a opção correta. 
 
 
Um analisador léxico serve como o passo final de um analisador sintático. 
 
O analisador sintático não é o coração de um compilador, ao contrário do 
processo de parser, que tem papel fundamental no referido processo. 
 
Técnicas para análise léxica são mais complexas do que as necessárias 
para a análise sintática. 
 Um analisador léxico serve como o passo inicial de um analisador sintático. 
 
Praticamente, todos os compiladores unem a tarefa de analisar a sintaxe em 
uma única parte distinta. 
 
 
Explicação: 
O analisador sintático é o componente do compilador responsável por, a partir dos tokens 
gerados pela Análise Léxica, verificar se as expressões de entrada são sentenças válidas 
na gramática da linguagem-fonte, gerando uma árvore sintática que é repassada para o 
analisador semântico visando à continuidade da compilação. 
 
 
7a 
 Questão 
 
 
(IDIB/2020 - Adaptada) As linguagens de programação que utilizamos para 
construção de aplicações são de fácil entendimento para um programador, pois são 
conhecidas como linguagens com alto nível de abstração. No entanto, este código 
não pode ser executado diretamente pelo computador, pois o mesmo reconhece 
apenas a linguagem de máquina. Assinale a alternativa que indica corretamente o 
nome do programa que, durante sua execução, realiza operações de análise léxica, 
análise sintática, análise semântica e síntese. 
 
 compilador 
 
tradutor 
 
montador 
 
interpretador 
 
ligador 
 
 
Explicação: 
Um compilador é um software que realiza as etapas de análise léxica, análise sintática, 
análise semântica e síntese para produzir código de máquina a partir de código fonte 
escrito em uma linguagem de programação de alto nível. O compilador traduz o código 
fonte escrito em uma linguagem de programação para uma linguagem de baixo nível 
(geralmente código de máquina), tornando-o executável pelo computador. 
 
 
8a 
 Questão 
 
 
(PEFOCE/2012 - Adaptada) Levando em consideração o processo de compilação, 
avalie as assertivas a seguir: 
I. A tabela de símbolos utilizada no processo de compilação contém informações 
sobre tipos e atributos de cada nome definido pelo usuário no programa. 
II. Essas informações são colocadas na tabela de símbolos pelos analisadores léxico 
e sintático e usadas pelo analisador semântico e pelo gerador de código. 
III. Compiladores são ferramentas de software que convertem código fonte escrito 
em uma linguagem de programação para código de máquina, que pode ser 
executado pelo computador. 
Marque a alternativa correta. 
 
 
II, apenas. 
 
III, apenas. 
 
I e II, apenas. 
 
I, apenas. 
 I, II e III. 
 
 
Explicação: 
Compiladores são ferramentas de software que convertem código fonte escrito em uma 
linguagem de programação para código de máquina, que pode ser executado pelo 
computador. O processo de compilação inclui verificação de erros sintáticos e semânticos 
no código fonte e geração de um arquivo executável que contém instruções que o 
processador do computador entende. 
 
 
9a 
 Questão 
 
 
Um sistema operacional (SO) é um software que gerencia os recursos de um 
computador e fornece serviços aos programas que estão sendo executados. Sobre o 
Sistema Operacional, analise as afirmativas a seguir. 
 
I. Sistemas monotarefa permitem que todos os recursos do sistema fiquem 
dedicados a uma única tarefa. 
II. Um sistema multitarefa é um tipo de sistema operacional que permite que vários 
programas ou processos sejam executados ao mesmo tempo. 
III. Todos os sistemas atuais são monotarefa, uma vez que utilizam todo seu poder 
computacional para execução do programa em memória. 
 
Marque a alternativa correta. 
 
 I e II, apenas. 
 
III e II, apenas. 
 
I e III, apenas. 
 
I, apenas. 
 II, apenas. 
 
 
Explicação: 
A afirmação de que todos os sistemas atuais são monotarefa é incorreta, uma vez que a 
grande maioria dos sistemas operacionais modernos são multitarefa. A ideia de que um 
sistema utiliza todo o seu poder computacional para execução de um único programa em 
memória é uma característica de sistemas mais antigos, que não são mais comuns 
atualmente. 
 
 
10a 
 Questão 
 
 
Variáveis são espaços de memória que são usados para armazenar dados ou informações 
em um programa de computador. Elas têm um nome (ou identificador) que é usado para 
acessá-las e podem ter diferentes tipos de dados associados a elas, como números, strings 
de texto, booleanos, entre outros. Avalie o código abaixo escrito em linguagem C 
 
Onde as variáveis float nota1, nota2 seriam alocadas? 
 
 
No código-objeto. 
 Na área de dados estáticos. 
 
Na memória secundária. 
 
No heap. 
 
Na fila. 
 
 
Explicação: 
As variáveis float nota1 e nota2 são variáveis globais e estão declaradas fora da função principal. 
Sendo assim, elas serão alocadasna área de dados estáticos.

Continue navegando