Baixe o app para aproveitar ainda mais
Prévia do material em texto
Os compiladores são responsáveis por abstrair a complexidade da programação e proporcionar uma vida mais tranquila para os desenvolvedores. Sobre a análise léxica e sintática executadas pelos compiladores, assinale a opção correta. O analisador sintático processa diretamente o programa fonte a procura de erros. Técnicas para análise léxica são mais complexas do que as necessárias para a análise sintática. Um analisador léxico serve como o passo final de um analisador sintático. Os analisadores léxico e sintático somente se comunicam via tabela de simbolos. Um analisador léxico gera a entrada para o analisador sintático. Respondido em 26/05/2023 15:44:25 Explicação: O analisador léxico realiza o primeiro passo da etapa de análise da compilação. Uma de suas responsabilidades é gerar a entrada para o analisador sintático. 2a Questão Acerto: 1,0 / 1,0 O tradutor que gera um código objeto a partir de uma linguagem de baixo nível é o : Interpretador Carregador Montador Compilador Ligador Respondido em 26/05/2023 15:45:51 Explicação: A resposta correta é: Montador. 3a Questão Acerto: 1,0 / 1,0 Os Autômatos Finitos podem ter suas regras definidas a partir de expressões regulares. Qual das seguintes alternativas descreve o propósito de uma expressão regular? para definir a estrutura de um documento HTML. para definir regras de roteamento. para fazer buscas em texto. para formatar números. para definir a lógica de uma função. Respondido em 26/05/2023 15:48:55 Explicação: Uma Expressão Regular provê uma forma flexível e concisa de definir cadeias de caracteres de interesse, por exemplo, os tokens de uma linguagem de programação. 4a Questão Acerto: 1,0 / 1,0 Expressões regulares são utilizadas para especificar padrões de texto, e esses padrões podem ser usados para procurar e extrair informações de um texto. Qual das seguintes alternativas descreve o significado da expressão regular "[0-9]"? Corresponder a qualquer símbolo. Corresponder a qualquer número de 0 a 9. Corresponder a qualquer letra maiúscula. Corresponder a qualquer número fracionário. Corresponder a qualquer letra minúscula. Respondido em 26/05/2023 15:49:38 Explicação: A expressão regular "[0-9]" especifica um conjunto de caracteres, no caso, todos os números de 0 a 9. 5a Questão Acerto: 1,0 / 1,0 Ao realizarmos a análise sintática, podem ser detectados erros que não foram vistos durante a análise léxica. Considerando a seguinte gramática L: [A-Z] D: [0-9] Op:["+""-"] At:["="] Id:{L} ({L}|{D})* Int:{D}+ Oper:{Op} Atrib:{At} Fc : ; ::= Id Atrib ; ::= | Id | Int; ::= Oper; Qual das opções abaixo possui apenas erro sintático. d - 10 A = C A = b + C; 10 * 5; A := 7; Respondido em 26/05/2023 16:02:43 Explicação: Resposta correta: A := 7; 6a Questão Acerto: 1,0 / 1,0 Enade 2011 Considere a gramática a seguir, em que S, A e B são símbolos não terminais, 0 e 1 são terminais e Ɛ é a cadeia vazia. A respeito dessa gramática, analise as afirmações a seguir. I. Nas cadeias geradas por essa gramática, o último símbolo é 1. II. O número de zeros consecutivos nas cadeias geradas pela gramática é, no máximo, dois. III. O número de uns em cada cadeia gerada pela gramática é maior que o número de zeros. IV. Nas cadeias geradas por essa gramática, todos os uns estão à esquerda de todos os zeros. É correto apenas o que se afirma em II III e IV I I e III II e IV Respondido em 26/05/2023 15:52:34 Explicação: Resposta correta: II 7a Questão Acerto: 1,0 / 1,0 Por melhor que seja a fórmula de hashing adotada na implementação de uma tabela de símbolos usando uma tabela hash, as colisões sempre irão ocorrer. Quando estas ocorrem se torna necessário fazer o seu tratamento. Este tratamento pode ser realizado de várias formas e uma preocupação constante deve ser o de minimizar o tempo de resposta e poupar o espaço de armazenamento. Quanto a estes aspectos analise as afirmativas abaixo: I. no hash aberto os símbolos que colidem são encadeados em uma lista apontada pelo slot que a fórmula calculou II. no endereçamento aberto é realizado um rehashing para determinar o novo slot para o símbolo que causou a colisão III. o hash de balde utiliza duas fórmulas de hashing para tratar a colisão IV. Para minimizar o espaço de armazenamento pode ser utilizada uma pilha para armazenar os símbolos que colidiram no hash aberto É correto o que se afirma apenas em: I, II e III I e II I, II e IV I e III II, III e IV Respondido em 26/05/2023 15:58:18 Explicação: Resposta correta: I, II e IV 8a Questão Acerto: 1,0 / 1,0 Uma tabela de simbolos pode ser organizada de várias formas diferentes, cada uma com suas vantagens e desvantagens. Quanto as formas de organização da tabela, avalie as afirmativas abaixo: I na Lista linear o algoritmo de busca exige O(n) sondagens por pesquisa, na média, onde n é o número de símbolos na tabela. II Na Busca binária a pesquisa possui uma complexidade de O(n²) III Na tabela de hash a complexidade de busca tende a ser, na média, O(1) IV No hashing aberto a complexidade de busca é O(Log2n) Com base nas afirmativas podemos concluir que estão corretas apenas II e IV I e III I e II II e III III e IV Respondido em 26/05/2023 15:58:57 Explicação: Resposta correta: I e III 9a Questão Acerto: 1,0 / 1,0 Procedimentos são rotinas que complementam as funcionalidades de um programa. Quando um procedimento é chamado um Registro de Ativação é criado e colocado na pilha. Neste registro são armazenadas a variáveis locais, o contexto e os parametrosdo procedimento. Com base nisso considere a seguinte expressão onde p1 e p2 são funções x = p1 (a, p2(b)); Sabendo-se que o código abaixo mostra a implementação do trecho em código intermediário em que ?1, ?2, ?3 e ?4 representam partes faltantes do código . param a param b _t1 := call ?1, ?2 param _t1 x := call ?3, ?4 Quais seriam os valores de ?1, ?2, ?3 e ?4 respectivamente? p2 - 2 - p1 - 2 p1 - 1 - p2 - 2 p2 - 1 - p1 - 2 p1 - 2 - p2 - 1 p2 - 2 - p1 - 1 Respondido em 26/05/2023 16:01:10 Explicação: Resposta correta: p2 - 1 - p1 - 2 10a Questão Acerto: 1,0 / 1,0 Existem varios tipos de representações intermediárias tanto graficas como textuais. Durante a fase de síntese a Geração de Código Intermediário irá transformar o resultado da fase de análise em uma outra representação. Uma das formas de representação intermediária é a notação posfixa. Considerando a seguinte expressão em notação infixa (a+b)*(c+d) qual seria a notação posfixa correspondente? a b * + c d + a b + c d * + a b + * c d + a b * c d + + a b + c d + * Respondido em 26/05/2023 16:02:01 Explicação: Resposta correta: a b + c d + *
Compartilhar