Magna Concursos

Foram encontradas 60 questões.

2270896 Ano: 2012
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFSCAR
Orgão: UFSCAR
Provas:

No desenvolvimento para a plataforma Android, é necessário especificar um arquivo de configurações com algumas informações sobre a aplicação. O código abaixo mostra um trecho desse arquivo, chamado AndroidManifest.xml:

Enunciado 2944675-1

No exemplo acima, as linhas 7 e 8 (em destaque) especificam as seguintes propriedades:

android.minSdkVersion: A versão mínima da API Android que um dispositivo deve possuir para conseguir executar a aplicação android.targetSdkVersion: A versão alvo da API Android para a qual a aplicação foi especificamente compilada

Além de configurar o arquivo acima corretamente, o que o desenvolvedor precisa fazer para que uma aplicação funcione da melhor forma possível em diversos dispositivos?

 

Provas

Questão presente nas seguintes provas
2270895 Ano: 2012
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFSCAR
Orgão: UFSCAR
Provas:

Considere o seguinte código em Java:

Enunciado 2944674-1

Considere também quatro possibilidades de ocorrência, definidas neste contexto da seguinte forma:

Overflow: quando o vetor “array” possui dez elementos armazenados, ou seja, “elementos” possui o valor 10, e o método “armazenar” é chamado mesmo assim, causando um problema de acesso acima do índice máximo no vetor “array” (java.lang.ArrayIndexOutOfBoundsException);

Underflow: quando o vetor “array” está vazio, ou seja, “elementos” possui o valor 0, e o método “remover” é chamado mesmo assim, causando um problema de acesso com índice negativo no vetor “array” (java.lang.ArrayIndexOutOfBoundsException);

Deadlock: quando pelo menos uma thread fica parada, sem executar, em uma espera infinita;

Loop infinito: quando pelo menos uma thread fica executando um determinado trecho de código infinitamente; e

Exceção: quando a exceção “java.lang.IllegalMonitorStateException” é lançada durante a execução.

Quais das possibilidades acima podem ocorrer durante a execução da classe “Principal”?

 

Provas

Questão presente nas seguintes provas
2270894 Ano: 2012
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFSCAR
Orgão: UFSCAR
Provas:

O que é impresso pelo programa em C a seguir ?

#include <stdio.h>
int main() {
int val = 2;
int x[3] = { 1,3,5 };
troca(&val, x[0]);
troca(&x[0], x[1]);
troca(&val, x[val]);
printf("%d,%d,%d,%d",val,x[0],x[1],x[2]);
}
void troca(int *a, int b) {
int aux;
aux = *a;
*a = b;
b = aux;
}

 

Provas

Questão presente nas seguintes provas
2270893 Ano: 2012
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFSCAR
Orgão: UFSCAR
Provas:

Considere os seguintes conceitos inerentes à programação orientada a serviços:

C1. SOAP

C2. WSDL – Web Services Description Language

C3. REST – REpresentational State Transfer

C4. JSON – JavaScript Object Notation

Considere também as quatro definições a seguir:

D1. Formato leve, baseado em convenções da família C de linguagens, para intercâmbio de dados.

D2. Protocolo leve, baseado em XML, projetado para a troca de informações estruturadas em um ambiente descentralizado e distribuído. D3. Formato baseado em XML para a definição de interfaces.

D4. Estilo arquitetural originalmente proposto para a construção de sistemas hipermídia distribuídos.

Qual das alternativas abaixo estabelece corretamente a relação entre os conceitos e as definições acima?

 

Provas

Questão presente nas seguintes provas
2270892 Ano: 2012
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFSCAR
Orgão: UFSCAR
Provas:

