Logo Passei Direto
Buscar

Questões 01 compiladores

Ferramentas de estudo

Questões resolvidas

Levando-se em consideração o processo de compilação padrão da linguagem C/C++, podemos observar a criação de arquivos com a terminação .obj.
Entre as alternativas a seguir, assinale a alternativa falsa relativa aos arquivos do tipo .obj deste processo de compilação.
A Arquivos .obj contém código de máquina referente a um arquivo de código-fonte específico;
B Graças a existência destes arquivos .obj, podemos utilizar bibliotecas pré-compiladas e reduzir o tempo de compilação dos nossos programas;
C A principal função do Linker é fazer a junção de todos os arquivos .obj envolvidos no processo de compilação;
D Se o arquivo .obj já está em linguagem de máquina, ele pode ser facilmente executado em um sistema operacional;
E Sem o uso de arquivos .obj o processo de compilação seria mais lento já que todas as funções e objetos utilizados no seu código teriam que passar por todo o processo de compilação ficando mais lento.

Uma das principais características de uma linguagem formal é a existência de uma estrutura rígida e precisamente especificada. As linguagens formais são utilizadas na programação de computadores há várias décadas principalmente por que sua estrutura rígida torna o processo de compilação possível.
Ainda relacionado as linguagens formais qual das afirmativas abaixo é verdadeira?
A A língua portuguesa, graças a sua gramática estruturada é um exemplo de linguagem formal;
B As linguagens formais não podem ser definidas com o uso de máquinas de estados finitos;
C A linguagem de programação Java constitui um exemplo de linguagem natural usada em programação;
D Uma das formas de definir uma linguagem formal reside no uso de expressões regulares;
E O Teorema de Kleene, para a definição de linguagens naturais, torna mais eficiente o processo de interpretação em máquinas que rodem o Javascript.

Em busca da eficiência na execução dos programas, ao longo do tempo, o processo de compilação ficou complexo e sujeito a erros e a tempos muito longos. Uma forma de tornar o processo de compilação mais eficiente foi a divisão deste processo em módulos dedicados. Assim, temos um módulo apenas para fazer a análise sintática do texto e outro apenas para entender o conteúdo semântico e assim sucessivamente. Quanto ao analisador sintático é verdadeiro dizer que:
A O analisador sintático, apesar de fazer parte do processo de compilação, é totalmente dispensável e não altera o resultado final;
B A principal função do analisador sintático é enviar os tokens necessários ao funcionamento do analisador Léxico;
C O analisador sintático, para efetuar sua tarefa, organiza os tokens, enviados pelo analisador léxico em uma árvore;
D A análise sintática só pode ser realizada depois que o seu código-fonte esteja convertido em linguagem de máquina;
E A maior parte de todas as linguagens formais, utilizadas para a programação de computadores dispensa o uso de analisadores sintáticos.

O processo de compilação é diferente de linguagem para linguagem. Notadamente por que cada um dos módulos envolvidos no processo está intimamente ligado as características específicas da linguagem que está sendo convertida em linguagem de máquina. Sendo assim, marque a alternativa correta entre as alternativas abaixo.
A Não existe nenhuma forma de compilar códigos escritos em Python;
B A linguagem C pode ser compilada para a arquitetura ARM;
C Uso de interpretadores de C++ não é possível graças a orientação a objetos desta linguagem;
D A linguagem Assembly é a própria linguagem de máquina;
E A execução do Javascript, em páginas web não necessita de códigos de máquina, já que ele roda em um ambiente controlado.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Levando-se em consideração o processo de compilação padrão da linguagem C/C++, podemos observar a criação de arquivos com a terminação .obj.
Entre as alternativas a seguir, assinale a alternativa falsa relativa aos arquivos do tipo .obj deste processo de compilação.
A Arquivos .obj contém código de máquina referente a um arquivo de código-fonte específico;
B Graças a existência destes arquivos .obj, podemos utilizar bibliotecas pré-compiladas e reduzir o tempo de compilação dos nossos programas;
C A principal função do Linker é fazer a junção de todos os arquivos .obj envolvidos no processo de compilação;
D Se o arquivo .obj já está em linguagem de máquina, ele pode ser facilmente executado em um sistema operacional;
E Sem o uso de arquivos .obj o processo de compilação seria mais lento já que todas as funções e objetos utilizados no seu código teriam que passar por todo o processo de compilação ficando mais lento.

