
Anúncios
1
Vinicius criou uma funcionalidade para excluir uma tarifa bancária em uma aplicação que utiliza a plataforma.Net e o Entity framework. Porém, apesar de não gerar erro algum, ela não está excluindo efetivamente a tarifa. Veja o método que ele fez: public void ExcluiTarifa(Tarifa tarifa) { using(var contexto = new BancoContext()) { contexto.Tarifas. Remove(tarifa); } } O que está faltando para Vinicius entregar essa funcionalidade? Analise as afirmações abaixo e indique a alternativa que representa todas as afirmações corretas. 1- Colocar a chamada para o método SaveChanges, disponível na variável contexto, assim: contexto.SaveChanges(); II- Fechar o contexto assim: contexto.Close(); III- Comitar a transação usando o método CommitTransaction, disponível na variável contexto, assim: contexto.CommitTransaction();
I, II e III
I e II
Somente III
Somente II
Somente I
2
Uma coleção organiza dados relacionados em um computador para que possam ser usados com eficiência. Diferentes tipos de coleções são adequados para diferentes tipos de aplicativos, e alguns são altamente especializados para tarefas específicas. Por exemplo, os dicionários são usados para representar conexões em sites sociais (como Twitter, Facebook), filas podem ser usadas para criar agendadores de tarefas, HashSets são usados na pesquisa de algoritmos, etc. Em C# existem dois tipos de coleções que podemos usar, as genéricas e as não genéricas, e para usá-las é necessário fazer uma chamada no nosso programa. Dentre as alternativas abaixo, selecione a que representa o namespace que contém a coleção genérica:
System.Generic.Program
System.Generic.Collections
System.Program.Generic
System.Collections.Generic
System.Collections
3
O C# possui duas palavras chaves que ajuda na implementação do tratamento de exceções via a construção de dois blocos encabeçados por essas palavras-chave. No código a seguir, quais palavras preenchem corretamente os espaços em branco?
do, while
if, else
try, catch
for, continue
this, elif
4
O pdimorfismo ocorre quando há uma hierarquia de dasses e elas são relacionadas por herança de uma classe base comum. O polimorfismo também significa que uma chamada para um método membro fará com que uma implementação diferente seja executada, dependendo do tipo de objeto que chama o método. Analise o código a seguir, que define uma classe que possui um método Late() público e virtual. Escolha a alternativa que melhor preenche os campos em branco na sua ordem de aparição.
Void, virtual, public
class, public, virtual
Class, public, void
Virtual, public, class
Virtual, void, class
5
Expressões são muito comuns no dia a dia do programador, saber criar expressões é muito importante, assim como avaliar expressões criadas por outros programadores. Analise a expressão abaixo e determine o val or de x após o código: int x = 4; int y= 9; x= (y% x!= 0) ?y/x: y:
5
6
4
3
2
6
A razão fundamental para usar padrões de projeto é manter as classes separadas e evitar que tenham que saber muito sobre as outras. Tão importante quanto, o uso desses padrões ajuda a evitar reinventar a roda e permite que você descreva sua abordagem de programação de forma sucinta em termos que outros programadores possam entender facilmente. Sobre o padrão Singleton, ele tem por objetivo:
Permitir a variação de interfaces.
Criar famílias de objetos por meio de uma única interface.
Assegurar que cada classe tenha uma única instância
Processar vários objetos com características similares
Disponibilizar interfaces simplificadas
7
Exceção é uma notificação de que algo interrompea execução normal do programa. Exceções fornecem um paradigma de programação para detectar e reagir a eventos inesperados. Quando surge uma exceção, o estado do programa é salvo, o fluxo normal é interrompido e o controle é passado para um manipulador de exceções (se houver no contexto atual). (NAKOV et al., 2013, р. 415) Sobre Exceções analise as afirmativas a seguir: 1. Exceções são geradas ou lançadas pelo usuário do programa que deve enviar um sinal ao programa em execução sobre um erro ou uma situação incomum. II. Às vezes, as exceções são usadas não tanto para sinalizar um problema, mas para manipular algum evento esperado. Esta é considerada uma boa prática, pois as exceções devem ajudar controlar o fluxo do programa. III. Cada exceção no .NET contém o chamado rastreamento de pilha (stack trace), que fornece informações de onde exatamente ocorreu o erro. IV. Outro conceito fundamental é a hierarquia de exceções. Na POO, as exceções são classes e podem ser herdadas para criar hierarquias. É verdade o que é afirmado em:
III e IV
I e III
I e IV
II e IV
II e III
8
Da mesma forma que denotando classes individuais, diagramas de classes denotam relacionamentos entre classes. Nós usamos associações quando desejamos dar a duas classes relacionadas, e o seu relacionamento, destaque em um diagrama de classes, por exemplo, uma Associação bidirecional é quando duas classesA e B possuem uma associação em duas vias. Sobre diagramas de classes e associação bidirecional, analise as afirmativas a seguir: I. Cada um se refereaclasse do outro II. Um objeto da Classe A pode acessar objetos da Classe B a qual é associada III. Também, um objeto da Classe B pode acessar objetos da Classe A a qual é associada IV. Objetos da Classe B pertencem a Classe A e Implica referência de B para A.
I e II somente.
I , II, III e IV
III e IV somente.
I, III e IV
II, III e IV
9
A palavra-chave virtual permite que os métodos sejam substituídos nas classes derivadas. Os métodos virtuais permitem trabalhar com grupos de objetos relacionados de maneira uniforme. Podemos derivar diferentes classes que definem seus próprios métodos usando outra palavrachave. Analise o código a seguir que implementa um método Late na classe Cão. Escolha a alternativa que preenche corretamente os campos em branco na sequência correta. class Cao_ Animal public void Late_{ Console.WriteLine("AuAu"); }
;, static, [)
/, abstract, ()
:, override, ()
:, void, []
;, virtual, 0
10
As classes podem ser organizadas em uma estrutura de herança hierárquica. Essa propriedade representa uma das mais importantes do modelo orientado a objetos. Sobre herança, no contexto da programação orientadaa objetos, assinaleaalternativa correta:
A subclasse herda características da classe pai com exceção do par "mensagem - método"
A subclasse herda características da classe pai com exceção da estrutura de estado interna.
Em resumo, herança pode ser definida como: Compartilhamento pela subclasse dos atributos e operações da
classe pai.
Um dos problemas levantados por críticos da orientação a objeto é que a herança requer grandes duplicações
de c ódigo para ser implementada.
Herança múltipla é um conceito da orientaçãoaobjetos que diz respeito à possibilidade de uma classe ser pai
de mais de uma classe.
11
Descrição Um ORM é uma ferramenta para armazenar dados de objetos de domínio para o banco de dados relacional como o MS SQL Se ver, de forma automatizada, sem muita programação. Analise as proposições abaixo e indique quais são vantajosas quando estamos trabalhando com um Mapeamento Objeto Relacional (ORM): I- A maior produtividade do cesenvolvedor, pois uma vez que ele fica fluente com o ORM que ele desejar usar, ele ganha muito mais tempo para focar em outras partes da aplicação e não precisa se dedicar tanto aos detalhes da persistência tradicional de dados. II-A maior facilidade de quando "refatoramos" um código, pois evitamos ter que fazer toda a parte de conversão de objetos, montar parâmetros e tudo relacionado a montar uma query SQL padrão na mão. II - A poss blidade de não se preocupar em ter que escrever SQL, pois o ORM se encarrega na maior parte disto. IV- A. maior velocidade com que a comunicação é feita com o banco. Como o ORM consegue gerar query mais otimizadas do que um desenvolvedor, conseguimos fazer uma aplicação mais performática quando utilizamos um ORM. V- Nenhuma das anteriores.
I, II e III
I, III e V
II, III e IV
I, III e IV
III, IV e V
12
Leia a definição a seguir dada pela obra popularmente conhecida como Gang of Four: "Defina uma família de algoritmos, encapsule cada um e torne-os intercambiáveis. A estratégia permite que o algoritmo varie independentemente dos clientes que o utilizam." Assinale a alternativa que relaciona o padrão de projeto que pode receber essa definição.
Facade
MVC
Strategy (Policy)
Chain of responsability
Observer
13
Um dicionário é uma coleção de pares exdusivos de chave/valor em que uma chave é usada para acessar o valor correspondente. Os dicionários são usados na indexação de banco de dados, implementações de cache e assim por diante. Sobre os métodos disponíveis para uso em dicionários o que remove apenas um par chave/valor relacionado à chave especificada do dicionário é:
Remove
RemoveAll
CleatAll
DeleteAll
Clear
14
No C#, um operador é um elemento de programa aplicado a um ou mais operandos em uma expressão. Os operadores que usam um operando, como o operador de incremento (++) são chamados de operadores Unários. Os operadores que usam dois operandos, como, por exemplo, operadores aritméticos (+,-,*,/), são chamados de operadores binários. Sobre o código abaixo que deseja apresentar no console o resultado de uma multiplicação realizada pelo programa, qual alternativa melhor completa os espaços em branco? int x = 42; int y =7; int z=x_y; Console.WriteLine:
*ez
+e 42
/e6
* e 294
-e 7
15
Algumas exceções são lançadas automaticamente pelo runtime do .NET quando operações básicas falham. Vamos listar essas exceções e suas condições de erro abaixo. Observe as afirmativas abaixo e relacione-as à exceção correspondente. a Lançado quando é feita uma tentativa de indexar uma matriz quando o índice é menor que zero ou fora dos limites da matriz. b Lançada quando uma tentativa de alocar memória usando o operador new falha. Isso ir dica queamemória disponível para o Common Language Runtime foi esgotada c. Uma classe base para exceções que ocorrem durante operações aritméticas, como DivideByZeroException e OverflowException. d. Lançada quando um construtor estático lança uma exceção e não existe uma cláusula de captura compatível para capturá-la. () TypelnitializationException () IndexOutOfRangeExoeption () ArithmeticException () OutOfMemoryException
A, B, C, D
D, B. C, A
C, A, B, D
B, A, C, D
D, A, C, B
16
Os operadores de incremento e decremento são usados como um atalho para modificar o valor armazenado em uma variável e acessar esse valor. Na sintaxe, o operador pode ser usado como prefixo ou sufixo. Sobre operadores de incremento, qual é a diferença entre ++x e x++?
++x usa o valor de x antes de incrementá-lo.
x ++ incrementa o valor de x antes de usá-lo.
x++ usa o valor de x e depois o descarta.
Não há diferença
++ x incrementa o valor de x antes de usá-lo.
17
Analise o código a seguir. E public class Matematica public int x; public virtual void a() E } } public class Materia : Matematica 3 public override void a(О E Considere as afirmações a seguir e assinale a al ternativa que representa somente as afirmações corretas: 1. O Código a seguir representa uma maneira correta de instanciar a classe Materia e usar o método a) contido nel a. static void Main(string] args) { Materia m = new Matematica); } m.a); II. O código representa uma troca da versão do método a) presente em Materia pel o método a() presente em sua classe derivada Matematica. III. O código substitui a versão do método a() presente em Matematica pelo método a) presente em sua dlasse derivada Materia. IV. Para implementar o polimorfismo devemos criar objetos da dasse base, porém instanciá-los como a classe derivada.
Somente I
I, IIe IV
Somente IV
III e IV
I, II e III
18
Um programa orientado a objetos é estruturado como uma comunidade de agentes que interagem entre si, chamados, onde cada um tem um campo de atuação, seja provendo um ou performando uma que servirá a outro membro da comunidade. A alternativa que completa corretamente aslacunas é:
Instâncias, objeto, requisição
Classes, dado, pesquisa
Objeto, requisição, ação
Objetos, serviço, ação
Classes, objeto, requisição
19
Leia a seguinte definição descrita na obra conhecida popularmente como Gang of Four: "Defina uma dependência um-para-muitos entre os objetos para que, quando um objeto mudar de estado, todos os seus dependentes sejam notificados e atualizados automaticamente." Escolha a alternativa a qual a definição acima descreve.
Bridge
Flyweight
Facade
Composite
Observer
20
Na programação orientada a objetos existe um veículo que indica a ação a ser performada e representa um dos conceitos chaves dessa tecnologia. Sobre este "veículo", identifique as afirmativas a seguir como verdadeiras (V) ou falsas (F): () A ação é iniciada na programação orientada a objetos pela transmissão de uma mensagem a um agente (uma classe) responsável pela ação. () A mensagem codifica a solicitação de uma ação e é acompanhada por qualquer informação adicional (argumentos) necessária para executar a solicitação. () O destinatário é o objeto a quema mensagem é enviada. () Se a classe aceitar a mensagem, aceita a responsabilidade de executar a ação indicada. () Em resposta a uma mensagem, o receptor executará algum argumento para satisfazer a solicitação. Assinale a alternativa que representa a sequência correta de cima para baixo:
V-V-V-F-F
F-V-V-F-F
F-V-V-V-V
F-V-V-F-V
F-V-V-V-F
21
Podemos usar os diagramas de classes para modelar a estrutura de um sistema. Classes são os componentes básicos de qualquer software orientadoa objetos e os diagramas de classe UML proporcionam uma maneira fácil para representação. Além de mostrar classes ir dividuais em detalhes, diagramas de classe mostram múltiplas classes e como elas se relacionam entre si. Considerando aseguinte figura, analise as assertivas e assinale a alternativa que aponta a(s) correta(s). Produto CarrinhoCompras - idProduto: int - nomeProduto: string SelecaoProduto -idCarrinho: int -valorCarrinho: currency -setProduto(): void -getProduto(): void + calcularValor(): void SelecaoProduto - quantidadeProduto: int -precoUnitarioProduto: currency -excluirProdutoLista(): void I. A figura apresenta uma herança entre duas classes. II. A figura apresenta os atributos e métodos das classes envolvidas. III. O método calcularValor() só pode ser acessado pela sua classe. Fonte: Prova: INSTITUTO AOCP -2019-EMPREL - Analista de Sistemas Banca: INSTITUTO ADCP Órgão: EMPREL Ano: 2019
Apenas I e II
Apenas III
Apenas I
Apenas II
22
Uma classe é similar a um tipo abstrato de dado no sentido que ela define uma estrutura interna um conjunto de operações que todos os objetos que são instâncias daquela classe irão possuir. Sobre o assunto classes no contexto da orientação a objeto, assinale aalternativa correta:
O método invocado por um objeto em respostaa uma mensagem é determinado pela classe do receptor.
Nem todos os objetos são instâncias de uma classe.
Uma classe não pode ser um objeto e por isso não pode aceitar mensagens, ter métodos e um estado interno.
Todos os objetos de uma determinada classe usam o mesmo método em resposta a mensagens semelhantes.
Classes consistem somente em coleções de métodos, sub-rotinas.
23
A estrutura do Entity é uma estrutura de Mapeamento Objeto / Relacional. É um aprimoramento do ADO.NET que oferece aos desenvolvedores um mecanismo automatizado para acessar e armazenar os dados no banco de dados. Vinicius criou um sistema bancário e está usando o Entity para persistir os objetos de sua aplicação. Ele criou a seguinte classe que estende DbContext: using Microsoft.EntityFrameworkCore; namespace }1 UVV.Banco.ConsoleApp public class BancoContext: DbContext public Db5et<Conta> Contas { get; set; } public DbSet<Cliente> Clientes { get; set; } public DbSet<Tarifa> Tarifas { get; set; } Escolha a alternativa para recuperar todos os clientes do banco de dados. Suponha o código abaixo: using (var contexto = new BancoContext ()) { var clientes = contexto... //seu código aqui
contexto.Clientes.ToList();
contexto.ToList().Cliente;
Nenhuma das anteriores
contexto.Cliente.List();
contexto.ToList();
24
Todos os operadores unários e binários possuem implementações predefinidas, disponíveis automaticamente em qualquer expressão. Além dessas implementações predefinidas, as implementações definidas pelo usuário também podem ser introduzidas em C#. O mecanismo de atribuir um significado especial a um operador C# padrão em relação a um tipo de dados definido pelo usuário, como classes ou estruturas, é conhecido como sobrecarga de operador. Sobre sobrecarga de operadores analise as proposições a seguir: I. Todos os operadores binários em C# podem ser sobrecarregados. II.Todos os operadores unários do C# podem ser sobrecarregados. III. Operadores lógicos no C# podem ser sobrecarregados. IV. =,.,?:,->, new, is, as, sizeof podem ser sobrecarregados.
I e Il
I , II e IV
I , I e II
I, II, III e IV
Somente I
25
Na Programação Orientada a Objetos (POO), as exceções são um mecanismo poderoso para о processamento centralizado de erros e situações excepcionais. Esse mecanismo substitui o método orientado a procedimentos de tratamento de erros, no qual cada função retorna um código indicando um erro ou uma execução bem-sucedida. Sobre exceções em C# é correto o que se afirma em:
Cada exceção no .NET contém o chamado rastreamento de pilha (stack trace), que fornece
informações de onde exatamente ocorreu o erro.
A exceção no.NET é um objeto que sinaliza um erro ou um evento que não é previsto no fluxо
normal do programa. Quando esse evento incomum ocorre, o método de execução 'captura' um
objeto espec al contendo informações sobre o tipo do erro, o local no programa em que o erro
ocorreu e o estado do programa no momento do erro.
Na POO, é recomendável usar exceções para gerenciar situações de erro, eventos inesperacos
que possam surgir duranteaexecução do programa e para manipular algum evento esperadо.
Quando uma exceção é manipulada (capturada), o mecanismo de manipulação pode capturar
apenas um erro específico (como na programação processual tradicional)
Geralmente na POO, um código que executa alguma operação causará uma exceção se houver
um problema ea operação não puder ser concluída com êxito. Somente o método que causou a
operação pode capturar a exceção (e manipular o erro).
26
A exceção no.NET é um objeto que sinaliza um erro ou um evento que não é previsto no fluxo normal do programa. Quando esse evento incomum ocorre, o método de execução 'lança' um objeto especial contendo informações sobre o tipo do erro, o local no programa em que o erro ocorreu e o estado do programa no momento do erro. São 3 exemplos de exceções em C#: I. DivideByZeroException II. NullReference Exception III. OverloadException IV. StackOverflowException V. MathException
I, II e IV
I, III e IV
I, III e V
III, IV e V
II, III e IV
27
A partir do Visual C# 3.0, variáveis declaradas no escopo do método podem ter um tipo implícito var. Uma variável local digitada implicitamente tem rigidez de tipos como se você tivesse declarado o tipo, mas o compilador que determina o tipo. Nesse sentido analise o código abaixo e selecione a alternativa que representa a saída: var n1; n1=true; Console.WriteLine(n1);
var
true
error
1
nl
28
O Entity Framework permite que você crie um modelo escrevendo código ou usando caixas e linhas no EF Designer. Ambas abordagens podem serusadas em um banco de dados existente ou criar um novo banco de dados. O Entity Framework é o ORM principal que a Microsoft fornece para o.NET Framework e é a tecnologia de acessoadados recomendada pela Microsoft. Seja o cenário: Dona Maria criou a seguinte dasse para representar o contexto no Entity da cantina da universidade: using Microsoft.EntityFrameworkCore; namespace UVV.Cantina.Entity { public class CantinaContext: DbContext { public DbSet<Salgado> SalgadosNaEstufa { get; set; } } Qual nome será descoberto pelo Entity para mapear a tabela no bancо?
O nome da classe pluralizado: Cantinas
O nome da classe: Cantina
O nome da classe pluralizado: SalgadosNaEstufas
O nome da propriedade: SalgadosNaEstufa
Nenhuma das anteriores
29
Esse padrão trata da avaliação de sentenças em um idioma. Você precisa definir uma gramática para representar o idioma, e então o intérprete lidará com essa gramática. Por exemplo, neste caso você poderá transformar para um inteiro de três dígitos uma entrada de dados que é inserido em sua forma de palavra (em forma de texto/string). Selecione a alternativa que representa o padrão de projeto a qual o texto acima se refere:
Observer
Facede
Interpreter
MVC
Bridge
30
O polimorfismo representa a habilidade de interação com um objeto e a sua categoria generalizada considerando sua categoria mais especializada em tempo de execução, por exemplo. Sobre Polimorfismo podemos afirmar:
O polimorfismo pode ser de três tipos: Polimorfismo estático, Polimorfismo dinâmico e
Polimorfismo hibrido.
O polimorfismo permite a expansão de sistemas computacionais, com a criação de novos
objetos especializados, entretanto, existe uma preocupação em relação a propriedades
especificas desses novos objetos.
O polimorfismo ocorre quando há uma hierarquia de classes e elas são relacionadas por
sobrecarga de uma classe base comum.
O polimorfismo estático é geralmente chamado de "polimorfismo de ligação inicial" ou "em
tempo de execução", enquanto o polimorfismo dinâmico é chamado de "polimorfismo de
ligação tardia" ou em "tempo de compilação".
O polimorfismo estático é alcançado usando sobrecarga de métodos e sobrecarga de
operadores, enquanto o polimorfismo dinâmico é alcançado usando substituição de métodos.
31
O código abaixo imprime na tela do console uma variável, qual a alternativa que informa corretamente o yalor dessa saída: int a = 8; int b = ++a; if (a > 5) b-=3; else b =9; Console.WriteLine(b);
9
8
7
5
6
32
O Entity Framework (EF) é um mapeador relacional de objeto (Object-relational mapper - ORM) que permite que os desenvolvedores .NET trabalhem com dados relacionais usando objetos específicos de domínio. Ele elimina a necessidade da maior parte do código de acessoadados que os desenvolvedores geralmente precisam escrever. Selecione todos os passos abaixo que são necessários para podermos utilizar o Entity Framework Core em nossos projetos: 1. Informar no evento de configuração do contexto o nome do banco e sua localização. II. Criar as propriedades no contexto para dizer quais classes serão persistidas. III. Garantir que o método que usa o contexto para persistir o dado seja um método estático. IV. Criar um contexto próprio que herda da classe DbContext. V. Remover todas as referências a outros métodos de persistência, como o ADO.Net. VI. Instalar o Entity Framework através do gerenciador de pacotes NuGet.
I e III
II e IV
I, II, IV, VI
Nenhuma das anteriores.
II , III , V
33
Um construtor é um método especial da classe que é chamado automaticamente sempre que uma instância da classe é criada. Como métodos, construtores também contém a coleção de instruções executadas no momento da criação do objeto e é usado para atribuir valores iniciais aos membros de dados da mesma classe. Análise as afirmações abaixo sobre construtores: 1 - Um construtor sem parâmetros é chamado de construtor padrão. II - Um construtor com pelo menos um parâmetro é chamado de construtor parametrizado. III - Classes que possuem construtor privado podem derivar classes desde que seus parâmetros sejam nulos. IV - Construtor cópia serve para inicializar uma nova instância para os valores de uma instância existente. Marque a alternativa que contenha as afirmações corretas:
I, II e IV
II e III
I, III e V
I e IV
II e IV