Suponha que você esteja desenvolvendo uma aplicação de e-commerce para Web, e precisa implementar uma funcionalidade do tipo “carrinho de compras”, isto é, o usuário, ao navegar pelas páginas, pode adicionar produtos ao carrinho. A aplicação precisa ter a capacidade de “lembrar” quais são os produtos que estão no carrinho de um usuário enquanto este navega pelas diversas páginas da aplicação, sem que este precise se identificar em toda página. As informações do carrinho devem ser mantidas mesmo após o usuário fechar o navegador e ficar sem entrar na aplicação por vários dias. Ou seja, ao entrar na aplicação novamente depois de vários dias sem acessá-la, o carrinho de compras deve estar no mesmo estado em que foi deixado na última vez que o usuário acessou a aplicação. Além disso, por uma questão de segurança, as informações de login (nome de usuário e senha) não podem trafegar frequentemente pela rede, a cada requisição.

Qual das seguintes estratégias é adequada para implementar os requisitos descritos acima?

 

Provas

Questão presente nas seguintes provas
2270891 Ano: 2012
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFSCAR
Orgão: UFSCAR
Provas:

Considere o seguinte trecho de código em C#, que simula a execução de um escalonador de tarefas simples:

Enunciado 2944670-1

Considere também as seguintes modificações no código:

M1. Mover a lógica de rodízio, que atualmente está implementada no método “Main” da classe “MainClass” para dentro de um método “Schedule” na própria classe “MainClass”.

M2. Transformar o atributo “Tasks” da classe “TaskScheduler” de “public” para “private”.

M3. Transformar o atributo “NextTask” da classe “TaskScheduler” de “private” para “public”.

M4. Adicionar um construtor à classe “TaskScheduler”, que recebe como parâmetro o número de tarefas e inicializa o vetor de tarefas “Tasks”. Modificar o método “Main” da classe “MainClass” para utilizar esse construtor ao criar a instância “ts”.

M5. Transformar os métodos “SetNextTask” e “GetNextTask” de “public” para “private”.

M6. Adicionar um método na classe “TaskScheduler” que recebe como parâmetro um objeto do tipo “Task” e o adiciona ao vetor de tarefas “Tasks”. Utilizar esse método na classe “MainClass” para adicionar tarefas ao escalonador.

M7. Mover a lógica de rodízio, que atualmente está implementada na classe “MainClass” para dentro do método “GetCurrentTask” da classe “TaskScheduler”.

M8. Adicionar um construtor à classe “MainClass” , que recebe como parâmetro o número de tarefas e inicializa o vetor de tarefas “Tasks”. Modificar o método “Main” da classe “MainClass” para utilizar esse construtor e criar uma instância de “MainClass”.

M9. Remover os métodos “SetNextTask” e “GetCurrentTask” da classe “TaskScheduler”.

Qual das alternativas abaixo descreve um conjunto de modificações que, quando realizadas em conjunto, resulta em um código onde os princípios da orientação a objetos são mais bem aplicados?

 

Provas

Questão presente nas seguintes provas
2270890 Ano: 2012
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFSCAR
Orgão: UFSCAR
Provas:

Considere o diagrama de classes UML a seguir:

Enunciado 2944669-1

Considere também os seguintes trechos de código Java com anotações JPA (obs: assuma que todas as declarações imports estão corretamente definidas, e que as classes têm os atributos e métodos auxiliares, como setters e getters, definidos corretamente, conforme requisitos da especificação JPA para entidades persistentes):

Enunciado 2944669-2

Considere ainda as seguintes anotações:

Enunciado 2944669-3

Qual das alternativas a seguir representa a substituição correta dos locais marcados com "@1", "@2", "@3" e "@4" pelas anotações acima, de forma a implementar a persistência conforme a especificação do diagrama de classes apresentado?

 

Provas

Questão presente nas seguintes provas
2270889 Ano: 2012
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFSCAR
Orgão: UFSCAR
Provas:

Considere um exemplo de aplicação web simples onde o usuário precisa adivinhar um número sorteado, e que funciona da seguinte forma: na página inicial (adivinha.jsp), o usuário digita um número qualquer. Em seguida, é exibida uma página de confirmação (confirma.jsp) com o número digitado, na qual o usuário pode alterar o número antes de enviar ou cancelar o envio. Caso envie o número, é exibida uma página de resposta (resposta.jsp), informando se o número foi adivinhado corretamente ou não. Caso, na página de confirmação, o usuário opte por cancelar, qualquer alteração que tenha sido feita deve ser descartada, e o valor digitado originalmente deve ser exibido na página “adivinha.jsp”. A figura a seguir ilustra esse funcionamento:

