Buscar

COMPILADORES E COMPUTABILIDADE - QUESTIONÁRIO UNIDADE I

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 5 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

Prévia do material em texto

17/09/2023, 16:38 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – COMP ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_97555094_1&course_id=_300155_1&content_id=_3519152_1&retur… 1/5
 
Revisar envio do teste: QUESTIONÁRIO UNIDADE I
COMP COMP COMPILADORES E COMPUTABILIDADE D571_13701_A_R_20232 CONTEÚDO
Usuário WANDSON ASSUNCAO LIMA
Curso COMP COMP COMPILADORES E COMPUTABILIDADE
Teste QUESTIONÁRIO UNIDADE I
Iniciado 17/09/23 16:22
Enviado 17/09/23 16:38
Status Completada
Resultado da tentativa 5 em 5 pontos  
Tempo decorrido 16 minutos
Resultados exibidos Respostas enviadas, Perguntas respondidas incorretamente
Pergunta 1
Resposta
Selecionada:
b.
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.
Possibilitar a programação de computadores utilizando linguagens de
alto nível (que permitem descrever as ideias em termos mais abstratos
e mais independentes da arquitetura da máquina), pois são
responsáveis pela tradução do algoritmo em seu correspondente em
um linguagem de baixo nível.
Pergunta 2
Resposta
Selecionada:
e.
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.
ASSOCIADA / COLIGADA BIBLIOTECAS MURAL DO ALUNOCONTEÚDOS ACADÊMICOS
0,5 em 0,5 pontos
0,5 em 0,5 pontos
http://company.blackboard.com/
https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_300155_1
https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_300155_1&content_id=_3517900_1&mode=reset
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_63_1
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_27_1
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_47_1
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_25_1
https://ava.ead.unip.br/webapps/login/?action=logout
17/09/2023, 16:38 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – COMP ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_97555094_1&course_id=_300155_1&content_id=_3519152_1&retur… 2/5
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 3
Resposta
Selecionada:
a.
Uma das tarefas primordiais ao processo de compilação é que durante a veri�cação da
sintática do programa o compilador reporte ao programador todos os erros detectados
para que ele os corrija. Neste contexto, a adoção de uma estratégia que permita o
tratamento e eventual recuperação diante de erros é parte das decisões que envolvem a
construção dos analisadores. Assinale a alternativa que não descreve de maneira
apropriada essas estratégias.
O Modo Pânico é aquele em que o compilador exibe as mensagens de
erro e interrompe qualquer outra atividade do sistema operacional,
evitando problemas de gravação dos dados no disco e a corrupção dos
dados armazenados.
Pergunta 4
Resposta
Selecionada:
a.
Para o desenvolvimento de um compilador é possível que se adote um dos diferentes
modelos de construção. Um destes é o que chamamos de modelo de múltiplas
passagens, em que as atividades relacionadas a tradução e a escrita do código alvo são
realizadas em etapas encadeadas. Cada fase realiza sua tarefa percorrendo todo o código
fonte e, após uma conclusão bem-sucedida, inicia-se a etapa subsequente tendo como
entrada o resultado da fase anterior. Acerca deste modelo analise as seguintes
considerações.
- Trata-se de um modelo bastante didático, pois a modularização do processo permite o
desenvolvimento gradativo do compilador enquanto se estuda com mais detalhes as
atividades pertinentes a cada etapa.
- Por outro lado, uma desvantagem inerente ao modelo é que por exemplo um erro
semântico localizado nas primeiras linhas do código fonte somente seria detectado após
a conclusão das análises léxica e sintática de todas as linhas do programa.
Assinale a alternativa que representa o melhor juízo cabível sobre o que se a�rmou.
Ambas as assertivas são verdadeiras, sendo a segunda a
justi�cativa da primeira.
Pergunta 5
0,5 em 0,5 pontos
0,5 em 0,5 pontos
0,5 em 0,5 pontos
17/09/2023, 16:38 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – COMP ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_97555094_1&course_id=_300155_1&content_id=_3519152_1&retur… 3/5
Resposta Selecionada:
e. 
 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).
Pergunta 6
Resposta
Selecionada:
e.
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.
A fase de linkediçã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
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:
0,5 em 0,5 pontos
0,5 em 0,5 pontos
17/09/2023, 16:38 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – COMP ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_97555094_1&course_id=_300155_1&content_id=_3519152_1&retur… 4/5
Resposta
Selecionada:
a.
É 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 8
Resposta Selecionada:
a. 
 Um analisador sintático LL(1) somente pode ser construído para uma classe restrita de
gramáticas, que também recebem este mesmo nome. Uma de suas características é que
suas produções não apresentem pre�xos comuns para cadeias distintas derivadas a
partir de um mesmo não-terminal. Ou seja, se duas produções que começam com o
mesmo símbolo ou conjunto de símbolos (pre�xo), por exemplo, como nas regras A→αβ
e A→αδ e sendo First(α) ≠ ∅, implicará numa interseção entre osconjuntos First(αβ) e
First(αδ) e o analisador não será capaz de decidir qual regra escolher utilizando um único
símbolo da entrada. Usualmente o problema pode ser resolvido substituindo as
produções da gramática que causam o problema por outras que acomodem essa
restrição, mantendo a equivalência entre elas. Supondo a produção S → if E then S else S
� | if E then S � | K e considerando ε como a sentença vazia, quais dentre as alternativas
a seguir representa uma substituição válida para resolver o problema apresentado e
obter uma gramática equivalente que seja LL(1)?.
S → if E then S R � | K
R → else S | ε
Pergunta 9
Os diferentes elementos básicos que compõe uma linguagem, tais como as palavras
reservadas, identi�cadores, operadores e quaisquer outros lexemas estabelecidos por
ela, também possuem uma estrutura sintática e podem ser descritos formalmente
através de expressões regulares. Entretanto a tarefa de reconhecimento dos lexemas é
realizada pelo Analisador Léxico, acontecendo de maneira separada da Análise Sintática
do código.
Assim, um analisador léxico é antes de mais nada um elemento reconhecedor destas
estruturas e pode ser de�nido como um autômato �nito, dada a natureza regular dos
elementos da linguagem.
Julgue cada uma das a�rmativas a seguir e assinale a alternativa correta.
I) As gramáticas regulares não permitem a descrição de estruturas aninhadas e portanto
não são capazes de descrever simultaneamente os lexemas e também as demais
estruturas típicas nas linguagem de programação, tais como parênteses balanceados e
0,5 em 0,5 pontos
0,5 em 0,5 pontos
17/09/2023, 16:38 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – COMP ...
https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_97555094_1&course_id=_300155_1&content_id=_3519152_1&retur… 5/5
Domingo, 17 de Setembro de 2023 16h38min36s BRT
Resposta
Selecionada:
e.
comandos aninhados.
II) A separação das etapas permite utilizar gramaticas regulares, que são mais simples e
mais e�cientes, para a descrição dos lexemas tornado a implementação do reconhecedor
mais fácil.
III) O analisador sintático �caria muito mais complexo, pois estaria a todo momento
preocupado em prever a ocorrência de símbolos irrelevantes, tais como espaços em
branco, que teriam sido eliminados pela análise léxica.
Todos itens são verdadeiros e os motivos apresentados justi�cam a
separação dos analisadores.
Pergunta 10
Resposta
Selecionada:
d.
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.
Dentre a categoria de analisadores descendentes podemos citar os
parses Descendentes Recursivos, de Cocke‐Younger‐Kasami e os
analisadores do tipo LR(k).
← OK
0,5 em 0,5 pontos

Continue navegando