Baixe o app para aproveitar ainda mais
Prévia do material em texto
Atividade Objetiva 4 Iniciado: 17 jun em 15:31 Instruções do teste 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 ptsPergunta 1 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: A+ A A- Teste: Atividade Objetiva 4 https://famonline.instructure.com/courses/19621/quizzes/82016/take 1 of 6 17/06/2022 15:54 A asserção I é falsa e a asserção II é verdadeira. 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. 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 falsas. 0,2 ptsPergunta 2 Leia o texto a seguir: “A versão inicial do interpretador Java, chamado de Máquina Virtual Java (JVM), era ao menos 10 vezes 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. 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: A+ A A- Teste: Atividade Objetiva 4 https://famonline.instructure.com/courses/19621/quizzes/82016/take 2 of 6 17/06/2022 15:54 I e III, apenas. II e III, apenas. II, apenas. III, apenas. I, apenas. 0,2 ptsPergunta 3 A linguagem precisa ser compilada para binários de 150 KBytes. A linguagem deve ser antes compilada para bytecode Java. A linguagem será sempre uma linguagem interpretada pura. A linguagem é sempre interpretada pela Java Virtual Machine. A linguagem deve possuir uma etapa de compilação e uma de interpretação. 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? 0,2 ptsPergunta 4 A+ A A- Teste: Atividade Objetiva 4 https://famonline.instructure.com/courses/19621/quizzes/82016/take 3 of 6 17/06/2022 15:54 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. Linguagens de baixo nível, como C, C++ e Rust, podem ser compiladas diretamente para WebAssembly . Linguagens como C, C++ e Rust devem ser compiladas para JavaScript, e depois para WebAssembly Somente linguagens de alto nível podem ser compiladas diretamente para WebAssembly. 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. 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: 0,2 ptsPergunta 5 A+ A A- Teste: Atividade Objetiva 4 https://famonline.instructure.com/courses/19621/quizzes/82016/take 4 of 6 17/06/2022 15:54 II e III, apenas. II, apenas. I, apenas. I e III, apenas. I e II, apenas. 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. 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: A+ A A- Teste: Atividade Objetiva 4 https://famonline.instructure.com/courses/19621/quizzes/82016/take 5 of 6 17/06/2022 15:54 Salvo em 15:53 Enviar teste A+ A A- Teste: Atividade Objetiva 4 https://famonline.instructure.com/courses/19621/quizzes/82016/take 6 of 6 17/06/2022 15:54
Compartilhar