Baixe o app para aproveitar ainda mais
Prévia do material em texto
22/06/2022 19:31 Teste: AO2 https://famonline.instructure.com/courses/19621/quizzes/82022/take 1/9 AO2 Iniciado: 22 jun em 18:49 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,6 ptsPergunta 1 A asserção I é falsa e a asserção II é verdadeira. Ambas as asserções são falsas. As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. A asserção I é verdadeira e a asserção II é falsa. Leia o texto a seguir: “Uma classe C++ pode conter tanto entidades ocultas quanto visíveis (ocultas dos clientes ou visíveis para os clientes da classe). Entidades ocultas são colocadas em uma cláusula private e entidades visíveis, ou públicas, aparecem em uma cláusula public. Logo, a cláusula public descreve a interface para instâncias da classe.” Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Avalie as seguintes asserções e a relação proposta entre elas: I. As cláusulas private e public são úteis para implementar, respectivamente, os princípios do encapsulamento e abstração. PORQUE II. Idealmente, atributos devem ser privados e métodos devem ser públicos. Assinale a alternativa com a relação correta entre as asserções I e II: A+ A A- 22/06/2022 19:31 Teste: AO2 https://famonline.instructure.com/courses/19621/quizzes/82022/take 2/9 0,6 ptsPergunta 2 Programação orientada a objeto. Programação orientada a eventos. Paradigma procedural. Programação concorrente. Paradigma funcional. Leia o texto a seguir: “Uma das características fundamentais dos programas escritos em linguagens imperativas é o fato de terem estado, o qual muda ao longo do processo de execução. Esse estado é representado pelas variáveis do programa. O autor e todos os leitores do programa devem entender os usos de suas variáveis e compreender como o estado do programa muda durante a execução. Para um programa grande, é uma tarefa intimidante.” Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Assinale a alternativa correspondente ao paradigma que não possui estado: 0,6 ptsPergunta 3 Observe a tabela a seguir: Critérios de avaliação de linguagens e as características que os afetam Critérios Característica Legibilidade Facilidade de escrita Confiabilidade A+ A A- 22/06/2022 19:31 Teste: AO2 https://famonline.instructure.com/courses/19621/quizzes/82022/take 3/9 II e III, apenas. Simplicidade • • • Ortogonalidade • • • Tipos de dados • • • Projeto de sintaxe • • • Suporte para abstração • • Expressividade • • Verificação de tipos • Tratamento de exceções • Apelidos restritos • Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Considerando as afirmações sobre critérios de avaliação de linguagens, avalie as afirmações abaixo: I. Linguagens simples não são confiáveis, pois são as estruturas que garantem o funcionamento adequado do programa que adicionam complexidade à linguagem. II. Linguagens com alta legibilidade permitem que uma pessoa não familiarizada com um projeto de software consiga compreender facilmente o que seu código faz. III. Linguagens com facilidade de escrita ajudam a reduzir o custo do projeto, devido à economia de horas de trabalho e prevenção de erros. É correto o que se afirma em: A+ A A- 22/06/2022 19:31 Teste: AO2 https://famonline.instructure.com/courses/19621/quizzes/82022/take 4/9 I e III, apenas. III, apenas. I e II, apenas. I, apenas. 0,6 ptsPergunta 4 O problema descrito pode ser resolvido pela adoção da programação modular. A programação modular exige atenção ao escopo de classes, variáveis e funções. A compilação independente de cada módulo resolve o problema descrito. O problema descrito é exclusivo da programação orientada a objeto. Para evitar o problema descrito, programadores não devem trabalhar paralelamente em módulos distintos. Leia o texto a seguir: “Um programa grande normalmente é escrito por muitos desenvolvedores, que trabalham de maneira independente, talvez até em localizações geográficas diferentes. Isso requer que as unidades lógicas do programa sejam independentes, mas que ainda seja possível trabalhar em conjunto. Além disso, cria um problema de nomeação: como desenvolvedores que trabalham independentemente criam nomes para suas variáveis, métodos e classes sem acidentalmente usar nomes já utilizados por outro programador em uma parte diferente do mesmo sistema de software?” Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Considerando as informações apresentadas, assinale a opção correta: 0,6 ptsPergunta 5 Leia o texto a seguir: A+ A A- 22/06/2022 19:31 Teste: AO2 https://famonline.instructure.com/courses/19621/quizzes/82022/take 5/9 Ela compila o código Lisp, gerando um código binário nativo ao final que pode ser executado múltiplas vezes. Ela traduz o código Lisp para binário nativo em tempo de execução. Essa tradução é executada novamente toda vez que o programa é executado. Ela utiliza inteligência artificial (IA) para gerar automaticamente programas em Lisp. Ela gera programas em uma linguagem intermediária, e na hora da primeira execução ela compila essa linguagem intermediária para binário nativo. Ela gera programas em uma linguagem intermediária, como um bytecode, e em seguida executa esse programa. “McCarthy desenvolveu de maneira bem-sucedida uma função universal que poderia avaliar qualquer outra função. Ela foi chamada EVAL e tinha a forma de uma expressão. Dois pesquisadores do Projeto IA que estavam desenvolvendo Lisp, Stephen B. Russell e Daniel J. Edwards, deram-se conta de que uma implementação de EVAL poderia servir como um interpretador Lisp e prontamente construíram tal implementação.” Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Assinale a alternativa correta sobre o provável funcionamento da implementação de EVAL: 0,6 ptsPergunta 6 Leia o texto a seguir: “As primeiras implementações de Java eram todas híbridas. Seu formato intermediário, chamado de bytecode, fornece portabilidade para qualquer máquina que tenha um interpretador de bytecodes e um sistema de tempo de execução associado. Juntos, eles são chamados de Máquina Virtual Java. Existem agora sistemas que traduzem bytecodes Java em código de máquina, de forma a possibilitar uma execução mais rápida.” Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Considerando o trecho acima, avalie as afirmações abaixo: I. O código Java é interpretado pela Máquina Virtual, gerando como resultado o bytecode. A+ A A- 22/06/2022 19:31 Teste: AO2 https://famonline.instructure.com/courses/19621/quizzes/82022/take 6/9 I e II, apenas. I e IV, apenas. III e IV, apenas. II e IV, apenas. II e III, apenas. II. O bytecode é interpretado pela Máquina Virtual, sendo traduzido para instruções nativas. III. O código Java é compilado pelo JIT, gerando bytecode para ser interpretado pela Máquina Virtual. IV. O bytecode é compilado pelo JIT, gerando código de máquina nativo. É correto o que se afirma em: 0,6 ptsPergunta 7 Leia o texto a seguir: “A simplicidade em linguagens pode, é claro, ser levada ao extremo. Por exemplo, a forma e o significado da maioria das sentenças de uma linguagem assembly são modelos de simplicidade, como você pode ver quando considera as sentenças que aparecem na próxima seção. Essa simplicidade extrema, entretanto, torna menos legíveis os programas escritos em linguagem assembly. Devido à falta de sentenças de controle mais complexas, a estrutura de um programa é menos óbvia; como as sentenças são simples, mais delas são necessárias do que em programasequivalentes escritos em uma linguagem de alto nível.” Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Considerando o trecho acima, avalie as seguintes asserções e a relação proposta entre elas: I. As linguagens assembly possuem excelente desempenho computacional. PORQUE II. As linguagens assembly são mais difíceis de compreender do que as linguagens consideradas de alto nível. A+ A A- 22/06/2022 19:31 Teste: AO2 https://famonline.instructure.com/courses/19621/quizzes/82022/take 7/9 As asserções I e II são falsas. As asserções I e II são verdadeiras, e a II é uma justificativa correta da I. As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I. A asserção II é verdadeira e a asserção I é falsa. A asserção I é verdadeira e a asserção II é falsa. Assinale a alternativa com a relação correta entre as asserções I e II: 0,6 ptsPergunta 8 HTML é dispensável na Web, podendo ser substituída por JavaScript ou PHP. Java é uma linguagem de scripting. HTML é uma linguagem de scripting. HTML não é usada para escrever algoritmos. HTML garante o dinamismo do conteúdo Web. Leia o texto a seguir: “A World Wide Web é mantida por uma eclética coleção de linguagens, que vão desde linguagens de marcação, como HTML, que não é de programação, até linguagens de programação de propósito geral, como Java. Dada a necessidade universal de conteúdo dinâmico na Web, alguma capacidade de computação geralmente é incluída na tecnologia de apresentação de conteúdo. Essa funcionalidade pode ser fornecida por código de programação embarcado em um documento HTML. Tal código é normalmente escrito com uma linguagem de scripting, como JavaScript ou PHP (Tatroe, 2013).” Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Considerando as informações apresentadas, assinale a opção correta: A+ A A- 22/06/2022 19:31 Teste: AO2 https://famonline.instructure.com/courses/19621/quizzes/82022/take 8/9 0,6 ptsPergunta 9 A asserção I é falsa e a asserção II é verdadeira. 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. Leia o texto a seguir: “Algumas vezes, um implementador pode fornecer tanto implementações compiladas quanto interpretadas para uma linguagem. Nesses casos, o interpretador é usado para desenvolver e depurar programas. Então, após um estado (relativamente) livre de erros ser alcançado, os programas são compilados para aumentar sua velocidade de execução.” Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Considerando o trecho acima, avalie as asserções abaixo e a relação proposta entre elas. I. É mais rápido testar programas em fase de desenvolvimento se eles forem compilados. PORQUE II. Programas compilados passam por uma série de otimizações e executam em binário nativo. Assinale a alternativa com a relação correta entre as asserções I e II: 0,6 ptsPergunta 10 Leia o texto a seguir: “Um ambiente de programação é a coleção de ferramentas usadas no desenvolvimento de software. Essa coleção pode consistir em apenas um A+ A A- 22/06/2022 19:31 Teste: AO2 https://famonline.instructure.com/courses/19621/quizzes/82022/take 9/9 Salvo em 19:31 I e IV, apenas. I, III e IV, apenas. II e IV, apenas. I, II e IV, apenas. I e III, apenas. sistema de arquivos, um editor de textos, um ligador e um compilador. Ou pode incluir uma grande coleção de ferramentas integradas, cada uma acessada por meio de uma interface de usuário uniforme. Neste último caso, o desenvolvimento e a manutenção de software são enormemente melhorados. Logo, as características de uma linguagem de programação não são a única medida da capacidade de desenvolvimento de um sistema.” Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Considerando o trecho acima, avalie as afirmações abaixo: I. A geração automática de códigos é um recurso que pode ser oferecido pelo ambiente de programação. II. Cada ambiente de programação é exclusivo para uma única linguagem de programação. III. É possível desenvolver em múltiplas linguagens utilizando o mesmo ambiente. IV. Cada linguagem possui um ambiente nativo que deverá ser obrigatoriamente utilizado em seu desenvolvimento. É correto o que se afirma em: Enviar teste A+ A A-
Compartilhar