Você está na página 1de 4

VINICIUS SILVA

Unip Interativa

H   Unidade I  Revisar envio do teste: Questionário Unidade I (2016/2)

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 4,5 em 5 pontos  
da
tentativa
Tempo 38 minutos
decorrido
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 Respostas enviadas, Perguntas respondidas incorretamente
exibidos

Pergunta 1 0,5 em 0,5 pontos

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.
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 2 0,5 em 0,5 pontos

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 a.
Selecionada: 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 0,5 em 0,5 pontos

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: S → if E then S R fi | K
a. R → else S | ε

Pergunta 4 0,5 em 0,5 pontos

Resposta d.
Selecionada: 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.
Pergunta 5 0,5 em 0,5 pontos

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 b.
Selecionada: 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 0 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 b.
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,(S,a)) ⇒ Erro, cadeia inválida.

Pergunta 7 0,5 em 0,5 pontos

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 e.
Selecionada: Todos itens são verdadeiros e os motivos apresentados justificam a
separação dos analisadores.

Pergunta 8 0,5 em 0,5 pontos

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çã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 a 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 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 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 10 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 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 e.
Selecionada: 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.

Terça­feira, 13 de Setembro de 2016 21h55min02s BRT

← OK

Você também pode gostar