Enunciado 2944668-1

Considere ainda que para essa implementação, deve ser utilizado o framework JSF, e as seguintes configurações:

- Um bean gerenciado (managed bean, em inglês) deve ser usado para armazenar o número digitado pelo usuário;

- O bean gerenciado deve ser configurado para escopo de sessão;

- O bean gerenciado deve ser associado à caixa de texto nas páginas “adivinha.jsp” e “confirma.jsp” por meio do atributo “value” dos respectivos componentes “inputText”; e

- A navegação entre as páginas descrita na figura acima está definida corretamente no arquivo de configuração (e.g. faces-config.xml).

Qual das afirmações abaixo está correta, com relação ao uso de JSF na implementação do funcionamento correto do botão “Cancelar”?

 

Provas

Questão presente nas seguintes provas
2270888 Ano: 2012
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFSCAR
Orgão: UFSCAR
Provas:

O padrão de projeto “Fábrica Abstrata” (Abstract Factory, em inglês) facilita a criação de famílias de objetos (ou produtos) relacionados entre si. Uma possível estrutura para sua implementação, mais tradicional, sugere o uso de vários “Métodos Fábrica” (Factory Method, em inglês), um para cada tipo de produto. No entanto, existe a possibilidade de uma implementação alternativa, com um único “Método Fábrica” universal para todos os tipos de produtos, onde o tipo do produto é especificado via parâmetro do método. O diagrama abaixo ilustra essa alternativa:

Enunciado 2944667-1

Considerando os seguintes cenários, que são independentes entre si:

I. Existem poucos produtos (três ou quatro) em cada família.

II. A implementação será realizada em uma linguagem estaticamente tipada, como C++ ou Java, mas todos os tipos de produtos são suficientemente parecidos, de modo que é possível criar uma única superclasse abstrata da qual todo produto concreto é descendente.

III. Existem centenas de tipos de produtos em cada família.

IV. As características e o número de produtos são praticamente constantes ao longo do ciclo de vida do software.

V. A implementação será realizada em uma linguagem dinamicamente tipada, como Smalltalk ou Javascript.

VI. Novos tipos de produtos são adicionados frequentemente à fábrica, ao longo do ciclo de vida do software.

Quais dos cenários acima (que são independentes entre si) apresentam fatos que justificam de alguma forma a escolha da alternativa descrita no diagrama, ao invés da estrutura tradicional com vários “Métodos Fábrica”?

 

Provas

Questão presente nas seguintes provas
2270887 Ano: 2012
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFSCAR
Orgão: UFSCAR
Provas:

Na programação orientada a objetos, a herança simples pode ser usada para estender comportamento. No entanto, ela possui algumas limitações:

I. Com herança, só é possível estender comportamento em tempo de compilação. Não é possível estender comportamento em tempo de execução;

II. A interface do comportamento estendido deve ser mantida. Em outras palavras, a assinatura dos métodos correspondentes ao comportamento de uma classe deve ser a mesma nas subclasses que estendem esse comportamento. Não é possível, por exemplo, adicionar um parâmetro ou modificar o tipo de retorno de um método referente ao comportamento estendido;

III. Com herança simples, caso exista um grande número de extensões independentes de comportamento, seria necessário um número ainda maior de subclasses para cobrir todas as combinações possíveis, o que é pouco prático; e

IV. Na herança, todas as instâncias da subclasse tem obrigatoriamente seu comportamento estendido. Não é possível fazer com que apenas algumas instâncias tenham o comportamento estendido sem criar uma outra subclasse.

Uma alternativa à herança para extensão de comportamento é o padrão de projeto Decorador (em inglês, Decorator), cuja estrutura é exemplificada no diagrama de classes a seguir:

Enunciado 2944666-1

Quais das limitações anteriores podem ser superadas com o uso do padrão Decorador?

 

Provas

Questão presente nas seguintes provas