Logo Passei Direto

Atividade Objetiva 4 Paradigmas de Linguagens de Programação FAM

Ferramentas de estudo

Solved questions

Leia o texto a seguir:

“WebAssembly é um novo tipo de código que pode ser executado nos
browsers modernos e fornece novas características e maiores ganhos em
performance. Ele não foi pensado incialmente para ser escrito à mão, ao
contrário, foi pensado para ser um alvo eficiente de compilação para
linguagens de baixo nível como C, C++, Rust etc.


A linguagem precisa ser compilada para binários de 150 KBytes.
A linguagem deve ser antes compilada para bytecode Java.
A linguagem deve possuir uma etapa de compilação e uma de interpretação.
A linguagem será sempre uma linguagem interpretada pura.
A linguagem é sempre interpretada pela Java Virtual Machine.

Sabendo que uma DLL – Dynamic Link Library é uma biblioteca dinâmica que contém código e dados que podem ser usados por mais de um programa ao mesmo tempo, sendo baseadas em sub-rotinas armazenadas em disco, avalie as seguintes asserções e a relação proposta entre elas.

I. Uma das vantagens de se utilizar multiprocessamento é melhorar o desempenho de processamento.

PORQUE

II. Ao executar processos paralelos simultaneamente, o programa é executado mais rápido.

Assinale a alternativa correta sobre a relação entre as asserções I e II:


As asserções I e II são falsas.
As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I.
As asserções I e II são verdadeiras e a II é uma justificativa correta da I.
A asserção I é verdadeira e a asserção II é falsa.
A asserção I é falsa e a asserção II é verdadeira.

Material
Study with thousands of resources!

Solved questions

Leia o texto a seguir:

“WebAssembly é um novo tipo de código que pode ser executado nos
browsers modernos e fornece novas características e maiores ganhos em
performance. Ele não foi pensado incialmente para ser escrito à mão, ao
contrário, foi pensado para ser um alvo eficiente de compilação para
linguagens de baixo nível como C, C++, Rust etc.


A linguagem precisa ser compilada para binários de 150 KBytes.
A linguagem deve ser antes compilada para bytecode Java.
A linguagem deve possuir uma etapa de compilação e uma de interpretação.
A linguagem será sempre uma linguagem interpretada pura.
A linguagem é sempre interpretada pela Java Virtual Machine.

Sabendo que uma DLL – Dynamic Link Library é uma biblioteca dinâmica que contém código e dados que podem ser usados por mais de um programa ao mesmo tempo, sendo baseadas em sub-rotinas armazenadas em disco, avalie as seguintes asserções e a relação proposta entre elas.

I. Uma das vantagens de se utilizar multiprocessamento é melhorar o desempenho de processamento.

PORQUE

II. Ao executar processos paralelos simultaneamente, o programa é executado mais rápido.

Assinale a alternativa correta sobre a relação entre as asserções I e II:


As asserções I e II são falsas.
As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I.
As asserções I e II são verdadeiras e a II é uma justificativa correta da I.
A asserção I é verdadeira e a asserção II é falsa.
A asserção I é falsa e a asserção II é verdadeira.

Text Material Preview

22/09/2023, 12:09 Atividade Objetiva 4: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139315?module_item_id=710824 1/7
Atividade Objetiva 4
Entrega 18 jun em 23:59 Pontos 1 Perguntas 5
Disponível até 18 jun em 23:59 Limite de tempo Nenhum
Tentativas permitidas 2
Instruções
Este teste não está mais disponível, pois o curso foi concluído.
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 40 minutos 1 de 1
Pontuação desta tentativa: 1 de 1
Enviado 16 jun em 13:50
Esta tentativa levou 40 minutos.
Importante:
Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você
clique em "FAZER O QUESTIONÁRIO", no final da página.
0,2 / 0,2 ptsPergunta 1
Leia o texto a seguir:
“Lua pode ser usada como uma extensão de uma linguagem de scripting
para outras linguagens. Como as primeiras implementações de Java, Lua
é traduzida em um código intermediário e interpretada. Ela pode ser
facilmente embarcada em outros sistemas, em parte por causa do
tamanho pequeno de seu interpretador, que tem apenas cerca de 150
KBytes.”
Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11.
ed. Porto Alegre: Bookman, 2018.
Qual alternativa indica o processo correto para a execução de códigos
que precisam de tradução? 
A+
A
A-
https://famonline.instructure.com/courses/27495/quizzes/139315/history?version=1
22/09/2023, 12:09 Atividade Objetiva 4: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139315?module_item_id=710824 2/7
 A linguagem precisa ser compilada para binários de 150 KBytes. 
 A linguagem deve ser antes compilada para bytecode Java. 
 
