Buscar

Programação Orientada a objetos I - Avaliação Presencial

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 7 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 7 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

1 - Questões objetivas - valendo 5 pontos 
li - Questões discursivas - valendo 5 pontos 
Gerada em: 20/06/2023 às 14h02 
------------------------------------------------------------------------------------------------------------
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. 
1 O. 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 1 
Questão 1: Ao executar o programa abaixo: 
1 
2 
3 
4 
5 
i 
s 
s 
10 
ll 
12 
13 
H 
lS 
1 ·4Í 
11 
1'8 
,19 
20 
21 
22 
23 
24 
25 
2~ 
27 
28 
public cl ••• G•to 
{ 
public string raça; 
publlc i n: idaca ; 
publle Bool~a:n castrado; 
public char ,exo: 
publlc string nome; 
publlc GaU>() : thi•(~Si.Joon•J ( J 
publ1C Gat.o(StrinQ ll) 1 th1a (n, O) ( ) 
publlc Gat.o(St:ring n , int iJ : this(n, 1, rai.e, •m• , ·s.lU>") ( } 
public G.co(atr::inq n, int i, bool e, ,tdnq r) : this(n, i, e , ' .m ', r) ( } 
publle G&eo(sering n, ine 1, ehar s, nri.ng rJ : tbia(n, 1, ruae, a, r) { ) 
pu,!1Uc Gato(strin'J nomt,int i~ad.e, Boolnn castrado, ~r aego, str1ntJ raça) 
( 
tbia.raça • raça: 
tbis.1dade • idade; 
tMs.cu~r&dO - CUU&dO; 
this,seso • ,exo; 
tb1S. 11.0IM • ftOIM ; 
claa.s Progna 
( 
eeat1c void Hain(etrinq(] arga) 
{ 
Qual a sequência das linhas executadas no processo, considerando-se como as linhas da classe as mesmas no 
objeto? 
A) 26,8,9, 1 O, 11, 13, 15, 16, 17, 18, 19,27 
2~a~1~1~1~1~1i1a1~21 
26, 13, 15, 16, 17, 18, 19,27 
2~1z1~1~1~1i1a1~21 
26, 11, 13, 15, 16, 17, 18, 19,27 
Questão 2: Considere a seguinte situação: 
Numa clínica veterinária é feita a castração de gatos. No programa, uma vez criada a instância do animal, o nome 
NÃO pode mais ser alterado, o seu RGA (Registro Geral do Animal) e a Castração poderão ser alterados 
externamente. 
Portanto, o requisito deste programa é: as informações SOMENTE poderão ser acessadas externamente pelo método 
imprime. 
Para isso, foram apresentadas 3 propostas: 
1. 
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 = e; 
public void imprime() 
{ 
Console.Writeline(this.nome + "\n" + this.rga + "\n" + ((this.castrado) ? "sim" : "não")); 
class Program 
{ 
static void Main(stringD args) 
{ 
Gato g1 = new Gato("Frajola","spSSS",false); 
g 1.castrado = true; 
g1.imprimeO; 
00 . '- /pubhc class Gato 
Ili. 
{ 
private string nome; 
private string rga; 
private bool castrado; 
public Gato(string n,string r, bool c) 
{ 
} 
this.nome = n; 
this.setRga(r); 
this.castrado = c; 
public void setRga(String r) 
{ 
this.rga = r; 
public void setCastrado(Boolean c) 
{ 
this.castrado = c; 
public void imprimeO 
{ 
Console.Writeline(this.nome + "\n" + this.rga + "\n" + ((this.castrado) ? "sim" : "não")); 
class Program 
{ 
static void Main(stringD args) 
{ 
Gato g1 = new Gato("Frajola","spSSS",false); 
g1 .setCastrado(true); 
g1.imprimeO; 
public class Gato 
{ 
private string nome; 
private string rga; 
private bool castrado; 
public Gato(string n,string r, bool c) 
{ 
} 
this.nome = n; 
this.setRga(r); 
this.castrado = c; 
public void setRga(String r) 
{ 
this.rga = r; 
} 
public string getRga() 
{ 
return this.rga; 
) 
public void setCastrado(Boolean c) 
{ 
this.castrado = c; 
) 
public Boolean getCastrado() 
{ 
return this.castrado 
) 
public void imprime() 
{ 
Console.Writeline(this.nome + "\n" + this.rga + "\n" + ((this.castrado) ? "sim" : "não")); 
class Program 
{ 
static void args) 
{ 
Gato g1 = new Gato("Frajola","spSSS",false); 
g1 .setCastrado(true); 
g1 .imprime(); 
Assinale a alternativa correta. 
Apenas a proposta de programa I atende ao requisito. 
Apenas a proposta de programa li atende ao requisito. 
Apenas a proposta de programa Ili atende ao requisito. 
D) Mais de uma das propostas de programa atende ao requisito. 
E) Nenhuma das propostas atende às expectativas. 
Questão 3: O entendimento exato do que se trata a orientação a objetos é 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 importantes, 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 naturezas diferentes, mas todos eles 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. 
Desta forma, os três pilares da Programação Orientada a Objeto citados neste texto são: 
A) Portabilidade, Mutação, Proteção 
B) Segurança, Abstração, Herança 
Herança, Segurança, Multiplicidade 
Polimorfismo, Encapsulamento, Herança 
) Herança, Segurança, Polimorfismo 
Questão 4: Analise as seguintes afirmações: 
1. O uso de uma estrutura de repetição FOREACH é recomendado quando sabemos o número de repetições que 
serão executadas. 
li. Uma estrutura de repetição WHILE sempre terá os comandos pertencentes ao seu bloco principal executado pelo 
menos uma vez. 
Ili. Uma estrutura de repetição DO .. .WHILE sempre terá os comandos pertencentes ao seu bloco principal executado 
pelo menos uma vez. 
Assinale a alternativa correta: 
A) Apenas a afirmação I é verdadeira 
Apenas a afirmação li é verdadeira 
Apenas a afirmação Ili é verdadeira 
Mais de uma das afirmações é verdadeira 
E) Nenhuma das afirmações é verdadeira 
Questão 5: Sendo A uma superclasse simples, a classe abaixo não apresenta erro. Analise com cuidado: 
class C: A,B 
{ 
private int a; 
public C0 
{ 
this.a = 1; 
public void metodo0 { } 
Podemos afirmar que: 
1. B é uma interface ,._ 
li. A presença do método public void metodoO foi imposta por B 
Ili. A classe C não possui método construtor. 
Assinale a alternativa correta: 
A) Apenas a afirmação I é verdadeira 
B) Apenas a afirmação li é verdadeira 
A Apenas a afirmação Ili é verdadeira 
Mais de uma das afirmações é verdadeira 
@ Nenhuma das afirmações é verdadeira 
Questão 6: A respeito dos conceitos de programação orientada a objetos e da linguagem de programação C#, 
assinale a opção correta. 
A) Na linguagem C#, é possível haver polimorfismo apenas por meio da implementaçãode herança entre classes. 
B) Em uma hierarquia de classes na linguagem C#, uma subclasse sobrescreve qualquer método da sua superclasse 
~ de que a palavra virtual esteja declarada no método da subclasse. 
(~ , Na linguagem C#, os métodos de uma classe que são declarados como virtual necessitam que sejam 
~ !ementados na subclasse. 
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. 
E) Na linguagem C#, métodos abstract de classes abstract precisam ser declarados com override nas subclasses 
quando tais métodos são implementados. 
Questão 7: Heranças podem ser definidas como: 
Ações de uma classe executadas em outra classe. 
A possibilidade do uso de uma classe em outra previamente existente reutilizando seus métodos e atributos. 
) Característica de operações de um objeto herdadas de uma classe. 
D) Ações executadas por uma classe, sempre utilizadas em tempo de execução. 
E) A reutilização de todos os métodos de um objeto instanciado a partir de uma classe encapsulada e polimórfica. 
Questão 8: Considere o programa a seguir: 
namespace Prova 
{ 
abstract class Classe 1 
{ 
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(stringD 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? 
fa)'i2 4 8 / 
))' 24 5 
C) 2 5 8 
D) 3 4 8 
E) 3 5 9

Continue navegando