Baixe o app para aproveitar ainda mais
Prévia do material em texto
Paradigmas de Linguagens de Program… Ques�onários AO2 Conta Painel de controle Cursos Grupos Calendário Caixa de entrada Histórico AO2 Iniciado: 2 jun em 17:34 Instruções do teste Salvando... Online Presencial | 2022.1 Página inicial Avisos Módulos Tarefas Notas Pessoas Fóruns Zoom Importante: Caso você esteja realizando a a�vidade através do aplica�vo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. 0,6 ptsPergunta 1 I, apenas. II e III, apenas. I e III, apenas. I e II, apenas. III, apenas. Observe a tabela a seguir: Critérios de avaliação de linguagens e as caracterís�cas que os afetam Critérios Caracterís�ca Legibilidade Facilidade de escrita Confiabilidade Simplicidade • • • Ortogonalidade • • • Tipos de dados • • • Projeto de sintaxe • • • Suporte para abstração • • Expressividade • • Verificação de �pos • 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 so�ware 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: 0,6 ptsPergunta 2 As asserções I e II são falsas. A asserção II é verdadeira e a asserção I é falsa. As asserções I e II são verdadeiras, e a II é uma jus�fica�va 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 jus�fica�va correta da I. 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 programas equivalentes 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 di�ceis de compreender do que as linguagens consideradas de alto nível. 0,6 ptsPergunta 3 Ela gera programas em uma linguagem intermediária, como um bytecode, e em seguida executa esse programa. Ela u�liza inteligência ar�ficial (IA) para gerar automa�camente 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 na�vo. Ela compila o código Lisp, gerando um código binário na�vo ao final que pode ser executado múl�plas vezes. Ela traduz o código Lisp para binário na�vo em tempo de execução. Essa tradução é executada novamente toda vez que o programa é executado. Leia o texto a seguir: “McCarthy desenvolveu de maneira bem-sucedida uma função universal que poderia avaliar qualquer outra função. Ela foi chamada EVAL e �nha 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 alterna�va correta sobre o provável funcionamento da implementação de EVAL. 0,6 ptsPergunta 4 HTML é dispensável na Web, podendo ser subs�tuída por JavaScript ou PHP. HTML é uma linguagem de scrip�ng. Java é uma linguagem de scrip�ng. HTML não é usada para escrever algoritmos. HTML garante o dinamismo do conteúdo Web. Leia o texto a seguir: “A World Wide Web é man�da por uma eclé�ca 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 scrip�ng, 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. 0,6 ptsPergunta 5 I, II e IV, apenas. I e III, apenas. I e IV, apenas. I, III e IV, apenas. II e IV, apenas. Leia o texto a seguir: “Um ambiente de programação é a coleção de ferramentas usadas no desenvolvimento de so�ware. Essa coleção pode consis�r em apenas um 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 úl�mo caso, o desenvolvimento e a manutenção de so�ware são enormemente melhorados. Logo, as caracterís�cas 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á�ca 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úl�plas linguagens u�lizando o mesmo ambiente. IV. Cada linguagem possui um ambiente na�vo que deverá ser obrigatoriamente u�lizado em seu desenvolvimento. É correto o que se afirma em: 0,6 ptsPergunta 6 II e IV, apenas. III e IV, apenas. I e II, apenas. I e IV, apenas. II e III, apenas. 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. II. O bytecode é interpretado pela Máquina Virtual, sendo traduzido para instruções na�vas. 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 na�vo. É correto o que se afirma em: 0,6 ptsPergunta 7 Programação orientada a eventos. Programação orientada a objeto. Paradigma funcional. Programação concorrente. Paradigma procedural. Leia o texto a seguir: “Uma das caracterís�cas fundamentais dos programas escritos em linguagens impera�vas é 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 leitoresdo 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 in�midante.” Fonte: SEBESTA, R. W. Conceitos de linguagens de programação. 11. ed. Porto Alegre: Bookman, 2018. Assinale a alterna�va correspondente ao paradigma que não possui estado. 0,6 ptsPergunta 8 As asserções I e II são verdadeiras, e a II é uma jus�fica�va correta da I. As asserções I e II são falsas. A asserção I é verdadeira e a asserção II é falsa. A asserção I é falsa e a asserção II é verdadeira. As asserções I e II são verdadeiras, mas a II não é uma jus�fica�va correta da I. 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 (rela�vamente) 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 o�mizações e executam em binário na�vo. 0,6 ptsPergunta 9 As asserções I e II são verdadeiras, mas a II não é uma jus�fica�va correta da I. Ambas as asserções são falsas. A asserção I é verdadeira e a asserção II é falsa. As asserções I e II são verdadeiras, e a II é uma jus�fica�va correta da I. A asserção I é falsa e a asserção II é verdadeira. Leia o texto a seguir: “Uma classe C++ pode conter tanto en�dades ocultas quanto visíveis (ocultas dos clientes ou visíveis para os clientes da classe). En�dades ocultas são colocadas em uma cláusula private e en�dades 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, respec�vamente, os princípios do encapsulamento e abstração. PORQUE II. Idealmente, atributos devem ser privados e métodos devem ser públicos. 0,6 ptsPergunta 10 Para evitar o problema descrito, programadores não devem trabalhar paralelamente em módulos dis�ntos. O problema descrito é exclusivo da programação orientada a objeto. O problema descrito pode ser resolvido pela adoção da programação modular. A compilação independente de cada módulo resolve o problema descrito. A programação modular exige atenção ao escopo de classes, variáveis e funções. 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á u�lizados por outro programador em uma parte diferente do mesmo sistema de so�ware?” 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. Enviar teste Perguntas Pergunta 2 Pergunta 3 Pergunta 4 Pergunta 5 Pergunta 6 Pergunta 7 Pergunta 8 Pergunta 9 Pergunta 10 Tempo transcorrido: Prazo da tenta�va encerrado: 3 jun em 23:59 1 Hora, 4 Minutos, 2 Segundos Ocultar hora A+ A A- https://famonline.instructure.com/courses/19950 https://famonline.instructure.com/courses/19950/quizzes https://famonline.instructure.com/courses/19950/quizzes/85289 https://famonline.instructure.com/ https://famonline.instructure.com/ https://famonline.instructure.com/calendar https://famonline.instructure.com/conversations http://help.instructure.com/ https://famonline.instructure.com/courses/19950 https://famonline.instructure.com/courses/19950/announcements https://famonline.instructure.com/courses/19950/modules https://famonline.instructure.com/courses/19950/assignments https://famonline.instructure.com/courses/19950/grades https://famonline.instructure.com/courses/19950/users https://famonline.instructure.com/courses/19950/discussion_topics https://famonline.instructure.com/courses/19950/external_tools/19325
Compartilhar