Buscar

Exercícios sobre Classe Abstrata e Interfaces


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

Pontifícia Universidade Católica de Minas Gerais 
Curso de Sistemas de Informação 
 
Exercício I 
 
Crie uma classe abstrata de nome “Análise Combinatória”, responsável por especificar, além do cálculo do fatorial de um 
número, os métodos devidos para cálculo de Permutações, Arranjos e Combinação de elementos. 
 
Crie outras três classes herdeiras da classe abstrata definida anteriormente, de nomes “Permutação”, “Arranjo” e 
“Combinação”, que programe os métodos para os cálculos especificados. 
 
As fórmulas para os cálculos são as seguintes: 
 
 Fatorial de um Número: 
𝑛! = 𝑛 . (𝑛 − 1). (𝑛 − 2). (… ). 1 
 Permutação: 
𝑃( ) = 𝑛! 
 Arranjo: 
𝐴( , ) =
𝑛!
(𝑛 − 𝑝)!
 
 Combinação: 
𝐶( , ) =
𝑛!
𝑝! (𝑛 − 𝑝)!
 
 
Sendo 𝑛 o total de elementos e 𝑝 o número de agrupamentos. 
 
No programa principal o usuário deverá fornecer o valor de 𝑛 e 𝑝 e receber o resultado dos três cálculos. 
 
 
 
Exercício II 
 
Estude os trechos dos módulos do programa a seguir: 
 
interface IForma 
{ 
 double CalcÁrea(double x); 
 double CalcPerímetro(double x); 
} 
 
 
 
 
class Círculo:IForma 
{ 
 public double CalcÁrea(double Raio) 
 { 
 return Math.PI * Math.Pow(Raio, 2); 
 } 
 
 public double CalcPerímetro(double Raio) 
 { 
 return 2 * Math.PI * Raio; 
 } 
} 
 
 
 
 
class Quadrado:IForma 
{ 
 public double CalcÁrea(double Lado) 
 { 
 return Math.Pow(Lado, 2); 
 } 
 
 public double CalcPerímetro(double Lado) 
 { 
 return 4 * Lado; 
 } 
} 
 
 
 
 
class Operações 
{ 
 private IForma Forma; 
 
 public Operações(IForma TipoForma) 
 { 
 Forma = TipoForma; 
 } 
 
 public double ExecutaCalcÁrea(double x) 
 { 
 return Forma.CalcÁrea(x); 
 } 
 
 public double ExecutaCalcPerímetro(double x) 
 { 
 return Forma.CalcPerímetro(x); 
 } 
} 
 
class Program 
{ 
 static void Main(string[] args) 
 { 
 double Lado; 
 double Raio; 
 
 Operações OP; 
 
 Console.Write("Lado do Quadrado...: "); 
 Lado = double.Parse(Console.ReadLine()); 
 
 Console.Write("Raio do Círculo....: "); 
 Raio = double.Parse(Console.ReadLine()); 
 
 Console.WriteLine(); 
 
 OP = new Operações(new Quadrado()); 
 
 Console.WriteLine("Área do Quadrado.......: {0:F2}", OP.ExecutaCalcÁrea(Lado)); 
 Console.WriteLine("Perímetro do Quadrado..: {0:F2}", OP.ExecutaCalcPerímetro(Lado)); 
 
 Console.WriteLine(); 
 
 OP = new Operações(new Círculo()); 
 
 Console.WriteLine("Área do Círculo........: {0:F2}", OP.ExecutaCalcÁrea(Raio)); 
 Console.WriteLine("Perímetro do Círculo...: {0:F2}", OP.ExecutaCalcPerímetro(Raio)); 
 
 Console.ReadKey(); 
 } 
} 
 
 
 
Crie uma Interface de nome “IAnáliseCombinatória”, com os três métodos descritos no Exercício I para o cálculo de 
Permutações, Arranjos e Combinações. 
 
Crie outras três classes de nomes “Permutação”, “Arranjo” e “Combinação”, herdeiras de IAnáliseCombinatória, que 
implementem os métodos definidos. 
 
Crie uma classe chamada “Cálculo”, que possua um construtor que receba uma instância de IAnáliseCombinatória e contenha 
o método “ExecutaCálculo”, capaz de chamar os métodos definidos nas classes “Permutação”, “Arranjo” e “Combinação”. 
 
No programa principal instancie um objeto do tipo “Cálculo” e execute exemplos para os cálculos definidos 
 
 
Exercício III 
 
Crie um programa que contenha uma classe abstrata chamada Funcionário e outras duas classes, Administrativo e Vendedor, 
herdeiras de Funcionário. O programa deverá cadastrar o Nome, Matrícula, e salário de todos os funcionários da empresa. No 
caso dele ser Administrativo deverá também cadastrar o Nome do Setor em que ele trabalha. Se ele for Vendedor deverá 
cadastrar o Percentual de Comissão que ele ganha sobre as vendas dele. 
 
Implemente métodos exclusivos para Leitura de Dados e Listagem dos dois tipos de funcionários da empresa. Utilize-se de 
Métodos Abstratos e Virtuais.

Mais conteúdos dessa disciplina