A linguagem deve possuir uma etapa de compilação e uma de
interpretação.
Correto!Correto!
 A linguagem será sempre uma linguagem interpretada pura. 
 A linguagem é sempre interpretada pela Java Virtual Machine. 
Alternativa correta, pois a linguagem que, assim como Lua, é
traduzida – ou seja, compilada – para uma linguagem
intermediária é interpretada, recorrendo a uma etapa de
compilação seguida de interpretação.
0,2 / 0,2 ptsPergunta 2
Observe o diagrama ilustrando a divisão de memória em um programa
em execução:
Fonte: MAZIERO, Carlos. Alocação de memória. UFPR. Disponível em <
http://wiki.inf.ufpr.br/maziero/doku.php?id=prog2:alocacao_de_memoria>.
Acesso em 2 set 2021.
A+
A
A-
22/09/2023, 12:09 Atividade Objetiva 4: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139315?module_item_id=710824 3/7
Considerando a figura, avalie as afirmações abaixo:
I. Parâmetros de função ficam na área denominada “stack”.
II. Variáveis alocadas dinamicamente ficam na área denominada “heap”.
III. Variáveis locais de função ficam na área denominada “heap”.
É correto o que se afirma em:
 II e III, apenas. 
 I e III, apenas. 
 I, apenas. 
 II, apenas. 
 I e II, apenas. Correto!Correto!
Alternativa correta.
Afirmativa I é verdadeira, pois os parâmetros de função e variáveis
locais são alocados no stack, uma região de memória
relativamente limitada.
A afirmativa II é verdadeira, pois as variáveis alocadas
dinamicamente utilizam o heap, que possui mais liberdade para
crescer conforme necessário, sendo mais adequado para alocar
grandes quantidades de memória.
A afirmativa III é falsa, pois de maneira geral, variáveis locais (ou
seja, internas de funções) alocadas estaticamente, bem como
parâmetros de função, são alocadas no stack.
0,2 / 0,2 ptsPergunta 3
Leia o texto a seguir:
“WebAssembly é um novo tipo de código que pode ser executado nos
browsers modernos e fornece novas características e maiores ganhos em
performance. Ele não foi pensado incialmente para ser escrito à mão, ao
contrário, foi pensado para ser um alvo eficiente de compilação para
linguagens de baixo nível como C, C++, Rust etc.
A+
A
A-
22/09/2023, 12:09 Atividade Objetiva 4: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139315?module_item_id=710824 4/7
Ele possui implicações enormes para a plataforma web — ele fornece um
caminho para executar códigos escritos em múltiplas linguagens na web,
com velocidades próximas às das linguagens nativas com apps sendo
executados na web, onde antes não era possível. (...) 
Historicamente, a VM tem tido permissão para carregar apenas
JavaScript. (...) Com o advento do WebAssembly nos browsers, a
máquina virtual a que nos referimos antes, vai carregar e executar dois
tipos de código — JavaScript e WebAssembly.”
Fonte: CONTRIBUTORS, Mozilla. Conceitos do WebAssembly. MDN Web
Docs. Disponível em <https://developer.mozilla.org/pt-
BR/docs/WebAssembly/Concepts>. Acesso em 02 set 2021.
Considerando as informações apresentadas, assinale a opção correta:
 
Linguagens como C, C++ e Rust devem ser compiladas para JavaScript, e
depois para WebAssembly
 
A partir de agora, qualquer linguagem pode ser utilizada para a
programação WebAssembly.
 
Linguagens como C, C++ e Rust devem ser exclusivamente compiladas
para WebAssembly.
 
Somente linguagens de alto nível podem ser compiladas diretamente para
WebAssembly.
 
