Questões de Programação (TI)UFRPE 2016

17 questões da prova Diversas 2016, com gabarito oficial conferido. As duas primeiras são gratuitas.

Questão 1UFRPE·Diversas·2016Programação (TI)

Correlacione os tipos de variáveis definidas pela linguagem de programação Java, listadas na primeira coluna, a sua descrição, na segunda coluna.

A sequência correta, de cima para baixo, é:

Alternativas
Questão 2UFRPE·Diversas·2016Programação (TI)

Correlacione as tecnologias Java EE que são usadas na camada web em aplicações Java EE, listadas na primeira coluna, a sua descrição, na segunda coluna. A sequência correta, de cima para baixo, é:

Alternativas
Questão 3UFRPE·Diversas·2016Programação (TI)

Com o comando de repetição repetir-até-que (repeatuntil) pode-se simular o comportamento do enquantoque (while). Dado o trecho de pseudocódigo esquemático abaixo, assinale a alternativa em que se simula o comportamento do enquanto-que com o repetir-até-que, onde S é uma sequência arbitrária de comandos e C uma expressão boolena que incorpora a condição de parada do laço. enquanto que C S fim-enquanto

Alternativas
Questão 4UFRPE·Diversas·2016Programação (TI)

Acerca do Java Enterprise Edition (JEE), analise as afirmações abaixo.

  1. Consiste de uma série de especificações detalhadas, dando uma receita de como deve ser implementado um software que implementa serviços de infraestrutura.
  2. Trata-se de uma plataforma para desenvolvimento e execução de aplicações servidoras, com capacidade de suporte ao

desenvolvimento de aplicações robustas e escaláveis. 3) JEE é um servidor de aplicação que implementa as APIs da plataforma Java EE e fornece serviços padrão Java EE. 4) Alguns dos componentes fundamentais do Java EE são: Enterprise JavaBeans (EJB), Java Persistence API (JPA), JavaServer Pages (JSP) e servlets. Estão corretas:

Alternativas
Questão 5UFRPE·Diversas·2016Programação (TI)

Com respeito aos tipos e estruturas e dados da linguagem de programação Java, marque V para as afirmações verdadeiras, ou F para as falsas. ( ) Java é estaticamente tipada, o que significa que toda variável deve ser declarada antes de ser usada. ( ) Existem oito tipos primitivos, que não são objetos: boolean, byte, char, short, int, long, float e double. Não possuem valor default, e campos desses tipos devem ser inicializados. ( ) Além dos oito primitivos, Java provê suporte a cadeias de caracteres (strings), considerado um tipo primitivo especial. A sequência correta, de cima para baixo, é:

Alternativas
Questão 6UFRPE·Diversas·2016Programação (TI)

Suponha que T seja uma árvore binária de pesquisa inicialmente vazia, e considere a inserção dos elementos 30, 50, 60, 20, 40, 10 e 25 em T, exatamente nessa ordem. Qual das sequências abaixo corresponde a um percurso de T em pré- ordem?

Alternativas
Questão 7UFRPE·Diversas·2016Programação (TI)

Certas linguagens não possuem o comando de repetição repetir-até-que (repeat-until). Porém, pode-se simular seu comportamento com um enquanto-que (while). Dado o trecho de pseudocódigo esquemático abaixo, assinale a alternativa em que se simula o comportamento do repetir-até-que com o enquantoque, onde S é uma sequência arbitrária de comandos e C uma expressão boolena que incorpora a condição de parada do laço. repita S até que C

Alternativas
Questão 8UFRPE·Diversas·2016Programação (TI)

Correlacione os algoritmos internos de ordenação de listas da coluna à esquerda com sua descrição, na coluna à direita A sequência correta, de cima para baixo, é:

Alternativas
Questão 9UFRPE·Diversas·2016Programação (TI)

Acerca do Enterprise Java Beans (EJB), analise as afirmações abaixo.

  1. Toda aplicação EJB é executada e gerenciada por um EJB Container. Há diversas opções de EJB Container disponíveis.

  2. A arquitetura EJB define um suporte sofisticado para utilização de transações. Esse suporte e ́ integrado com a Java Transaction API (JTA) e oferece, inclusive, a possibilidade de realizar transações distribuídas.

  3. A arquitetura EJB permite que as aplicações sejam acessadas por múltiplos usuários simultaneamente de maneira controlada para evitar problemas de concorrência.

  4. Por questões de segurança, as aplicações EJB não podem ser acessadas remotamente através dos diversos protocolos de comunicação. Estão corretas:

Alternativas
Questão 10UFRPE·Diversas·2016Programação (TI)

Na linguagem de programação Java, o comando de repetição while tem a seguinte forma geral:

A sequência correta, de cima para baixo, é:

Alternativas
Questão 11UFRPE·Diversas·2016Programação (TI)

Acerca das especificações no Java Enterprise Edition (JEE), analise as afirmações abaixo.

  1. Java Server Pages (JSP), Java Servlets, Java Server Faces (JSF) API são específicas para lidar com o desenvolvimento de uma aplicação Web.
  2. Enterprise Javabeans Components (EJB) e Java Persistence API (JPA) são objetos distribuídos, clusters, acesso remoto a objetos etc.
  3. Um Servlet Container e ́ um servidor que suporta todas as funcionalidades do Java EE Web Profile.
  4. JSP (Java Server Pages) é especialização do servlet que permite que conteúdo dinâmico seja facilmente desenvolvido, uma espécie de servidor Web. São componentes-chave para Java Server Pages (JSP): diretivas, ações, elementos de script e bibliotecas de tags. Uma JSP é um arquivo com sintaxe semelhante ao HTML, que permite inclusão de elementos

