Baixe o app para aproveitar ainda mais
Prévia do material em texto
Simulado AV Teste seu conhecimento acumulado Disc.: COMPILADORES Aluno(a): ALLAN LIMA DA SILVA E SILVA 201909229237 Acertos: 10,0 de 10,0 04/06/2022 Acerto: 1,0 / 1,0 O tradutor que gera um código objeto a partir de uma linguagem de baixo nível é o : Interpretador Compilador Ligador Montador Carregador Respondido em 04/06/2022 11:54:45 Explicação: A resposta correta é: Montador. Acerto: 1,0 / 1,0 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 é: II, V, VI, IV, I e III III, V, VI, IV, I e II II, VI, V, IV, I e III Questão1 a Questão2 a https://simulado.estacio.br/alunos/inicio.asp javascript:voltar(); III, IV, VI, V, I e II III, IV, V, VI, I e II Respondido em 04/06/2022 11:49:30 Explicação: A resposta correta é: II, VI, V, IV, I e III. Acerto: 1,0 / 1,0 O GALS é um gerador de analisadores léxicos que a partir de expressões regulares cria um autômato finito determinístico que as analisa. Para que possa funcionar ele deve ter os seus tokens especificados. Como seria a especificação do token no GALS para identificadores (Id) formados pela primeira letra maiúscula sendo seguido de pelo menos uma ou mais letras minúsculas deverá existir pelo menos um letra? Id:[A-Z] [a-z]*. Id:[A-Z]* Id:[A-Z] [a-z]+. Id:[a-z]+ Id: [A-Za-z]+ Respondido em 04/06/2022 11:50:19 Explicação: A resposta correta é: Id:[A-Z] [a-z]+. Acerto: 1,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. Tentar corrigir o erro reescrevendo a parte onde foi encontrado. Abortar a análise e reportar imediamente o erro. Continuar a análise após realizar a recuperação do erro e anotá-lo para informação posterior. Respondido em 04/06/2022 11:55:00 Explicação: Questão3 a Questão4 a A resposta correta é: Continuar a análise após realizar a recuperação do erro e anotá-lo para informação posterior. 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 III e IV I e III I II II e IV Respondido em 04/06/2022 11:50:29 Explicação: Resposta correta: II Acerto: 1,0 / 1,0 Considere a seguinte gramática S → XYZ X → aXb | ε Y → cYZcX | d Z → eZYe | f Levando-se em conta a necessidade de criar a tabela sintática, seriam gerados os conjuntos First e Follow de cada um dos não terminais. Qual seria o conjunto First de S? {a, c, e} {a, c, d, e} { a, d} {c, d, e} {a, c, d} Respondido em 04/06/2022 11:50:42 Questão5 a Questão6 a Explicação: Resposta correta: {a, c, d} Acerto: 1,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 As duas são corretas e a segunda justifica a primeira As duas afirmativas são falsas As duas são corretas e a segunda não justifica a primeira A primeira é verdadeira e a segunda falsa Respondido em 04/06/2022 11:51:24 Explicação: Resposta correta: As duas são corretas e a segunda justifica a primeira 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 Questão7 a Questão8 a 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 IV I e III II, III e IV I e II I, II e III Respondido em 04/06/2022 11:54:02 Explicação: Resposta correta: I, II e IV 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 - 1 - p1 - 2 p2 - 2 - p1 - 2 p2 - 2 - p1 - 1 p1 - 2 - p2 - 1 p1 - 1 - p2 - 2 Respondido em 04/06/2022 11:52:05 Explicação: Resposta correta: p2 - 1 - p1 - 2 Questão9 a 10a Acerto: 1,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: 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 A primeira é falsa e a segunda correta Respondido em 04/06/2022 11:52:19 Explicação: Respsota correta: A primeira é verdadeira e a segunda falsa Questão javascript:abre_colabore('38403','286815976','5473925182');
Compartilhar