Uma das principais características de uma linguagem formal é a existência de uma estrutura rígida e precisamente especificada. As linguagens formais são utilizadas na programação de computadores há várias décadas principalmente por que sua estrutura rígida torna o processo de compilação possível.
Ainda relacionado as linguagens formais qual das afirmativas abaixo é verdadeira?
A A língua portuguesa, graças a sua gramática estruturada é um exemplo de linguagem formal;
B As linguagens formais não podem ser definidas com o uso de máquinas de estados finitos;
C A linguagem de programação Java constitui um exemplo de linguagem natural usada em programação;
D Uma das formas de definir uma linguagem formal reside no uso de expressões regulares;
E O Teorema de Kleene, para a definição de linguagens naturais, torna mais eficiente o processo de interpretação em máquinas que rodem o Javascript.

Em busca da eficiência na execução dos programas, ao longo do tempo, o processo de compilação ficou complexo e sujeito a erros e a tempos muito longos. Uma forma de tornar o processo de compilação mais eficiente foi a divisão deste processo em módulos dedicados. Assim, temos um módulo apenas para fazer a análise sintática do texto e outro apenas para entender o conteúdo semântico e assim sucessivamente. Quanto ao analisador sintático é verdadeiro dizer que:
A O analisador sintático, apesar de fazer parte do processo de compilação, é totalmente dispensável e não altera o resultado final;
B A principal função do analisador sintático é enviar os tokens necessários ao funcionamento do analisador Léxico;
C O analisador sintático, para efetuar sua tarefa, organiza os tokens, enviados pelo analisador léxico em uma árvore;
D A análise sintática só pode ser realizada depois que o seu código-fonte esteja convertido em linguagem de máquina;
E A maior parte de todas as linguagens formais, utilizadas para a programação de computadores dispensa o uso de analisadores sintáticos.

O processo de compilação é diferente de linguagem para linguagem. Notadamente por que cada um dos módulos envolvidos no processo está intimamente ligado as características específicas da linguagem que está sendo convertida em linguagem de máquina. Sendo assim, marque a alternativa correta entre as alternativas abaixo.
A Não existe nenhuma forma de compilar códigos escritos em Python;
B A linguagem C pode ser compilada para a arquitetura ARM;
C Uso de interpretadores de C++ não é possível graças a orientação a objetos desta linguagem;
D A linguagem Assembly é a própria linguagem de máquina;
E A execução do Javascript, em páginas web não necessita de códigos de máquina, já que ele roda em um ambiente controlado.

Prévia do material em texto

VoltarFERNANDO BORMAN RU: 367688Avisos 
CURSO: BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO - DISTÂNCIA
AVALIAÇÃO » NOVO
Atenção. Este gabarito é para uso exclusivo do aluno e não deve ser publicado ou compartilhado em redes sociais ou grupo de mensagens.
O seu compartilhamento infringe as políticas do Centro Universitário UNINTER e poderá implicar sanções disciplinares, com possibilidade de desligamento do quadro de alunos
do Centro Universitário, bem como responder ações judiciais no âmbito cível e criminal.
 PROTOCOLO: 2019040936768826DB730 FERNANDO ANDREY BORMAN - RU: 367688 Nota: 60
Disciplina(s):
Compiladores
Data de início: 09/04/2019 18:20
Prazo máximo entrega: - 
Data de entrega: 09/04/2019 18:28
Questão 1/5 - Compiladores
Dado o alfabeto identifique, nas opções a seguir, a máquina de estados finitos capaz de identificar strings binárias que 
representam números múltiplos de 2 e não de 4.
Nota: 20.0
A
B
C
D
E
Σ = {1, 0}
Você acertou!
estamos falando dos números binários que terminam 10. Uma análise detalhada dos estados e transições da máquina representada
no enunciado permite perceber que: uma string que comece com qualquer números de zeros irá manter a máquina no estado ; o
primeiro um da string de entrada colocará a máquina no estado neste ponto, todos os próximos uns manterão a máquina no estado
; O primeiro zero colocará a máquina no estado , em accepting state; Neste estado um zero levará ao estado caso contrário a
máquina irá para o estado . Ou seja, a única forma de atingir o accepting state é receber um em e zero em


Roteiro de Estudo

Avaliações

Tutoria

Fórum

Trabalhos

Chat

Rádio Web

Avisos
COMPILADORES 
3
 
