A maior rede de estudos do Brasil

Grátis
15 pág.
AvaliAÇÃO 2020 Sistemas de Informação

Pré-visualização | Página 1 de 5

Acertos: 1,1 de 3,0 (Finaliz.) Data: 11/11/2020 11:23:36
Acerto: 0,1 / 0,1 
Considere as afirmações relacionadas ao Paradigma de Orientação a Objetos
I - A programação orientada a objetos divide um programa em vários objetos e cada objeto modela um determinado problema
II - A técnica que faz com que detalhes internos do funcionamento dos métodos de uma classe permaneçam ocultos para os objetos é
conhecida como encapsulamento.
III - Herança múltipla é a propriedade do POO que determina que cada classe pode ter apenas uma superclasse, herdando dela
métodos e atributos.
Qual(s) afirmativa(s) é (são) verdadeira(s)?
I, II e III
I
 I e II
II e III
I e III
Acerto: 0,0 / 0,1 
A Linguagem UML é uma linguagem visual para especificar, construir e documentar artefatos dos sistemas. Nesse sentido, assinale a
alternativa correta:
 A UML é uma metodologia de desenvolvimento, ela diz o que fazer primeiro e em seguida e como projetar seu sistema, além
de auxilia a visualização e a comunicação entre os objetos.
Em engenharia reversa uma ferramenta UML lê o código fonte ou o código binário e gera apenas diagramas UML de pacotes,
não permitindo a geração de pacotes de classes e de sequência.
 UML é uma notação diagramática padrão para desenhar ou apresentar figuras relacionadas ao software.
UML define apenas um perfil UML que especializa subconjuntos da notação para áreas de assunto comum, tais como
diagramação de Enterprise JavaBeans.
A UML descreve tipos de esboço de diagramas, tais como diagramas de classes e diagramas de sequência. Ela superpõe a eles
uma perspectiva de modelagem. Por exemplo, a mesma notação UML de diagrama de classes não pode ser usada para
desenhar imagens de conceitos do mundo real ou de classes de software em Java.
Acerto: 0,0 / 0,1 
Em um programa em Java podemos querer executar 2 ou mais threads ao mesmo tempo, ou seja, 2 ou mais procedimentos internos
do programa ao mesmo tempo. Nesse contexto considere a classe Corrida abaixo que possui um construtor que recebe o nome de um
piloto, simula uma corrida com 10.000 voltas e ao final da execução informa que o Piloto terminou a corrida
public class Piloto extends Thread{
 private String nome;
 public Piloto(String str){
 nome = str;
 }
 public void run(){
 System.out.println("****LARGADA ****");
 System.out.println("Primeira volta: " + nome);
 for(int cont=0; cont<10000; cont++){};
 System.out.println(nome + " -> Terminou a Corrida !!!");
 }
}
A classe seguinte executa a corrida com três pilotos diferentes
public class Corrida {
 public static void main(String[] args){
 1a Questão1
 2a Questão2
 3a Questão3
 Piloto um = new Piloto("Rubinho"); 
 Piloto dois = new Piloto("Schumacher");
 Piloto tres = new Piloto("Raikonnen");
 um.start();
 dois.start(); 
 tres.start(); 
 }
}
Analise as afirmativas a seguir:
I - Não é possível afirmar quem será o primeiro a terminar a corrida.
II - O código não executará, pois, a Classe Piloto deve implementar a interface Runnable
III - O método start() deve ser substituído pelo método run() para que a thread seja executada.
A respeito das afirmativas:
Apenas a II está correta
I e II estão corretas
 Apenas a I está correta
II e III estão corretas
 Apenas III está correta
