Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão Acerto: 1,0 / 1,0 Um compilador está verificando se uma variável foi declarada somente uma vez, se foi declarada antes do seu primeiro uso, se foi declarada e nunca foi usada e se os tipos de dados em uma expressão aritmética são compatíveis. Essas verificações são realizadas na fase de: otimização do código geração do código. análise léxica. análise sintática. análise semântica. Respondido em 25/09/2022 19:22:39 Explicação: A resposta correta é: análise semântica. 2a Questão Acerto: 0,0 / 1,0 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. Um analisador léxico gera a entrada para o analisador sintático. 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. 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. Respondido em 25/09/2022 19:24:43 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. 3a Questão Acerto: 0,0 / 1,0 Considere a seguinte especificação de tokens com sua descrição informal: SE fosse submetida ao Analisador a seguinte expressão: Soma = 0; Soma = A + B; O sétimo token reconhecido e seu lexema seriam respectivamente: Id e Soma TermCom e ; OpArit e + Id e A NumInt e 0 Respondido em 25/09/2022 19:31:16 Explicação: A resposta correta é: Id e A 4a Questão Acerto: 0,0 / 1,0 Durante o processo de Análise o scanner lê os caracteres um por um e tenta associa-los ao padrão correspondente a algum token. Neste processo ele eventualmente pode encontrar algum padrão que não corresponda ao tokens. Nesse caso, ele deve: Ignorar totalmente o erro e prosseguir a análise como se nada tivesse acontecido. Passar o erro para o analisador sintático para que este o trate. Abortar a análise e reportar imediamente o erro. Tentar corrigir o erro reescrevendo a parte onde foi encontrado. Continuar a análise após realizar a recuperação do erro e anotá-lo para informação posterior. Respondido em 25/09/2022 19:30:44 Explicação: A resposta correta é: Continuar a análise após realizar a recuperação do erro e anotá-lo para informação posterior. 5a 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 e IV I e III II I III e IV Respondido em 25/09/2022 19:33:01 Explicação: Resposta correta: II 6a 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. A = C A = b + C; A := 7; 10 * 5; d - 10 Respondido em 25/09/2022 19:35:09 Explicação: Resposta correta: A := 7; 7a Questão Acerto: 0,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 I e III III e IV I e II II e IV II e III Respondido em 25/09/2022 19:35:55 Explicação: Resposta correta: I e III 8a Questão Acerto: 0,0 / 1,0 Verificação de tipos é uma atividade extremamente importante na análise semântica já que determinados erros somente são percebidos nesta atividade, pois passam despercebidos nas Análises Léxicas e Sintáticas. Considere o seguinte trecho de programa : inteiro a,b,c; { .... c:= a + b; .... } Quanto a expressão c:= a + b; podemos afirmar que: O seu tipo será inteiro porque todos os operandos são do tipo inteiro Com base nas afirmativas podemos concluir que: A primeira é falsa e a segunda correta A primeira é verdadeira e a segunda falsa As duas afirmativas são falsas As duas são corretas e a segunda não justifica a primeira As duas são corretas e a segunda justifica a primeira Respondido em 25/09/2022 19:37:08 Explicação: Resposta correta: As duas são corretas e a segunda justifica a primeira 9a Questão Acerto: 0,0 / 1,0 Um programa pode ter parte de sua funcionalidade implementada por um procedimento. Procedimentos são normalmente compilados a parte e depois ligados ao código principal. Quando um procedimento é chamado é criado para ele um Registro de Ativação que possui informações de contexto, suas variáveis locais, parâmetros etc. Com base nisso se um procedimento G chama um procedimento D que chama um procedimento E podemos afirmar que O registro de ativação de E estará no topo da pilha Porque Os registros de ativação dos diversos procedimento são empilhados na ordem inversa do retorno Com base nas afirmativas acima podemos concluir que: A primeira é verdadeira e a segunda falsa As duas são corretas e a segunda não justifica a primeira A primeira é falsa e a segunda correta As duas afirmativas são falsas As duas são corretas e a segunda justifica a primeira Respondido em 25/09/2022 19:38:51 Explicação: Resposta correta: A primeira é verdadeira e a segunda falsa 10a Questão Acerto: 0,0 / 1,0 Para determinar qual código é mais otimizado podemos utilizar uma métrica que calcule o custo de cada opção e determinar qual é o mais otimizado, ou seja qual tem o menor custo. Considere um processador com o seguinte conjunto de instruções: Sabendo que a métrica utilizada gera um custo de 1 para instruções que não acessam a memória RAM e um custo de 2 para as que não acessam analise os trechos de código abaixo Como base na análise podemos afirmar que o código 2 é melhor que o código 1 Porque Seu custo é 12 enquanto o do código 1 é 12 Com base nas afirmativas acima podemos concluir que: As duas afirmativas são falsas As duas são corretas e a segunda justifica a primeira A primeira é falsa e a segunda correta As duas são corretas e a segunda não justifica a primeira A primeira é verdadeira e a segunda falsa Respondido em 25/09/2022 19:38:55 Explicação: Respsota correta: A primeira é verdadeira e a segunda falsa
Compartilhar