Você está na página 1de 1

CARLOS SOBRAL

UNIP CONTEÚDOS ACADÊMICOS BIBLIOTECAS MURAL DO ALUNO

COMPILADORES E COMPUTABILIDADE D571_13701_R_20231 CONTEÚDO Revisar envio do teste: QUESTIONÁRIO UNIDADE I

Usuário CARLOS HENRIQUE DA S SOBRAL


Curso COMPILADORES E COMPUTABILIDADE

COMPILADORES E Teste QUESTIONÁRIO UNIDADE I


COMPUTABILIDA Iniciado 13/03/23 17:39
DE Enviado 13/03/23 18:09
(D571_13701_R_20
Status Completada
231)
Resultado da tentativa 4.5 em 5 pontos  
CONTEÚDO Tempo decorrido 30 minutos
Resultados exibidos Respostas enviadas, Perguntas respondidas incorretamente

Pergunta 1 0 em 0.5 pontos

O processo de programar um computador para realizar uma determinada tarefa, quando analisado em relação às atividades que são necessárias desde a
codi cação do algoritmo até a execução propriamente dita do programa, pode ser visto como um processo complexo e que envolve vários elementos, cada
qual com propósito bastante especí co. Nesse contexto, assinale a alternativa que descreve o propósito e a principal tarefa realizada pelos compiladores.

Resposta Selecionada: d. Apoiar o processo de desenvolvimento portável, oferecendo tradução do código para diferentes arquiteturas e plataformas.

Pergunta 2 0.5 em 0.5 pontos

Um processo algorítmico tem o objetivo de instruir o executor quanto às ações que deve realizar e a sua sequência. Para que isso ocorra é necessário que as
instruções sejam dadas num formato compreensível àquele que as realizará. A programação de computadores é feita descrevendo o algoritmo em instruções
de uma linguagem de programação e que, quando ditas de alto nível, apresentam características mais próximas à estrutura das linguagens humanas do que a
das máquinas. Analise as alternativas a seguir e assinale a que julgar incorreta.

Resposta d.
Selecionada: Os conhecimentos relacionados à construção de compiladores encerram-se estritamente nesta atividade, oferecendo pouco ou mesmo
nenhuma possibilidade de aplicação em outras áreas que não seja a tradução para linguagem de máquina.

Pergunta 3 0.5 em 0.5 pontos

 Analisadores sintáticos do tipo LL(k) realizam a veri cação da sentença de modo descendente, entretanto tem como restrição poderem ser aplicados apenas
aos casos em que a gramática da linguagem é LL(k). Considerando a produção S → S x K | K qual, dentre as alternativas a seguir, poderia substituí-la de modo
a eliminar a recursão a esquerda e criar uma gramática equivalente? (Considere ε representando a sentença vazia).

Resposta Selecionada:
e.

Pergunta 4 0.5 em 0.5 pontos

Os métodos ligados a análise sintática se agrupam em ascendentes e descendentes, de acordo com a forma como derivam a estrutura sintática da sentença
do programa. Assinale a alternativa incorreta a respeito dos analisadores sintáticos.

Resposta d.
Selecionada: Dentre a categoria de analisadores descendentes podemos citar os parses Descendentes Recursivos, de Cocke‐Younger‐Kasami e os
analisadores do tipo LR(k).

Pergunta 5 0.5 em 0.5 pontos

Um analisador sintático descendente constrói a árvore de derivação do programa de cima para baixo, isto é, partindo da raiz (símbolo inicial da gramática) e
seguindo em direção as folhas (símbolos do programa). Todos os métodos que adotam esta estratégia seguem esta abordagem, variando pontualmente a
forma como resolvem o problema de selecionar a regra a ser aplicada em cada momento. Pode-se a rmar sobre o Analisador Descendente Recursivo:

