











































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Segue respostas de questões para prova
Tipologia: Provas
1 / 51
Esta página não é visível na pré-visualização
Não perca as partes importantes!












































Programação Orientada a Objetos I MULTIPLA ESCOLHA P) Dado o código abaixo com as seguintes classes: A, B e Program: class A { Public override String ToString() { return “4”; } } class B:A { Public override String ToString() { return base.ToString() + “3”; } } class Program { static void Main(string[] args) { Console.WriteLine(new B()); } Qual o resultado será apresentado como saída de execução do programa Program? Resposta: B) O programa compila e o número 43 é exibido. P) Considere o seguinte programa: static void Main(string[] args) { char [] c = new char[] {‘a’,’b’,’c’}; Console.WriteLine(“{1}{0}{2}”, c[1],c[0],c[2]); } Qual a sua saída? Resposta: A) a b c P) Leia o texto extraído do site tecnoblog.net: Em orientação a objeto, este processo no qual não temos mais acesso a um elemento interno, no caso a bateria, se chama: Resposta: D) Encapsulamento P) Dada a seguinte tela de saída: Considerando as três propostas de programa a seguir: Programa I a) static void Main(string[] args) { int a=345, b=543, c=435; Console.WriteLine(“seq\n{1}\n{0}\n{2}”, b,a,c);Console.ReadKey(); } Programa II b) static void Main(string[] args) { int a=345, b=543, c=435; Console.WriteLine(“seq\n{0}\n{1}\n{2}”, a,b,c);Console.ReadKey();
} Programa III c) static void Main(string[] args) { int a=345, b=435, c=543; Console.WriteLine(“seq\n{0}\n{2}\n{1}”, a,b,c);Console.ReadKey(); } Qual a afirmação é correta? Resposta: D) Mais de um dos programas mostram a tela. P) Um atributo serve para: Resposta: A) Indicar as possíveis informações armazenadas por um objeto de uma classe, representando o estado de cada objeto. P) Considere o seguinte programa: static void Main(string[] args) { List
P) Dos conjuntos de ferramentas fornecidos pelo C# qual não é utilizado para a programação de laços? Resposta: E) switch case. P) Leia as definições de laços a seguir: I – Possui três componentes para controle de suas interações (voltas de laço) sendo que o primeiro comportamento refere-se à declaração da variável de controle do laço. O segundo componente é uma expressão lógica que tem condição de encerramento a cada interação e o terceiro componente é o controle do laço que determinará o passo de cada interação. II – É usado quando não sabemos o número de vezes que devemos executar um bloco de código, mas apenas a condição que deve ser satisfeita para executar a condição é uma expressão booleana que deverá ser verdadeira para garantir pelo menos a primeira ou a próxima interação caso contrário o bloco não será executado. III – É usado para quando queremos que o bloco do código seja executado pelo menos uma vez. A condição satisfeita se encontra no fim do bloco do código e não no começo. Resposta: D) I-for, II-while, III-do while. P) Entre as principais vantagens da Programação Orientada a Objetos, podemos citar: Resposta: E) Tem uma alta reusabilidade. P) Analise as afirmativas a seguir: I – Mensagem é uma chamada a um objeto para invocar um de seus métodos, ativando um comportamento por sua classe. Também pode ser direcionada diretamente a uma classe (através de uma invocação a um método estático). II – Herança é o mecanismo pelo qual uma classe pode estender outra classe, aproveitando seus comportamentos (métodos) e variáveis possíveis (atributos). III – Associação é o mecanismo pelo qual um objeto utiliza os recursos de outros. Elas podem ter a forma “um-para- um”, quando um objeto troca mensagens com outro, ou “um-para-muitos”, quando um objeto troca mensagens com uma coleção de outros objetos Sobre as afirmativas apresentadas, assinale a alternativa correta: Resposta: E) As afirmativas I, II e III estão corretas. P) O programa a seguir apresenta um erro, mas todos do mesmo tipo: namespace ProvaHr { public class ContaCorrente { private int numero; private String cliente; private float saldo; private static int ultimoNumero = 1000; public ContaCorrente(String cliente) { this.numero = ++ultimoNumero; this.cliente = cliente; } public void depositar(float valor) { saldo += valor; } public void sacar(float valor) { If (valor < saldo) saldo - =valor; else Console.WriteLine(“Saldo insuficiente”); } } public class ContaEspecial:ContaCorrente { public double limite; public ContaEspecial(String cliente, double limite) : base(cliente) { this.limite = limite; }
public void sacar(float valor) { if (valor < (saldo – limite)) saldo-= valor; else Console.WriteLine(“saldo insuficiente’); } } class Program { Static void Main(string[] args) { ContaCorrente c1 = new ContaCorrente(“Maria”); c1.depositar(100); ContaEspecial c3 = new ContaEspecial(“Paula”,500.00); c3.sacar(50); } } } Considere as possíveis soluções para o erro, sem comprometer a segurança: I – Colocar o construtor padrão nas classes ContaCorrente e Cinta especial. II – Alterar a privacidade dos atributos número, cliente e saldo de private para protected. III – Alterar a privacidade de todos os métodos depositar e sacar para private. Assinale a alternativa correta. Resposta: B) Apenas a solução II corrige o programa. P) No programa abaixo qual o código que deve ser colocado no quadro 1 para que saída corresponde à tela. static void Main(string[] argas) { List
namespace ConsoleAppplication { public class Data { public int dia, mes, ano; public Data(int d, int m, int a) { dia = d; mes = m; ano = a;} public virtual void get() { Console.Write(dia + "/" + mes + "/" + ano); } public override string ToString() { return dia + "/" + mes + "/" + NO; } } public abstract class Pessoa { public string nome; public int identidade; public Data nascimento; public Pessoa(string n, int id, Data d) { nome = n; identidade = id; nascimento = d; } } public class Funcionario : Pessoa { puclib Data admissao; public float salario; public Funcionario(string nome, int id, Data nasc, Data admiss, float sal): base (nome, id, nasc) { admissao = admiss; salario = sal; } } public class Gerente : Funcionario {...} {...} class Program { public static void Main(string[] args) { Data dn = new Data(10, 12, 1980); Data da = new Data(5, 8, 2012); Funcionario f2 = new Funcionario ("Jose", 999, dn, da, 4000); Gerente g1 = new Gerente("Contabilidade", da, 5000, da, dn, "Marcos", 99999); Cliente c1 = new Cliente("Maria", 1111, dn, 3500); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); } } } Qual dos métodos a seguir implementa o POLIMORFISMO?
Resposta: E) Banco.valorEmprestimo P) Considere o programa a seguir: namespace Prova { abstract class Classe { public virtual int soma(int a) { return a+1; } } class Classe2: Classe { public override int soma(int a) { return a+2; } } class Classe3 : Classe { public int soma(int a) { return base.soma(a+3); } } class Classe4 : Classe { public int soma(int a) { return base.soma(a+4); } } class Program { static void Main(string[] args) { Classe2 c2 = new Classe2(); Classe3 c3 = new Classe3(); Classe4 c4 = new Classe4(); Console.WriteLine("{0} {1} {2}", c2.soma(0), c3.soma(0), c4.soma(0)); } } } Qual é o resultado apresentado na tela? Resposta: A) 2 4 8 P) Analise a figura e os códigos C# abaixo:
Para isso, foram apresentadas 3 propostas: I. public class Gato { private string nome; public string rga; public bool castrado; public Gato(string n, string r, bool c) { this.nome = n; this.rga = r; this.castrado = c; } public void imprime() { Console.WriteLine(this.nome + “\n” + this.rga + “\n” + ((this castrado)? “sim” : “não”)); } } class Program { static void Main(string[] args) { Gato g1 = new Gato(“Frajola”, “sp555”, false); g1.castrado = true; g1.imrpime(); } } II. public class Gato { private string nome; {...} III. {...} { return this.castrado; } public void imprime() { Console.WriteLine(this.nome + “\n” + this.rga + “\n” + ((this castrado)? “sim” : “não”)); } } class Program { static void Main(string[] args) { Gato g1 = new Gato(“Frajola”, “sp555”, false); g1.setCastrado(true); g1.imprime(); } } Assinale a alternativa correta. Resposta: B) Apenas a proposta de programa II atende ao requisito. P) Relacione a palavra-chave da linguagem C# à sua respectiva descrição: Palavra-chave: I. this
II. base III. throw Descrição: (P) Usada para gerar uma exceção (Q) Em um método ou construtor, refere-se à superclasse. A relação correta é: Resposta: E) II – Q, III – P. P) Considere o seguinte programa: class Fruta { public String nome; } class Program { static void Main(string[] args) { Fruta f1 = new Fruta(); f1.nome = “Banana”; Fruta f2 = new Fruta(); f1 = f2; f2.nome = “Laranja”; Fruta f3 = new Fruta(); f2 = f3; f3.nome = “Manga”; Console.WriteLine(“{0} {1} {2}”, f1.nome, f2.nome, f3.nome); } } Qual a saída? Resposta: D) Laranja Manga Manga P) A respeito dos conceitos de programação orientada a objetos e da linguagem de programação C#, assinale a opção correta: Resposta: D) Na linguagem C#, métodos abstract de classes abstract não têm implementação definida. As subclasses dessa classe abstrata definem implementação para tais métodos. P) Heranças podem ser definidas como: Resposta: B) A possibilidade do uso de uma classe em outra previamente existente reutilizando seus métodos e atributos. P) Abaixo temos um programa utilizando o Object: namespace UnipEADprv { class A { public A(){ } public String ToString() { return “X”; } public A Dois() { return (A)this.MemberwiseClone(); } } class Program { static void Main(string[] args)
P) Leia a definição: “Acontece quando ocorre mais de um método de uma mesma classe com o mesmo nome, desde que suas listas de parâmetros sejam diferentes”. Qual alternativa relaciona-se com a definição apresentada? Resposta: B) Sobrecarga. P) Heranças podem ser definidas como: class C1 : C { public C1() { Console.WriteLine("1"); } } class C { public C2() { Console.WriteLine("2"); } } class C3 : C { public C3() { Console.WriteLine("3"); } } class Program { static void Main(string[] args) { C3 c3 = new C3(); } } Resposta: B) 2 1 3 P) A descrição abaixo refere-se a qual das técnicas apresentadas pelo paradigma da Programação Orientada a Objetos? “É uma forma de reutilização de software na qual uma nova classe é criada, observando membros de uma classe existente e aprimorada com capacidades novas ou mesmo modificadas de acordo com a necessidade da... atual”. Resposta: D) Herança P) Leia a definição a seguir: “É o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que tem a mesma identificação, mas comportamentos distintos, especializados para cada classe, derivada, usando para tanto uma referência a um objeto do tipo da superclasse”. Qual o conceito definido no trecho acima? Resposta: C) Polimorfismo P) Observe o código a seguir: public class Pessoa { private String nome; private String humor;
public Pessoa(String nome) { this.nome = nome; this.humor = "bom"; } public void saudar() { Console.WriteLine("Meu nome é " + nome + "."); Console.WriteLine("Hoje estou de " + humor + " humor."); } } Quais das alternativas mostra um comando válido para se criar um objeto dessa classe? Resposta: E) Pessoa p1 = new Pessoa(“Maria”); P) Os erros gerados durante a execução de um programa implementado na linguagem C# devem ser controlados com uma estrutura, que pode combinar o uso de qual dos seguintes blocos de tratamento de exceção apresentado a seguir? Resposta: E) No mínimo com try e catch. P) Um objeto pode ser definido como: Resposta: A) Uma instância de uma classe. P) O entendimento exato do que se trata a orientação é necessário, por exemplo, saber quais são os requerimentos de uma linguagem para ser considerada dentro desse paradigma. Para isso, a linguagem precisa atender a tópicos bastante importante, os chamados pilares da Programação Orientada a Objeto. O livro-texto cita três considerados fundamentais pela Microsoft. Um deles é a característica de segurança, que impede o acesso externo ao funcionamento do objeto, por exemplo, quando clicamos no botão ligar da televisão, não sabemos o que acontece internamente. Outro tópico é o relacionamento hierárquico de ações e características, por exemplo, temos o aluno e o monitor em uma disciplina, ou o aluno e o representante de sala. O monitor é um aluno com atribuições extras. O representante de sala é um aluno com mais responsabilidades. A terceira característica é a possibilidade de uma mesma mensagem ser enviada para objetos de natureza diferente, mas todos e... capazes de dar uma resposta. Para ilustrar esta característica temos o botão direito do mouse. Conforme o local onde ele é clicado, ele responde de uma forma diferente. Dessa forma, os três pilares da Programação Orientada a Objeto citados neste texto são: Resposta: D) Polimorfismo, Encapsulamento, Herança. P) O programa abaixo contém erros de sintaxe: static void Main(string[] args) { /*Este programa fonte contém vários
} Qual dos programas executou o programa acima: Resposta: B) P) No programa abaixo: Para trocar valor do atributo dia da data de MesDia para 3, qual o comando a ser colocado na linha 35? Resposta: E) m.getData().setDia(3);
P) Considerando a afirmação a seguir: “As filas são estruturas baseadas no princípio FIFO (first in, first out), em que os elementos que foram inseridos no início são os primeiros a ser removidos.” Baseando-se neste princípio, crie uma lista enumerada de inteiros, chamada “Lista” e enfileire os números 1,2,3,4 depois, retire da fila dois elementos, enfileire o número 5 e mostre na tela a fila completa. Resposta: class Program { public static void Main(string[] args) { List
string Funcional; float Salario; } public class Editora { string Nome; } public class Autor : Pessoa { Editora Editora; } public class Emprestimo { Aluno Aluno; Funcionario Funcionario; } public class Livro { string Titulo; Editora Editora; Autor Autor; string Isbn; Boolean Status; int Exemplar; } public class ItemEmprestimo { int NumItem; Livro Livro; DateOnly Saida; DateOnly Devolucao; } P) Considere o seguinte programa: class program { public static void Main(string[] args) { int a; for (______________) { Console.WriteLine(a); } } } Qual é o código que deve ser escrito no retângulo vermelho para que a saída gerada pelo programa seja a seguinte? Resposta: a = 10; a >= 5; a— P) Leia a descrição a seguir: “Os bancos, para atender aos seus clientes, possuem duas frente de trabalho. Os caixas eletrônicos espalhados pela cidade, que são diretamente ligados ao banco, e as agencias tradicionais, que entre outras coisas, possuem os seus postos bancários dentro das empresas, fazem o atendimento VIP dos clientes que têm conta premium e possuem um
anexo para o atendimento à pessoa jurídica”. Utilizando estas informações monte o diagrama simples de classes. Resposta: Sugestão de resposta incerta: P) Reescreva corrigindo o programa abaixo: static void Main(string[] args) { int[] v = new int[10]; float i; for (i = 0; i <= 9; i++) { Console.Write("\nDigite o elemento {0} ", i+1); v[i] = Console.ReadLine(); } for (i = 9; i >= 0; i--) { Console.WriteLine(v[i]); } } Resposta: static void Main(string[] args) { int[] v = new int[10]; int i; for (i = 0; i <= 9; i++) { Console.Write("\nDigite o elemento {0} ", i+1); v[i] = int.Parse(Console.ReadLine()); } for (i = 9; i >= 0; i--) { Console.WriteLine(v[i]); } } P) Qual é a saída gerada pelo seguinte programa? class Program { static void Main(string[] args) { string texto1 = "quatro";