Acerto: 0,0 / 0,1 
No paradigma de orientação a objetos podemos utilizar o conceito de composição para diminuir o acoplamento entre as classes fazendo
com que elas funcionem como um relógio, funcionem juntas, mas nada impede que uma peça seja trocada por outra ou um nova peça
seja desenvolvida. Utilizando esse conceito, poderíamos programar a seguinte situação cenário a linguagem de Programação Java:
- Veículo tem um proprietário, um proprietário tem um endereço
A Classe Endereco possui os seguintes atributos: cidade, estado, cep
A Classe Proprietario possui os seguintes atributos: nome, cpf, Endereco
A Classe Veiculo possui os seguintes atributos: marca, modelo, Proprietario
public class Endereco{
 public Sring cidade;
 public Sring estado;
 public Sring cep;
}
public class Proprietario{
 public Sring nome;
 public Sring cpf;
 public Endreco endereco;
}
public class Veiculo{
 public String marca;
 public String modelo;
 public Proprietario proprietario;
}
Considerando as informações acima, avalia as asserções a seguir:
I - A implementação utilizando o conceito de composição não seria a melhor solução para o caso
PORQUE
II - ele se enquadraria no conceito de herança no qual a relação apresentada é do tipo é-um-tipo-de entre as classes Endereco,
Proprietario e Veiculo
 4a Questão4
A respeito dessas asserções, assinale a opção correta:
 As asserções I e II são proposições falsas
 A asserção I é uma proposição falsa, e a II é uma proposição verdadeira
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
Acerto: 0,0 / 0,1 
Um Programador está desenvolvimento um sistema comercial em Java no qual precisa inserir dados de clientes em um Banco de
Dados. Esse programador implementou o seguinte método para inserir dados de um cliente em um banco de dados utilizando JDBC:
public int salvarCliente(int id, String nome, double renda){
 try{
 ...
 I 
 st.setInt(1,id);
 st.setString(2,nome);
 st.setDouble(3,renda);
 retorno=st.executeUpdate();
 } catch(SQLExecption e){
 retorno = -1;
 } 
 return retorno
}
Considere que:
a variável conn é da interface Connection, st é da interface PreparedStatement e retorno é uma variável do tipo int, todas
declaradas e inicializadas anteriormente.
 uma conexão com um banco de dados que contém a tabela cliente foi estabelecida com sucesso e em condições ideais.
 a tabela cliente possui os campos abaixo: id − inteiro, não nulo, chave primária nome − cadeia de caracteres renda − real
Nestas condições, para que o método esteja correto, a lacuna I deve ser preenchida com a instrução.
 
 st = conn.prepareStatement("insert into cliente (id, nome, renda) values (id, nome, renda)");
st = conn.preparedStatement("insert into cliente (id, nome, renda) values (?, ?, ?)")
st = conn.prepareStatement("insert into cliente(id,nome,renda) values( "+id+","+nome+" ,"+renda+")");
 st = conn.prepareStatement("insert into cliente (id, nome, renda) values (?, ?, ?)");
st = conn.executeStatement("insert into cliente values ( " + id + ", " + nome + " , " + renda + ")");
Acerto: 0,1 / 0,1 
Considere a struct abaixo, que representa a célula de uma árvore:
typedef struct _no {
 int chave;
 struct no *esq, *dir;
} no;
Em função da árvore e do código apresentados abaixo, qual a sequênca será impressa?
 5a Questão5
 6a Questão6
 
 ABCDEXY
AEXYBCD
ABDCEYX
CBDAXEY
YXEABBC
Acerto: 0,0 / 0,1 
O Tipo Abstrado de Dados do tipo PILHA permite que elementos sejam incluidos ou removidos dinamicamente, seguindo a regra de
ouro denominada LIFO, onde, o último a entrar deve ser o primeiro a sair. Tradicionalmente este dtipo de estruturas de dados possuem
os seguintes comandos:
EMPILHA (p, n): Empilha um novo elemento "n" em um T.A.D. do tipo pilha "p";
DESEMPILHA (p): Desempilha o elemento que se encontre no topo da pilha.
Considere que, em uma estrutura de dados tipo pilha "p", inicialmente vazia, sejam executados os seguintes comandos:
EMPILHA (p, 10)
EMPILHA (p, 5)
EMPILHA (p, 3)
EMPILHA (p, 40)
DESEMPILHA (p)
EMPILHA (p, 11)
EMPILHA (p, 4)
EMPILHA (p, 7)
DESEMPILHA (p)
DESEMPILHA (p)
Após a execução dos comandos, o elemento no topo da pilha "p" e a soma dos elementos armazenados na pilha "p" são,
respectivamente,
7 e 29.
4 e 80.
 11 e 29.
 7 e 40.
11 e 80.
 7a

Crie agora seu perfil grátis para visualizar sem restrições.