Você está na página 1de 8

IMPORTANTE

Data limite para aplicação


desta prova: 15/04/2023
UNIP EAD
Código da Prova: 123464976495
Curso: SUP TEC EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
Série: 3 Tipo: Substitutiva
Aluno: 2260416 - CARLOS HENRIQUE PEREIRA DE ALMEIDA
I - Questões objetivas – valendo 5 pontos
II - Questões discursivas – valendo 5 pontos
Gerada em: 12/04/2023 às 23h51
------------------------------------------------------------------------------------------------------------
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: 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)
{
Console.WriteLine("Piano");
}
catch (ArgumentException)
{
Console.WriteLine("Bateria");
}
}
}

Qual dos programas executou o programa acima:

A)

B)

C)
D)

E)

Questão 2: Um objeto pode ser definido como:

A) Uma instância de uma classe.


B) Uma característica de uma coisa do mundo real.
C) Uma função.
D) Uma característica ou comportamento de uma classe.
E) Um trecho de código utilizado apenas em tempo de desenvolvimento.

Questão 3: No programa abaixo:


Para trocar valor do atributo dia da data de MesDia para 3, qual o comando a ser colocado na linha 35?

A) m.dia.dia=3;
B) m.setData().setDia(3);
C) m.setData(setDia(3));
D) m.getData().setDia()=3;
E) m.getData().setDia(3);

Questão 4: 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 apresentados a seguir?

A) No mínimo com try e finally.


B) No mínimo com try e catch ou try e finally.
C) Obrigatoriamente try, catch e finally.
D) No mínimo com try e catch, ou try e finally, ou try, catch e finally.
E) No mínimo com try e catch.

Questão 5: Entre as principais vantagens da Programação Orientada a Objetos, podemos citar:

A) Permite aos programadores introduzir programas diretamente na memória do computador.


B) Torna o código da linguagem binária mais acessível.
C) Torna o projeto mais barato.
D) Torna o sistema mais eficiente no uso de memória.
E) Tem uma alta reusabilidade.

Questão 6: 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:

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.imprime();
}
}

II.
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 void setCastrado(Boolean c)


{
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.setCastrado(true);
g1.imprime();
}
}
}

III.
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 Main(string[] args)
{
Gato g1 = new Gato("Frajola","sp555",false);
g1.setCastrado(true);
g1.imprime();
}
}

Assinale a alternativa correta.

A) Apenas a proposta de programa I atende ao requisito.


B) Apenas a proposta de programa II atende ao requisito.
C) Apenas a proposta de programa III atende ao requisito.
D) Mais de uma das propostas de programa atende ao requisito.
E) Nenhuma das propostas atende às expectativas.

Questão 7: 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?

A) Herança.
B) Sobrecarga.
C) Polimorfismo.
D) Encapsulamento.
E) Associação.

Questão 8: Considerando o seguinte trecho de programa:

class Program
{
static void Main(string[] args)
{
string n1="Joao Carlos";
int x;
Aluno b11 = new Aluno();
Aluno b12 = new Aluno(n1);
x = b11.result(n1);
n1 = b12.result(x);

Se o programa não apresenta erros, pode-se concluir com relação à classe Aluno:

I. Ela não necessita de sobrecarga do método construtor.


II. Ela possui um método cujo cabeçalho é public int result(string v) sendo v uma variável que será utilizada dentro do
método.
III. Ela possui um método cujo cabeçalho é public string result(int v) sendo v uma variável que será utilizada dentro do
método.

Assinale a alternativa correta:

A) Somente a conclusão I está correta.


B) As conclusões II e III estão corretas.
C) As três conclusões estão corretas.
D) As três conclusões estão erradas.
E) As conclusões I e III estão corretas.

Questões discursivas
Questão 1: O programa abaixo utiliza a indução de erro para avaliar uma temperatura. Se a temperatura for inferior a
20, ela mostrará frio; se for igual a 20, ela mostrará ideal; e acima, mostrará quente. Caso a entrada não seja
numérica, mostrará Erro de Input.

Preencha os espaços corretamente:

class TesteErro
{
public void testar(int valor)
{
if ((valor - 20) > 0)
{
DivideByZeroException er1 = new DivideByZeroException();
er1;
}
if ((valor - 20) == 0)
{
IndexOutOfRangeException er2 = new IndexOutOfRangeException();
er2;
}
if ((valor - 20) < 0)
{
ArgumentException er3 = new ArgumentException();
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 ( )
{
Console.WriteLine("Erro de Input");
}
catch ( )
{
Console.WriteLine("Quente");
}
catch ( )
{
Console.WriteLine("Ideal");
}
catch ( )
{
Console.WriteLine("Frio");
}
}
}

Questão 2: Leia a descrição abaixo:


“A empresa Bluecar vende faz a transformação da picape Escuna. A partir da picape original adapta a sua caçamba
convertendo em ambulância, transporte de pônei, e carro funerário. Desta forma a picape que vem da fábrica com uma
motorização variável, transforma em ambulância com suporte ortopédico ou não, transporte de pôneis abertos ou
fechados, e carros fúnebres com cores variados.”

Utilizando estas informações monte o diagrama simples de classes.

Você também pode gostar