Buscar

CCT0838_Teste de conhecimento

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1.
		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:
	
	
	
	análise léxica.
	
	
	otimização do código
	
	
	análise sintática.
	
	
	análise semântica.
	
	
	geração do código.
	
Explicação:
A resposta correta é: análise semântica.
	
	
	 
		
	
		2.
		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, VI, V, IV, I e III 
	
	
	III, IV, VI, V, I e II
	
	
	II, V, VI, IV, I e III 
	
	
	III, V, VI, IV, I e II
	
	
	III, IV, V, VI, I e II 
	
Explicação:
A resposta correta é: II, VI, V, IV, I e III.
	
	
	ANÁLISE LÉXICA
	 
		
	
		3.
		Os Meta-caracteres são caracteres especiais na especificação de Expressões Regulares, que 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 é: 
	
	
	
	\w
	
	
	\W
	
	
	\c 
	
	
	\d
	
	
	\C
	
Explicação:
A resposta correta é: \w
	
	
	 
		
	
		4.
		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: 
	
	
	
	TermCom e ; 
	
	
	NumInt e 0 
	
	
	OpArit e + 
	
	
	Id e A 
	
	
	Id e Soma 
	
Explicação:
A resposta correta é: Id e A 
	
	
	ANÁLISE SINTÁTICA
	 
		
	
		5.
		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
	
	
	II e IV
	
	
	II
	
	
	I e III
	
Explicação:
Resposta correta: II
	
	
	 
		
	
		6.
		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 = b + C;
	
	
	10 * 5;
	
	
	d - 10
	
	
	A = C
	
	
	A := 7;
	
Explicação:
Resposta correta: A := 7;
	
	
	ANÁLISE SEMÂNTICA
	 
		
	
		7.
		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 são corretas e a segunda justifica a primeira
	
	
	As duas são corretas e a segunda não justifica a primeira
	
	
	As duas afirmativas são falsas
	
Explicação:
Resposta correta: As duas são corretas e a segunda justifica a primeira
	
	
	 
		
	
		8.
		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 IV
	
	
	I e III
	
	
	II, III e IV
	
	
	I e II
	
	
	I, II e III
	
Explicação:
Resposta correta: I, II e IV
	
	
	GERAÇÃO DE CÓDIGO
	 
		
	
		9.
		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 são corretas e a segunda justifica a primeira
	
	
	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:
Respsota correta: A primeira é verdadeira e a segunda falsa
	
	
	 
		
	
		10.
		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 é 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
	
	
	As duas afirmativas são falsas
	
	
	As duas são corretas e a segunda justifica a primeira
	
Explicação:
Resposta correta: A primeira é verdadeira e a segunda falsa

Continue navegando