Linguagens de baixo nível, como C, C++ e Rust, podem ser compiladas
diretamente para WebAssembly .
Correto!Correto!
A+
A
A-
22/09/2023, 12:09 Atividade Objetiva 4: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139315?module_item_id=710824 5/7
Alternativa correta, pois a linguagem WebAssembly é um alvo de
compilação para linguagens como C, C++ e Rust, ou seja, essas
linguagens podem ser compiladas para WebAssembly. Já a
máquina virtual que antes só executava JavaScript, agora é capaz
de carregar dois tipos diferentes de código: JavaScript e
WebAssembly. Ou seja, o WebAssembly é executado pela mesma
máquina que o JavaScript.
0,2 / 0,2 ptsPergunta 4
Leia o texto a seguir:
“Quando vários programas usam a mesma biblioteca de funções, uma
DLL pode reduzir a duplicação de código carregada no disco e na
memória física. Ele pode influenciar muito o desempenho não apenas do
programa que está em execução em primeiro plano, mas também de
outros programas que estão sendo executados no Windows.”
Fonte: MICROSOFT. O que é uma DLL. Microsoft Docs, 2020. Disponível
em < https://docs.microsoft.com/pt-br/troubleshoot/windows-
client/deployment/dynamic-link-library>. Acesso em 2 set 2021.
Sabendo que uma DLL – Dynamic Link Library é uma biblioteca dinâmica
que contém código e dados que podem ser usados por mais de um
programa ao mesmo tempo, sendo baseadas em sub-rotinas
armazenadas em disco, avalie as seguintes asserções e a relação
proposta entre elas.
I. Uma das vantagens de se utilizar multiprocessamento é melhorar o
desempenho de processamento.
PORQUE
II. Ao executar processos paralelos simultaneamente, o programa é
executado mais rápido.
Assinale a alternativa correta sobre a relação entre as asserções I e II:
 As asserções I e II são falsas. 
A+
A
A-
22/09/2023, 12:09 Atividade Objetiva 4: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139315?module_item_id=710824 6/7
 
As asserções I e II são verdadeiras, mas a II não é uma justificativa correta
da I.
 
As asserções I e II são verdadeiras e a II é uma justificativa correta da I. 
Correto!Correto!
 A asserção I é verdadeira e a asserção II é falsa. 
 A asserção I é falsa e a asserção II é verdadeira. 
Alternativa correta, pois a asserção I é verdadeira, e é justificada
pela asserção II. O suporte à programação multiprocessada
permite execução simultânea e, assim, melhor desempenho de
processamento. Linguagens de programação de diferentes
paradigmas oferecem esse recurso em diferentes níveis, podendo
ser implementadas por meio de bibliotecas.
0,2 / 0,2 ptsPergunta 5
Leia o texto a seguir:
“A versão inicial do interpretador Java, chamado de Máquina Virtual Java
(JVM), era ao menos 10vezes mais lenta que os programas compilados
em C equivalentes. Entretanto, muitos programas Java são agora
traduzidos para código de máquina antes de serem executados, por meio
de compiladores Just-in-Time (JIT). Isso torna a eficiência dos programas
Java competitiva com a de programas escritos em linguagens compiladas
de forma convencional, como C++ (...)”
Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11.
ed. Porto Alegre: Bookman, 2018.
Considerando o trecho acima, avalie as afirmações a seguir: 
I. O compilador JIT gera bytecode para ser interpretado pela
máquina virtual.
II. O compilador JIT transforma bytecode em binário nativo na hora
da execução.
A+
A
A-
22/09/2023, 12:09 Atividade Objetiva 4: Paradigmas de Linguagens de Programação
https://famonline.instructure.com/courses/27495/quizzes/139315?module_item_id=710824 7/7
III. O código gerado pela JIT é interpretado de maneira eficiente o
suficiente para ser competitivo com códigos compilados.
É correto o que se afirma em:
 II e III, apenas. 
 III, apenas. 
 I e III, apenas. 
 II, apenas. Correto!Correto!
 I, apenas. 
Alternativa correta.
A afirmativa I é falsa, pois o compilador JIT traduz bytecode (feito
originalmente para a JVM) para binário nativo.
A afirmativa II é verdadeira, pois o compilador JIT traduz bytecode
(gerado previamente a partir de um programa Java) para código
binário nativo na primeira execução do programa.
A afirmativa III é falsa, pois o código gerado pelo JIT não é
interpretado. Como o JIT gera código binário nativo, esse código é
executado diretamente pelo computador, sem a necessidade de
interpretação.
Pontuação do teste: 1 de 1
A+
A
A-