Buscar

Linguagens e Compiladores - EEL101 - Turma 001 Semana 5

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 3 páginas

Prévia do material em texto

Fazer teste: Semana 5 - Atividade AvaliativaLinguagens e Compiladores - EEL101 - Turma 001 Atividades
Fazer teste: Semana 5 - Atividade Avaliativa 
Informações do teste
Descrição
Instruções
Várias tentativas Este teste permite 3 tentativas. Esta é a tentativa número 1.
Forçar conclusão Este teste pode ser salvo e retomado posteriormente.
Suas respostas foram salvas automaticamente.
1. Para responder a esta atividade, selecione a(s) alternativa(s) que você considerar correta(s);
2. Após selecionar a resposta correta em todas as questões, vá até o fim da página e pressione “Enviar teste”.
3. A cada tentativa, você receberá um conjunto diferente de questões.
Olá, estudante!
Pronto! Sua atividade já está registrada no AVA.
a.
b.
c.
d.
e.
PERGUNTA 1
Uma vez definido o padrão para um código intermediário, podemos dizer que: 
existe um único padrão para códigos intermediários.
casos que geram ambiguidades entre códigos intermediários são tratados como erros.
existe mais de um código intermediário que corresponde a cada árvore sintática.
códigos intermediários dependem da arquitetura que será usada.
existe um único código intermediário correspondente a cada árvore sintática.
1 pontos   Salva
a.
b.
c.
d.
e.
PERGUNTA 2
Em um compilador, o padrão escolhido para a linguagem intermediária deve, na hierarquia de complexidades de
linguagem, ser, no mínimo: 
turing-completa.
regular.
dependente de contexto.
natural.
livre de contexto.
1 pontos   Salva
a.
b.
c.
d.
e.
PERGUNTA 3
Que tipos de erros são encontrados na etapa de geração de código intermediário? 
Erros turing-completos, que não podem ser expressos como linguagens regulares ou livres de contexto.
Erros ligados a arquiteturas específicas.
Erros na etapa de predição de código.
Nenhum, pois essa etapa executa após a montagem da árvore sintática e da validação da tabela de símbolos.
Erros que impedem otimizações.
1 pontos   Salva
a.
b.
c.
d.
e.
PERGUNTA 4
No processo de compilação, o código intermediário é: 
código-fonte gerado como rascunho.
um código gerado pelo compilador que será posteriormente traduzido para arquiteturas específicas.
um processo auxiliar da análise sintática. 
a porção do código-fonte que fica entre o cabeçalho da função e sua instrução de retorno. 
um algoritmo de propósito geral.
1 pontos   Salva
? Estado de Conclusão da Pergunta:
https://ava.univesp.br/webapps/blackboard/execute/courseMain?course_id=_4741_1
https://ava.univesp.br/webapps/blackboard/content/listContent.jsp?course_id=_4741_1&content_id=_683699_1&mode=reset
a.
b.
c.
d.
e.
PERGUNTA 5
Se temos N linguagens de programação e M arquiteturas, quantos compiladores precisaríamos construir se fizéssemos a
tradução direta, sem usar o código intermediário?
N
M*N
2*M+N
M
M+N
1 pontos   Salva
a.
b.
c.
d.
e.
PERGUNTA 6
O código linearizado: 
t1 = b + d 
t2 = c + a 
t3 = t1 * t2 
 
equivale a qual das expressões abaixo? 
b+d*c+a
(a*b)+(c*d)
b*(d+c)*a
(b+d)*(c+a)
a+b+c+d
1 pontos   Salva
a.
b.
c.
d.
e.
PERGUNTA 7
A linearização de código serve para: 
tornar o código-fonte linear, de forma que a soma de suas entradas corresponda à soma de suas saídas.
remover as quebras de linha de códigos-fonte.
economizar memória.
tornar todo código executável em tempo linear O(n).
evitar a representação gráfica (em árvore) e permitir gerar código intermediário.
1 pontos   Salva
a.
b.
c.
d.
e.
PERGUNTA 8
Ao linearizarmos a expressão: 
a + b * (c + d) 
encontramos qual código? 
t1 = a + b 
t2 = b * c 
t3 = b + t2 
t1 = a + c + d 
t2 = b * t1 
t1 = c + d 
t2 = b * t1 
t3 = t2 + t1 
t1 = a + b + c * d 
t1 = a 
t1 = t1 + b 
t1 = t1 * c 
t1 = t1 + d 
1 pontos   Salva
a.
b.
c.
d.
e.
PERGUNTA 9
Identifique a alternativa que contém apenas instruções de linguagens de programação que só podem ser implementadas
se usarmos o goto condicional: 
chamada de função.
(3+5)*7.
a<b.
if, chamada de função.
if, for, while.
1 pontos   Salva
 Estado de Conclusão da Pergunta:
Clique em Salvar e Enviar para salvar e enviar. Clique em Salvar todas as respostas para salvar todas as respostas.
 
a.
b.
c.
d.
e.
PERGUNTA 10
O código de três endereços é usado para: 
reduzir operações longas a operações elementares, mais próximas das instruções típicas de linguagens de
máquina.
aumentar o tempo necessário para compilação.
realizar a atribuição de valores a variáveis.
identificar variáveis por seu tipo.
criar novos operadores.
1 pontos   Salva
Salvar todas as respostas Salvar e Enviar
 Estado de Conclusão da Pergunta: