## Session Three: It's always time to restart - Fundamentos de Lógica Autor: Jonathan Fernando Costa Galo [toc] ## Funções Package - Códigos no Csharp ### Exercício 1 - Crie uma classe representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas: > 1. Calcular a área do retângulo baseado em sua altura e base. > 2. Calcular o perímetro do retângulo baseado em sua altura e base. > 3. Verificar se dois retângulos são iguais baseado em suas áreas. ```csharp= public class Retangulo { public double Altura {get;set;} public double Base {get;set;} } public class Trigonometria { public bool RetanguloIguais(Retangulo ret1, Retangulo ret2) { return AreaRetangulo(ret1.Altura, ret1.Base) == AreaRetangulo(ret2.Altura, ret2.Base); } private double AreaRetangulo(double a, double b) { double area = a * b; return area; } public double PerimetroRetangulo(double a, double b) { double per = a + a + b + b; return per; } } Trigonometria trig = new Trigonometria(); // double x = trig. AreaRetangulo(10, 5); // Console.WriteLine(x); Console.WriteLine("Exercício 1"); double x1 = trig.PerimetroRetangulo(10, 5); Console.WriteLine("O perímetro do retangulo é " + x1); Retangulo r1 = new Retangulo(); r1.Altura = 10; r1.Base = 5; Retangulo r2 = new Retangulo(); r2.Altura = 25; r2.Base = 2; bool x2 = trig.RetanguloIguais(r1, r2); Console.WriteLine("Os retangulos são iguais: " + x2); ``` ### Exercício 2 - Crie uma classe representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas: > 1. Calcular a área do retângulo baseado em sua altura e base abstraído em um tipo composto. > 2. Calcular a área do triângulo baseado em sua altura e base abstraído em um tipo composto. > 3. Calcular a área do paralelogramo baseado em sua altura e base abstraído em um tipo composto. ```csharp= public class RetanTrianParal { public double Altura {get;set;} public double Base {get;set;} } public class Trigonometria_1 { public double AreaRetangulo(RetanTrianParal Retangulo) { double a = Retangulo.Base; double b = Retangulo.Altura; double areaR = a * b; return areaR; } public double AreaTriangulo(RetanTrianParal Triangulo) { double a = Triangulo.Base; double b = Triangulo.Altura; double areaT = (a * b)/2; return areaT; } public double AreaParalelogramo(RetanTrianParal Paralelogramo) { double a = Paralelogramo.Base; double b = Paralelogramo.Altura; double areaP = a * b; return areaP; } } Trigonometria_1 trig1 = new Trigonometria_1(); // double x = trig. AreaRetangulo(10, 5); // Console.WriteLine(x); Console.WriteLine("Exercício 2"); RetanTrianParal b1 = new RetanTrianParal(); b1.Altura = 10; b1.Base = 5; RetanTrianParal b2 = new RetanTrianParal(); b2.Altura = 25; b2.Base = 2; RetanTrianParal b3 = new RetanTrianParal(); b3.Altura = 25; b3.Base = 2; double a1 = trig1.AreaRetangulo(b1); Console.WriteLine("A area do triangulo é de: " + a1); double a2 = trig1.AreaTriangulo(b2); Console.WriteLine("A area do retangulo é de: " + a2); double a3 = trig1.AreaParalelogramo(b3); Console.WriteLine("A area do paralelogramo é de: " + a3); ``` [//]: # "Exercicio está tudo errado" ### Exercício 3 - Crie uma classe representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas: > 1. Retorne o primeiro dia do mês a partir de uma data. > 2. Retorne o último dia do mês a partir de uma data. > 3. Verifique se o mês possui 31 dias a partir de uma data. > 4. Verifique se uma data cai em uma sexta-feira 13 > 5. Retorne quantas semanas faltam para chegar no aniversário de uma pessoa a partir de seu nome e data de aniversário abstraído em um tipo composto. O retorno deve seguir o template: “XXXX, faltam XXXX semanas para seu niver.” > 6. Retorne se uma pessoa é de Libra a partir do dia em que nasceu abstraído em um tipo composto. ```csharp= public class Retangulo { public double Altura {get;set;} public double Base {get;set;} } public class Trigonometria { public DateTime PrimeiroDia(DateTime d1) { DateTime dia1 = DateTime.Day(d1) + "-" + DateTime.Month(d1) + "-" + "01"; return dia1; } public double UltimoDia(DateTime d1) { DateTime UltDia = start_date(d1); return UltDia; } } Console.WriteLine("Exercício 3"); ``` ### Exercício 5 - Crie uma classe representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas: > 1. Calcular a área do retângulo. > 2. Calcular o volume do cilindro. > 3. Verificar se dois retângulos são iguais baseado em sua área. Utilize a ideia de função composta. > 4. Verificar se é possível transferir o conteúdo do primeiro cilindro ao segundo. Utilize a ideia de função composta. ```csharp= ```