Baixe o app para aproveitar ainda mais
Prévia do material em texto
13/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – D571_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_44380069_1&course_id=_101256_1&content_id=_1374070_1&retur… 1/5 Revisar envio do teste: QUESTIONÁRIO UNIDADE I COMPILADORES E COMPUTABILIDADE D571_13701_R_20202 CONTEÚDO Usuário STEPHANY MENDES OLIVEIRA Curso COMPILADORES E COMPUTABILIDADE Teste QUESTIONÁRIO UNIDADE I Iniciado 13/09/20 17:01 Enviado 13/09/20 17:12 Status Completada Resultado da tentativa 5 em 5 pontos Tempo decorrido 11 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 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. UNIP 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=_101256_1 https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_101256_1&content_id=_1367580_1&mode=reset https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_49_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 13/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – D571_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_44380069_1&course_id=_101256_1&content_id=_1374070_1&retur… 2/5 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 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 4 Resposta Selecionada: d. 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. 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. 0,5 em 0,5 pontos 0,5 em 0,5 pontos 13/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – D571_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_44380069_1&course_id=_101256_1&content_id=_1374070_1&retur… 3/5 Pergunta 5 Resposta Selecionada: a. 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: É 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 Resposta Selecionada: c. Assinale a alternativa que representa a principal tarefa realizada pela Análise léxica. 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 7 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). 0,5 em 0,5 pontos 0,5 em 0,5 pontos 0,5 em 0,5 pontos 13/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – D571_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_44380069_1&course_id=_101256_1&content_id=_1374070_1&retur… 4/5 Resposta Selecionada: e. Pergunta 8 Resposta Selecionada: d. A gramática dada a seguir é LL(1). Nela os elementos +, *, (, ) e id con�guram como símbolos terminais, enquanto os E, T, F, E’ e T’ são considerados não-terminais. A tabela de movimentos M fornece ao reconhecedor o número da regra que deve ser aplicada durante a análise da sentença, sendo necessário apenas conhecer o não- terminal a ser derivado e o primeiro símbolo presente no restante da entrada. Sobre a construção de analisadores sintáticos deste tipo é incorreto a�rmar que: 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 queo símbolo “(“ poderia ocorrer imediatamente após um “id” segundo o que determina as produções da gramática. Pergunta 9 Resposta Selecionada: a. 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. 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. 0,5 em 0,5 pontos 0,5 em 0,5 pontos 13/09/2020 Revisar envio do teste: QUESTIONÁRIO UNIDADE I – D571_... https://ava.ead.unip.br/webapps/assessment/review/review.jsp?attempt_id=_44380069_1&course_id=_101256_1&content_id=_1374070_1&retur… 5/5 Domingo, 13 de Setembro de 2020 17h12min56s GMT-03:00 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 javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_1367580_1&course_id=_101256_1&nolaunch_after_review=true');
Compartilhar