Buscar

questionario-unidade-i-compiladores-unip

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

Prévia do material em texto

Unidade I  Revisar envio do teste: Questionário Unidade I (2016/2)H
Revisar envio do teste: Questionário Unidade I (2016/2) 
Usuário VINICIUS LUIZ DA SILVA
Curso COMP COMP COMPILADORES E COMPUTABILIDADE
Teste Questionário Unidade I (2016/2)
Iniciado 13/09/16 20:53
Enviado 13/09/16 20:53
Status Completada
Resultado
da
tentativa
4,5 em 5 pontos  
Tempo
decorrido
38 minutos
Instruções ATENÇÃO: esta avaliação segue as seguintes configurações:
­ possui número de tentativas limitadas a 5 (cinco);
­ valida a sua frequência e nota na disciplina em questão;
­ não apresenta as justificativas corretas, pois trata­se de um avaliativo;
­ não soma pontos de “tentativa em andamento” (tentativas iniciadas e não
concluídas/enviadas) – porém, uma vez acessada, é considerada como uma de suas 5
(cinco) tentativas permitidas e precisa ser editada e enviada para ser devidamente
considerada;
­ reduz sua pontuação a cada tentativa conforme exposto abaixo – o cálculo final será
executado e apresentado em sua “Secretaria Virtual”:
tentativa 1 – nota sem desconto;
tentativa 2 – serão lançados 90% da
nota, ou seja, a nota diminui 10%;
tentativa 3 – serão lançados 80% da
nota, ou seja, a nota diminui 20%;
tentativa 4 – serão lançados 70% da
nota, ou seja, a nota diminui 30%;
tentativa 5 – serão lançados 60% da
nota, ou seja, a nota diminui 40%.
­ possui um período de envio (previsto em Calendário Acadêmico) e permite acesso após
a data limite, mas não considera os envios após essa data;
­ a NÃO realização prevê nota 0 (zero).
Resultados
exibidos
Respostas enviadas, Perguntas respondidas incorretamente
Pergunta 1
Durante o processo de verificaçã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 parte­se 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.
Unip Interativa
0,5 em 0,5 pontos
VINICIUS SILVA
http://www.sepi.unip.br/
https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_104144_1
https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_104144_1&content_id=_1092009_1&mode=reset
https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_26_1
https://ava.ead.unip.br/webapps/login/?action=logout
Resposta
Selecionada:
a.
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 2
Uma das tarefas primordiais ao processo de compilação é que durante a verificaçã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.
Resposta
Selecionada:
a.
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 3
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 prefixos 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 (prefixo), por exemplo, como nas regras A→αβ e A→αδ e sendo First(α)
≠ ∅, implicará numa interseção entre os conjuntos 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 fi | if E then S fi | 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)?.
Resposta Selecionada:
a. 
S → if E then S R fi | K
R → else S | ε
Pergunta 4
Resposta
Selecionada:
d.
A aplicação da regra 8 deve ser feita antes da regra 7, segundo a interpretação que temos da
tabela. Esse fato se comprova ao observarmos que o símbolo “(“ poderia ocorrer imediatamente
após um “id” segundo o que determina as produções da gramática.
0,5 em 0,5 pontos
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Pergunta 5
O processo de programar um computador para realizar uma determinada tarefa, quando
analisado em relação as atividades que são necessárias desde a codificaçã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ífico. Neste contexto
assinale a alternativa que descreve o propósito e a principal tarefa realizada pelos compiladores.
Resposta
Selecionada:
b.
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 6
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
Selecionada:
b.
(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,(S,a)) ⇒ Erro, cadeia inválida.
Pergunta 7
Os diferentes elementos básicos que compõe uma linguagem, tais como as palavras
reservadas, identificadores, 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 definido como um autômato finito, dada a natureza regular dos elementos da
linguagem.
Julgue cada uma das afirmativas 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 comandos aninhados.
ii) A separação das etapas permite utilizar gramaticas regulares, que são mais simples e mais
eficientes, para a descrição dos lexemas tornado a implementação do reconhecedor mais fácil.
iii) O analisador sintático ficaria 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.
Resposta
Selecionada:
e.
Todos itens são verdadeiros e os motivos apresentados justificam a
separação dos analisadores.
Pergunta 8
Um processo algorítmico tem o objetivo de instruir o executor quanto as 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çãode 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 a estrutura das linguagens humanas do
que a das máquinas. Analise as alternativas a seguir e assinale a que julgar incorreta.
0,5 em 0,5 pontos
0 em 0,5 pontos
0,5 em 0,5 pontos
0,5 em 0,5 pontos
Terça­feira, 13 de Setembro de 2016 21h55min02s BRT
Resposta
Selecionada:
d.
Os conhecimentos relacionados a 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 9
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
Selecionada:
d.
Dentre a categoria de analisadores descendentes podemos citar os parses
Descendentes Recursivos, de Cocke‐Younger‐Kasami e os analisadores do tipo
LR(k).
Pergunta 10
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 podem ser decompostas em fases, de propósito específico 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
Selecionada:
e.
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.
← OK
0,5 em 0,5 pontos
0,5 em 0,5 pontos
javascript:launch('/webapps/gradebook/do/student/viewAttempts?course_id=_104144_1&method=list&nolaunch_after_review=true');

Outros materiais