Buscar

PROGRAMAÇÃO ORIENTADA A OBJETOS I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

IMPORTANTE
Data limite para aplicação 
desta prova: 15/04/2023 
UNIP EAD 
Código da Prova: 123394181159
Curso: SUP TEC EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
Série: 3 Tipo: Bimestral - Substitutiva
Aluno: 2298106 - ROBERTO SOUZA DA SILVA
I - Questões objetivas – valendo 5 pontos 
II - Questões discursivas – valendo 5 pontos 
Gerada em: 14/04/2023 às 18h01
------------------------------------------------------------------------------------------------------------
Instruções para a realização da prova:
1. Leia as questões com atenção.
2. Confira seu nome e RA e verifique se o caderno de questão e folha de respostas correspondem à sua disciplina.
3. Faça as marcações primeiro no caderno de questões e depois repasse para a folha de respostas.
4. Serão consideradas somente as marcações feitas na folha de respostas.
5. Não se esqueça de assinar a folha de respostas.
6. Utilize caneta preta para preencher a folha de respostas.
7. Preencha todo o espaço da bolha referente à alternativa escolhida, a caneta, conforme instruções: não rasure, não 
preencha X, não ultrapasse os limites para preenchimento.
8. Preste atenção para não deixar nenhuma questão sem assinalar.
9. Só assinale uma alternativa por questão.
10. Não se esqueça de responder às questões discursivas, quando houver, e de entregar a folha de respostas para o tutor 
do polo presencial, devidamente assinada.
11. Não é permitido consulta a nenhum material durante a prova, exceto quando indicado o uso do material de apoio.
12. Lembre-se de confirmar sua presença através da assinatura digital (login e senha).
Boa prova!
------------------------------------------------------------------------------------------------------------
Questões de múltipla escolha
Disciplina: 685760 - PROGRAMAÇÃO ORIENTADA A OBJETOS I
Questão 1: Dada a seguinte tela de saída:
Considerando as três propostas de programa a seguir:
Programa I
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) 
rsouz
Retângulo
rsouz
Destacar
rsouz
Destacar
rsouz
Destacar
{
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?
A) Apenas o programa I mostra a tela anterior.
B) Apenas o programa II mostra a tela anterior.
C) Apenas o programa III mostra a tela anterior.
D) Mais de um dos programas mostram a tela.
E) Nenhum dos programas apresentados mostra a tela anterior.
Questão 2: No programa abaixo qual o código que deve ser colocado no quadro 1 para que saída corresponda 
à tela.
static void Main(string[] args)
{
List <char> palavra = new List<char>();
palavra.Add('c');
palavra.Add('o');
palavra.Add('n');
palavra.Add('t');
palavra.Add('a');
palavra.Add('t');
palavra.Add('o');
foreach (char c in palavra)
Console.Write(c);
Console.ReadLine();
}
A) palavra.Remove('t');
palavra.Remove ('o');
B) palavra.RemoveAt(6); 
palavra.Remove('t');
palavra.Remove ('a');
Adm2
Máquina de escrever
xx
Adm2
Máquina de escrever
xx
palavra.Add ('a');
C) palavra.RemoveAt(6);
palavra.RemoveAt(7);
D) palavra.Remove('o');
palavra.RemoveAt(6);
E) palavra.RemoveAt(6);
palavra.Remove('o');
Questão 3: Leia o texto extraído do site Toyota.com.br:
Toyota apresenta primeiro protótipo de veículo híbrido flex do mundo
A Toyota apresentou no dia 19 de março o primeiro protótipo de veículo híbrido equipado com motor de combustão 
interna flexfuel. O projeto, que combina um propulsor elétrico e outro flexível a gasolina e etanol, colocou lado a lado 
as equipes de engenharia da Toyota Motor Corporation, no Japão, e da Toyota do Brasil para somar esforços e buscar 
sintonia entre as tecnologias.
O trabalho foi direcionado no sentido de extrair o potencial máximo de cada solução: alta eficiência, baixíssimos 
níveis de emissões e capacidade de reabsorção dos impactos de gás carbono, ao utilizar combustível oriundo de 
fonte 100% renovável. O protótipo foi construído sobre a plataforma do modelo Prius, usada como base para 
condução dos trabalhos. A marca ainda estuda possibilidades de produção dessa tecnologia no Brasil no futuro...
(texto e imagem extraídos de https://www.toyota.com.br/mundo-toyota/noticias/toyota-apresenta-primeiro-prototipo-de-veiculo-hibrido-flex-do-
mundo/) Acesso em: 08/12/2019
Considerando que na classe Carro e o método acelerar funciona administrando a combinação entre os 
combustíveis gasolina e álcool além da eletricidade entre os elementos motrizes. O computador de bordo 
identifica a disponibilidade do combustível e da bateria, além da velocidade necessária, processa as
informações e envia como parâmetro ao método acelerar os valores do volume em mililitros, ou o valor da 
tensão em Volts para resultar na ação imposta pelo motorista. Este é um exemplo que ilustra uma 
característica da Orientação a Objeto chamada:
A) Associação
B) Polimorfismo
C) Herança
D) Encapsulamento
E) Flexibilidade.
Questão 4: Considere o programa abaixo:
class A
{
public int n;
public A() : this(2) { }
public A(int valor)
Adm2
Máquina de escrever
xx
Adm2
Máquina de escrever
xxx
{
this.n = valor + 3;
}
}
class B : A
{
public int m;
public B() : this(5) { }
public B(int valor) : base(valor)
{
this.m = base.n + 7;
}
}
class Program
{
static void Main(string[] args)
{
B b1 = new B();
B b2 = new B(1);
Console.WriteLine(b1.m + " " + b2.m);
}
}
Qual a saída do programa acima?
A) 
B) 
C) 
D) 
E) 
Questão 5: Observando o programa a seguir:
Adm2
Máquina de escrever
xx
namespace ConsoleApplication1
{
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 + "/" + ano;
}
}
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
{
public 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
{
public string departamento;
public Data inicioGerencia;
public Gerente(string depto, Data inic, float sal, Data adm, Data nasc, string nome, int id): base(nome, id, nasc, 
adm, sal)
{
departamento = depto;
inicioGerencia = inic;
}
}
public class Cliente : Pessoa
{
public double limCredito;
public Cliente(string nome, int id, Data nasc, double lim): base(nome, id, nasc)
{
limCredito = lim;
}
}
public class Banco
{
public static float valorEmprestimo(Pessoa p)
{
float valor;
if (p is Gerente)
{
valor = ((Gerente)p).salario * 10; 
}
else if (p is Funcionario)
{
valor = ((Funcionario)p).salario * 5;
}
else
{
valor = 0;
}
return valor;
}
public static float ReajSalF(Funcionario f)
{
if (((Funcionario)f).salario > 2000)
((Funcionario)f).salario *= 1.2f;
else if (((Funcionario)f).salario <= 2000 && ((Funcionario)f).salario <= 1000)
((Funcionario)f).salario *= 1.3f;
else
((Funcionario)f).salario *= 1.4f;
return ((Funcionario)f).salario;
}
public static double ReajLimcr(Cliente c)
{
if (((Cliente)c).limCredito > 500)
((Cliente)c).limCredito *= 1.5;
else
((Cliente)c).limCredito *= 1.4;
return ((Cliente)c).limCredito;
}
}
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(g1.ToString() + "\n Emprestimo: " + Banco.valorEmprestimo(g1));
Console.WriteLine(f2.ToString() + "\n Reajuste: " + Banco.ReajSalF(f2));
Console.WriteLine(c1.ToString() + "\n Novo Lim: " + Banco.ReajLimcr(c1));
}
}
}
Qual dos métodos a seguir implementa o POLIMORFISMO?
A) Data.get()
B) Banco.ReajSalF
C) Banco.ReajLimcr
D) Funcionario:Pessoa
E) Banco.valorEmprestimo
Questão 6: Sobre a declaração e uso de classes, métodos e atributos especificamente na linguagem de 
programação C#, é correto afirmar que:
A) Em uma mesma classe pode-se declarar dois métodos que apresentam o mesmo nome.
B) Em um método de uma classe filha, a cláusula this é utilizada para acessar um atributo da classe mãe.
C) Uma classe filha não pode sobrepor um método ou atributo da classe mãe se na classe mãe eles estiverem com o 
atributo protected.
D) Uma classe abstrata pode ser implementada por uma classe concreta através da instrução implements.
E) Uma interface pode ter atributos que podem ser utilizados nas classes herdeiras.
Questão 7: Considere o programa a seguir:
namespace Prova
{
abstract class Classe1
{
public virtual int soma(int 
A) 
{ 
return a+1;
}
}
class Classe2:Classe1
{
public override int soma(int a)
{
return a + 2;
}
}
class Classe3 : Classe1
{
public int soma(int a)
{
return base.soma(a + 3);
}
}
class Classe4 : Classe3
{
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();
Adm2
Máquina de escrever
xx
Adm2
Máquina de escrever
xx
Console.WriteLine("{0} {1} {2}", c2.soma(0), c3.soma(0), c4.soma(0));
}
}
}
Qual é o resultado apresentado na tela?
a) 2 4 8
B) 2 4 5
C) 2 5 8
D) 3 4 8
E) 3 5 9
Questão 8: Considere o programa abaixo:
class TesteErro
{
public void testar(int valor)
{
if (valor > 0)
{
DivideByZeroException er1 = new DivideByZeroException();
throw er1;
}
if (valor == 0)
{
IndexOutOfRangeException er2 = new IndexOutOfRangeException();
throw er2;
}
if (valor < 0)
{
ArgumentException er3 = new ArgumentException();
throw er3;
}
}
}
class Program
{
static void Main(string[] args)
{
TesteErro t1 = new TesteErro();
try
{
Console.Write("Entre com um valor:");
int n = Convert.ToInt32(Console.ReadLine());
t1.testar(n);
}
catch (FormatException)
{
Console.WriteLine("Guitarra");
}
catch (DivideByZeroException)
{
Console.WriteLine("Violino");
}
catch (IndexOutOfRangeException)
{
Adm2
Máquina de escrever
xx
Console.WriteLine("Piano");
}
catch (ArgumentException)
{
Console.WriteLine("Bateria");
}
}
}
Qual dos programas executou o programa acima:
A) 
B) 
C) 
D) 
E) 
Questões discursivas
Questão 1: O programa a seguir não apresenta encapsulamento:
public class Telefone {
public String modelo;
}
public class Prova01 {
public static void Main(String[] args) {
Telefone telefone;
telefone = new Telefone();
telefone.modelo="FPS01";
Console.WriteLine("Modelo.........:"+telefone.modelo);
}
}
Faça o encapsulamento usando os métodos getNome( ) e setNome( ) da classe Telefone, e modifique a 
classe Prova01.
Questão 2: Considere a seguinte classe Produto:
Escreva um programa (apenas o método Main) que instancie dois objetos da classe Produto e imprima seu 
conteúdo gerando a seguinte saída:

Continue navegando