Resposta a.
Selecionada: É um reconhecedor obtido através da transcrição das regras de produção da gramática na forma de um conjunto de sub-rotinas. Assim, cada
sub-rotina é responsável por veri car os elementos relativos a uma produção em particular. O processo de reconhecimento se inicia com a
chamada da sub-rotina equivalente a regra que deriva o símbolo inicial da gramática. A partir disto, chamadas subsequentes para outras
sub-rotinas são realizadas sempre que um símbolo não terminal é encontrado na produção. Quando todos os elementos são consumidos, a
chamada inicial retorna sinalizando que se trata de uma sentença é válida.

Pergunta 6 0.5 em 0.5 pontos

No modelo de Análise e Síntese o processo é dividido em duas grandes etapas. Na primeira, são realizadas todas as tarefas pertinentes a análise e
compreensão do código fonte, enquanto na segunda, as atividades de otimização e a geração do código propriamente dito. Cada uma destas grandes etapas
pode ser decompostas em fases, de propósito especí co e cujo resultado de seu processamento servirá como dado de entrada para a próxima fase. Analise as
alternativas a seguir e assinale aquela cuja atividade não corresponde a nenhuma das subfases deste modelo.

Resposta e.
Selecionada: A fase de link edição, ou ligação, é responsável por criar o arquivo executável combinando todos os arquivos objetos em um único
módulo de carga.

Pergunta 7 0.5 em 0.5 pontos

Durante a varredura do código fonte pelo Scanner (Analisador Léxico) várias tarefas ditas secundárias são realizadas. Assinale a alternativa cuja tarefa não
corresponde as atribuições esperadas para um analisador léxico.

Resposta e.
Selecionada: Detectar os marcadores de início e de m de blocos para que os comandos possam ser agrupados em um único elemento e entregues
para a fase de análise sintática com um comando único. 

Pergunta 8 0.5 em 0.5 pontos

Durante o processo de veri cação da estrutura sintática de um programa, o analisador simula o processo de construção da árvore de derivação para o
programa que está sendo compilado. Usualmente esse processo é realizado adotando-se uma dentre duas abordagens possíveis. a top-down, em que se parte
do símbolo inicial da gramática e tenta-se alcançar os elementos que compõe o programa; e a botton-up, que segue o princípio contrário, partindo do código e
realizado reduções na sentença até que se alcance o símbolo inicial que caracterize o elemento raiz da árvore. A respeito destas estratégias assinale a
alternativa correta.

Resposta a.
Selecionada: Os métodos descendentes são usualmente mais convenientes em casos de implementação manual, enquanto os métodos ascendentes
(botton-up) são considerados mais favoráveis para construtores automáticos de analisadores.

Pergunta 9 0.5 em 0.5 pontos

Assinale a alternativa que representa a principal tarefa realizada pela Análise léxica.

Resposta c.
Selecionada: Varrer o arquivo fonte, lendo-o caractere por caractere e agrupá-los em blocos de um ou mais elementos de acordo com o signi cado
dentro da linguagem.

Pergunta 10 0.5 em 0.5 pontos

Supondo a gramática a seguir e a sentença (a,(a),(a,a)), quais seriam os movimentos realizados por um reconhecedor ascendente para esta cadeia?

G = ({L,S}, {“(“, ”)”, ”a”, ”,”}, L, P )


P. L → (S)
S → I,S | I
I→a|L

Resposta a.
Selecionada: (a,(a),(a,a)) ⇒ (I,(a),(a,a)) ⇒ (I,(I),(a,a)) ⇒ (I,(S),(a,a)) ⇒ (I,L,(a,a)) ⇒ (I,I,(a,a)) ⇒ (I,I,(I,a)) ⇒(I,I,(I,I)) ⇒ (I,I,(I,S)) ⇒ (I,I,(S)) ⇒ (I,I,L) ⇒ (I,I,I) ⇒ (I,I,S) ⇒
(I,S) ⇒ (S) ⇒ L.

Segunda-feira, 13 de Março de 2023 18h10min14s GMT-03:00 ← OK

Você também pode gostar