(tags) especiais para introdução de código Java. Estão corretas:

Alternativas
Questão 12UFRPE·Diversas·2016Programação (TI)

O comando condicional se-então-senão (if-then-else) pode-se pode ter seu comportamento simulado com o enquanto-que (while). Dado o trecho de pseudocódigo esquemático abaixo, assinale a alternativa em que se simula o comportamento do se-então-senão (if-thenelse) com o enquanto-que, onde S e T são sequências arbitrárias de comandos e C uma expressão boolena. se C então faça S senão faça T fim-se

Alternativas
Questão 13UFRPE·Diversas·2016Programação (TI)

Considere as afirmações abaixo, sobre os paradigmas de linguagens de programação.

  1. As linguagens de programação Python, Ruby, C#, Cython e Lua são multiparadigmáticas e podem ser classificadas,

pelo menos, nos paradigmas Orientado a Objetos, Funcional e Imperativo. 2) As linguagens de programação Object-Pascal (Delphi), Python, C++ e Java, embora deem suporte à Orientação a Objetos (OO), não são completamente orientadas a objetos. 3) As linguagens de programação Smalltalk e Ruby são completamente orientadas a objetos, uma vez que todo valor de dados é um objeto e todas as operações são vias chamadas de métodos. Está(ão) correta(s):

Alternativas
Questão 14UFRPE·Diversas·2016Programação (TI)

Sobre os tipos genéricos (generics) em Java, analise as afirmações abaixo.

  1. Tipos genéricos permitem abstrair sobre tipos. Os exemplos mais comuns são os tipos coleções.
  2. Métodos genéricos são métodos que introduzem os seus próprios parâmetros de tipo. Isso é semelhante ao declarar um tipo genérico, mas o escopo do parâmetro de tipo é limitado ao método em que é declarado.
  3. Métodos genéricos estáticos são permitidos, bem como construtores de classe genéricos. Porém, métodos genéricos não estáticos não são permitidos.
  4. Entre as vantagens dos tipos genéricos, temos a simplicidade e a robustez. Por um lado, não e ́ necessário type casting para extrair os objetos das coleções. Por outro, o compilador não permite colocar na coleção elementos incompatíveis com os tipos declarados.
  5. Os parâmetros de tipo de um tipo genérico podem ser ou na~o limitados. O limite de um parâmetro de tipo restringe os tipos que podem ser usados como argumento. O parâmetro de tipo limitado dá acesso aos métodos do “tipo limite”.

Estão corretas, apenas:

Alternativas
Questão 15UFRPE·Diversas·2016Programação (TI)

Sobre as estruturas de dados lineares, analise as proposições abaixo.

  1. Uma pilha é uma lista com acesso restrito a apenas uma das extremidades, tanto para inserir quanto para remover.

  2. Uma fila é uma lista com acesso restrito a ambas as extremidades: uma apenas para inserção e a outra apenas para remoção.

  3. Devido a sua característica dinâmica, uma lista não pode ser implementada em um arranjo.

  4. Uma fila é mais eficientemente implementada, em uma lista simplesmente encadeada, se as remoções são realizadas na cabeça da lista, e as inserções na cauda da lista. Estão corretas:

Alternativas
Questão 16UFRPE·Diversas·2016Programação (TI)

Considere o algoritmo em pseudocódigo abaixo, que computa, dados dois inteiros, uma sequência de inteiros. Sobre a sequência impressa, dados os valores de n e de a especificados, analise as proposições a seguir.

  1. Para n=6 e a=3, a sequência gerada é: 6 3 10 5 16 8 4 2 1
  2. Para n uma potência de 2, n=2k para algum k inteiro; para qualquer valor de a, a sequência gerada são as potências de 2 de 2 k até 1
  3. Para n=9 e a=3, a sequência gerada é: 14 7 22 11 33 17 52 26 13 40 20 10 5 16 8 4 2 1
  4. Se n não for uma potência de 2, com a=2 o algoritmo não para, gerando uma sequência infinita.
  5. Com a=5, se n=17 o programa fica em laço infinito na sequência 17 86 43 216 108 54 27 136 68 34 Estão corretas, apenas:
Alternativas
Questão 17UFRPE·Diversas·2016Programação (TI)

A Complexidade Computacional é a área da Ciência da Computação que se ocupa, entre outros, do estudo e análise do custo de tempo de execução e espaço ocupado pelos algoritmos. Sobre Complexidade Computacional, marque V para as afirmações Verdadeiras, ou F para as Falsas. ( ) A função de complexidade de tempo de algoritmo indica o tempo necessário para executar o programa que implementa o algoritmo em função do tamanho da entrada. ( ) Se f é uma função de complexidade baseada na análise de pior caso, o custo de aplicar o algoritmo nunca é maior do que f(n ). ( ) Na análise do caso médio toma-se a média aritmética do pior caso com o melhor caso. A sequência correta, de cima para baixo, é:

Alternativas