Questão 2/5 - Compiladores
Levando-se em consideração o processo de compilação padrão da linguagem C/C++, podemos observar a criação de arquivos com a 
terminação .obj. Entre as alternativas a seguir, assinale a alternativa falsa relativa aos arquivos do tipo .obj deste processo de 
compilação.
Nota: 0.0
A Arquivos .obj contém código de máquina referente a um arquivo de código-fonte específico;
B Graças a existência destes arquivos .obj, podemos utilizar bibliotecas pré-compiladas e reduzir o tempo de compilação dos
nossos programas;
C A principal função do Linker é fazer a junção de todos os arquivos .obj envolvidos no processo de compilação;
D Se o arquivo .obj já está em linguagem de máquina, ele pode ser facilmente executado em um sistema operacional;
E Sem o uso de arquivos .obj o processo de compilação seria mais lento já que todas as funções e objetos utilizados no seu
código teriam que passar por todo o processo de compilação ficando mais lento.
Questão 3/5 - Compiladores
Uma das principais características de uma linguagem formal é a existência de uma estrutura rígida e precisamente especificada. As 
linguagens formais são utilizadas na programação de computadores há várias décadas principalmente por que sua estrutura rígida torna 
o processo de compilação possível. Ainda relacionado as linguagens formais qual das afirmativas abaixo é verdadeira?
Nota: 20.0
A A língua portuguesa, graças a sua gramática estruturada é um exemplo de linguagem formal;
B As linguagens formais não podem ser definidas com o uso de máquinas de estados finitos;
C A linguagem de programação Java constitui um exemplo de linguagem natural usada em programação;
D Uma das formas de definir uma linguagem formal reside no uso de expressões regulares;
E O Teorema de Kleene, para a definição de linguagens naturais, torna mais eficiente o processo de interpretação em
máquinas que rodem o Javascript.
Questão 4/5 - Compiladores
Em busca da eficiência na execução dos programas, ao longo do tempo, o processo de compilação ficou complexo e sujeito a erros e a 
tempos muito longos. Uma forma de tornar o processo de compilação mais eficiente foi a divisão deste processo em módulos dedicados. 
Assim, temos um módulo apenas para fazer a análise sintática do texto e outro apenas para entender o conteúdo semântico e assim 
sucessivamente. Quanto ao analisador sintático é verdadeiro dizer que:
Marque a alternativa correta
Nota: 20.0
A O analisador sintático, apesar de fazer parte do processo de compilação, é totalmente dispensável e não altera o resultado
final;
B A principal função do analisador sintático é enviar os tokens necessários ao funcionamento do analisador Léxico;
C O analisador sintático, para efetuar sua tarefa, organiza os tokens, enviados pelo analisador léxico em uma árvore;
D A análise sintática só pode ser realizada depois que o seu código-fonte esteja convertido em linguagem de máquina;
E A maior parte de todas as linguagens formais, utilizadas para a programação de computadores dispensa o uso de
analisadores sintáticos.
Questão 5/5 - Compiladores
O processo de compilação é diferente de linguagem para linguagem. Notadamente por que cada um dos módulos envolvidos no processo 
está intimamente ligado as características específicas da linguagem que está sendo convertida em linguagem de máquina. Sendo assim, 
marque a alternativa correta entre as alternativas abaixo.
Nota: 0.0
Ainda que o arquivo .obj possa conter código de máquina e, em alguns casos, apenas código de máquina, este arquivo não pode ser
executado por não conter as informações específicas de execução necessárias para o sistema operacional.

Você acertou!
A resposta correta é a letra D, o teorema de Kleene declara que só podem ser classificadas como linguagens formais aquelas que
podem ser definidas com o uso de máquinas de estados finitos e/ou expressões regulares.

Você acertou!
a resposta correta é a letra C e pode ser encontrada no primeiro capítulo do livro texto.

 
A Não existe nenhuma forma de compilar códigos escritos em Python;
B A linguagem C pode ser compilada para a arquitetura ARM;
C Uso de interpretadores de C++ não é possível graças a orientação a objetos desta linguagem;
D A linguagem Assembly é a própria linguagem de máquina;
E A execução do Javascript, em páginas web não necessita de códigos de máquina, já que ele roda em um ambiente
controlado.
Qualquer linguagem pode ser compilada para qualquer arquitetura.

Mais conteúdos dessa disciplina