Buscar

Prévia do material em texto

AO2
Iniciado: 11 jun em 0:24
Instruções do teste

Pergunta 1 0,6 pts
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.
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 difíceis de compreender do que as linguagens consideradas de
alto nível.
Assinale a alternativa com a relação correta entre as asserções I e II:
A asserção I é verdadeira e a asserção II é falsa.
A asserção II é verdadeira e a asserção I é falsa.
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 falsas.
A+
A
A-
11/06/24, 00:40 Teste: AO2
https://famonline.instructure.com/courses/35428/quizzes/183440/take 1/9

Pergunta 2 0,6 pts

Pergunta 3 0,6 pts
As asserções I e II são verdadeiras, mas a II não é uma justificativa correta da I.
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:
HTML garante o dinamismo do conteúdo Web.
HTML não é usada para escrever algoritmos.
HTML é uma linguagem de scripting.
Java é uma linguagem de scripting.
HTML é dispensável na Web, podendo ser substituída por JavaScript ou PHP.
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 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:
A+
A
A-
11/06/24, 00:40 Teste: AO2
https://famonline.instructure.com/courses/35428/quizzes/183440/take 2/9

Pergunta 4 0,6 pts
Ela compila o código Lisp, gerando um código binário nativo ao final que pode ser executado múltiplas vezes.
Ela utiliza inteligência artificial (IA) para gerar automaticamente programas em Lisp.
Ela gera programas em uma linguagem intermediária, como um bytecode, e em seguida executa esse programa.
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 gera programas em uma linguagem intermediária, e na hora da primeira execução ela compila essa linguagem
intermediária para binário nativo.
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 asserção I é verdadeira e a asserção II é falsa.
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.
Ambas as asserções são falsas.
A+
A
A-
11/06/24, 00:40 Teste: AO2
https://famonline.instructure.com/courses/35428/quizzes/183440/take 3/9

Pergunta 5 0,6 pts

Pergunta 6 0,6 pts
A asserção I é falsa e a asserção II é verdadeira.
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:
Paradigma funcional.
Programação orientada a objeto.
Paradigma procedural.
Programação orientada a eventos.
Programação concorrente.
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
A+
A
A-
11/06/24, 00:40 Teste: AO2
https://famonline.instructure.com/courses/35428/quizzes/183440/take 4/9

Pergunta 7 0,6 pts
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:
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 justificativa correta da I.
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 falsas.
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 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:
I e III, apenas.
I, III e IV, apenas.
A+
A
A-
11/06/24, 00:40 Teste: AO2
https://famonline.instructure.com/courses/35428/quizzes/183440/take 5/9

Pergunta 8 0,6 pts

Pergunta 9 0,6 pts
II e IV, apenas.
I, II e IV, apenas.
I e IV, apenas.
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:
O problema descrito pode ser resolvido pela adoção da programação modular.
O problema descrito é exclusivo da programação orientada a objeto.
A compilação independente de cada módulo resolve o problema descrito.
Para evitar o problema descrito, programadores não devem trabalhar paralelamente em módulos distintos.
A programação modular exige atenção ao escopo de classes, variáveis e funções.
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.”
A+
A
A-
11/06/24, 00:40 Teste: AO2
https://famonline.instructure.com/courses/35428/quizzes/183440/take 6/9

Pergunta 10 0,6 pts
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 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:
I e IV, apenas.
II e III, apenas.
III e IV, apenas.
I e II, apenas.
II e IV, apenas.
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
Simplicidade • • •
Ortogonalidade • • •
Tipos de dados • • •
A+
A
A-
11/06/24, 00:40 Teste: AO2
https://famonline.instructure.com/courses/35428/quizzes/183440/take 7/9
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:
I, apenas.
III, apenas.
I e III, apenas.
I e II, apenas.
II e III, apenas.
A+
A
A-
11/06/24, 00:40 Teste: AO2
https://famonline.instructure.com/courses/35428/quizzes/183440/take 8/9
Salvo em 0:40 Enviar teste
A+
A
A-
11/06/24, 00:40 Teste: AO2
https://famonline.instructure.com/courses/35428/quizzes/183440/take 9/9

Mais conteúdos dessa disciplina

  • Relacionados
  • Inteligência Artificial