Baixe o app para aproveitar ainda mais
Prévia do material em texto
29/03/2021 Estácio: Alunos https://simulado.estacio.br/alunos/ 1/7 Considere os seguintes passos da compilação: I. Otimização II. Análise Léxica III. Geração de Código IV. Geração de Código Intermediário V. Análise Semântica VI. Análise Sintática A ordem correta dos passos durante a compilação é: COMPILADORES Lupa Calc. CCT0838_201908040459_ESM Aluno: JOSEILDON DA SILVA DANTAS Matr.: 201908040459 Disc.: COMPILADORES 2021.1 EAD (G) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. O COMPILADOR 1. II, V, VI, IV, I e III III, IV, VI, V, I e II III, V, VI, IV, I e II III, IV, V, VI, I e II II, VI, V, IV, I e III Explicação: A resposta correta é: II, VI, V, IV, I e III. javascript:voltar(); javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:calculadora_on(); 29/03/2021 Estácio: Alunos https://simulado.estacio.br/alunos/ 2/7 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: 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: Os Meta-caracteres são caracteres especiais na especificação de Expressões Regulares, que 2. análise semântica. análise sintática. otimização do código análise léxica. geração do código. Explicação: A resposta correta é: análise semântica. ANÁLISE LÉXICA 3. Id e A NumInt e 0 TermCom e ; Id e Soma OpArit e + Explicação: A resposta correta é: Id e A 4. 29/03/2021 Estácio: Alunos https://simulado.estacio.br/alunos/ 3/7 aumentam muito sua expressividade. Eles podem ser quantificadores, definidores de classes de caracteres, definidores de lista etc.... O Meta-caracter que corresponde a seguinte classe [A-Za-z0-9] é o A ordem correta dos passos durante a compilação é: 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 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:["+""-"] \w \d \C \W \c Explicação: A resposta correta é: \w ANÁLISE SINTÁTICA 5. II I II e IV I e III III e IV Explicação: Resposta correta: II 6. 29/03/2021 Estácio: Alunos https://simulado.estacio.br/alunos/ 4/7 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. 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 = b + C; d - 10 10 * 5; A := 7; A = C Explicação: Resposta correta: A := 7; ANÁLISE SEMÂNTICA 7. A primeira é falsa e a segunda correta As duas são corretas e a segunda não justifica a primeira As duas afirmativas são falsas A primeira é verdadeira e a segunda falsa As duas são corretas e a segunda justifica a primeira 29/03/2021 Estácio: Alunos https://simulado.estacio.br/alunos/ 5/7 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: 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: Explicação: Resposta correta: As duas são corretas e a segunda justifica a primeira 8. I, II e III I, II e IV II, III e IV I e III I e II Explicação: Resposta correta: I, II e IV GERAÇÃO DE CÓDIGO 9. As duas são corretas e a segunda justifica a primeira 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 Explicação: Resposta correta: A primeira é verdadeira e a segunda falsa 29/03/2021 Estácio: Alunos https://simulado.estacio.br/alunos/ 6/7 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: 10. As duas são corretas e a segunda não justifica a primeira As duas são corretas e a segunda justifica a primeira As duas afirmativas são falsas A primeira é falsa e a segunda correta A primeira é verdadeira e a segunda falsa Explicação: Respsota correta: A primeira é verdadeira e a segunda falsa 29/03/2021 Estácio: Alunos https://simulado.estacio.br/alunos/ 7/7 Não Respondida Não Gravada Gravada Exercício inciado em 24/03/2021 11:31:38.
Compartilhar