# Session Three Autor: Mateus Eustáquio Nº 35 INFO A [toc] ## Questão 1 - ```csharp= using System; public class Forma { public double altura { get;set;} public double basee {get;set;} } public class Trigonometria { public double AreaRetangulo(Forma ret) { return ret.altura * ret.basee; } public double PerimetroRetangulo(Forma re1) { return re1.basee + re1.basee + re1.altura + re1.altura; } public bool RetangulosIguais(Forma ret, Forma ret2) { return AreaRetangulo(ret) == AreaRetangulo(ret2); } } Trigonometria bom = new Trigonometria(); Forma Retangulo = new Forma(); Retangulo.altura = 15; Retangulo.basee = 10; double s = bom.AreaRetangulo(Retangulo); Console.WriteLine("a área do retângulo é " + s); Forma x1 = new Forma(); x1.altura = 15; x1.basee = 25; Forma x2 = new Forma(); x2.altura = 25; x2.basee = 15; bool ss = bom.RetangulosIguais(x1, x2); Console.WriteLine("Os Retangulos são iguais ? " + ss); Forma x = new Forma(); x.altura = 30; x.basee = 10; double f = bom.PerimetroRetangulo(x); Console.WriteLine(" O perimetro do Retangulo é " + f); ``` ## Questão 2 - ```csharp= using System; public class Forma { public double altura { get;set;} public double basee {get;set;} } public class Trigonometria { public double AreaRetangulo(Forma ret) { return ret.altura * ret.basee; } public double AreaTriangulo(Forma tri) { return (tri.basee * tri.altura) / 2; } public double AreaParalelogramo(Forma par) { return (par.basee * par.altura); } } Trigonometria bom = new Trigonometria(); Forma Retangulo = new Forma(); Retangulo.altura = 15; Retangulo.basee = 10; double s = bom.AreaRetangulo(Retangulo); Console.WriteLine("a área do retângulo é " + s); Forma Triangulo = new Forma(); Triangulo.altura = 5; Triangulo.basee = 7; double g = bom.AreaTriangulo(Triangulo); Console.WriteLine("a área do triângulo é " + g); Forma Paralelogramo = new Forma(); Paralelogramo.altura = 9; Paralelogramo.basee = 15; double f = bom.AreaParalelogramo(Paralelogramo); Console.WriteLine("a área do Paralologramo é " + f); ``` ## Questão 3 - ```csharp= using System; public class Pessoa { public String Nome {get; set;} public DateTime Niver {get; set;} } public class Calendario { public DateTime PrimeiroDia(DateTime dia) { int x = dia.Day; DateTime f = dia.AddDays(-x); return f.AddDays(1); } public DateTime UltimoDia(DateTime dia) { int d = dia.Day; DateTime Mes = dia.AddMonths(1); DateTime Dia = dia.AddDays(-d); DateTime final = dia.AddMonths(1).AddDays(-dia.Day); return final; } public bool Possui31Dias(DateTime dia) { int d = dia.Day; DateTime Mes = dia.AddMonths(1); DateTime Dia = dia.AddDays(-d); DateTime final = dia.AddMonths(1).AddDays(-dia.Day); return final.Day == 31; } public bool SouDeLibra(Pessoa x1) { bool alt1 = x1.Niver.Month == 9 && x1.Niver.Day > 22; bool alt2 = x1.Niver.Month == 10 && x1.Niver.Day > 23; bool x = alt1 == true || alt2 == true; return x; } public bool SextaFeira13 (DateTime data) { return data.DayOfWeek == DayOfWeek.Friday && data.Day == 13; } public string SemanasParaNiver (Pessoa pessoa) { DateTime o = DateTime.Now; DateTime s = new DateTime(o.Year, pessoa.Niver.Month, pessoa.Niver.Day); TimeSpan a = s - o; double f = a.TotalDays/7; double h = Math.Round(f); string k = pessoa.Nome + ", faltam apenas " + h + " semanas para chegar seu aniversário!"; return k; } } Calendario x = new Calendario(); Pessoa d = new Pessoa(); d.Nome = "Lucia Xavier"; d.Niver = new DateTime(2020, 08, 02); bool f = x.SouDeLibra(d); Console.WriteLine(d.Nome + " você é de Libras? " + f); DateTime dia = new DateTime(2021, 08, 13); DateTime fd = x.PrimeiroDia(dia); Console.WriteLine("O Primeiro dia Desse Mês é " + fd); DateTime g = x.UltimoDia(dia); Console.WriteLine("O Ultimo dia do Mês é " + g); bool k = x.Possui31Dias(dia); Console.WriteLine("Esse Mês possui 31 dias ? " + k); bool ko = x.SextaFeira13(dia); Console.WriteLine("cai em uma sexta-feira 13 ? " + ko); string t = x.SemanasParaNiver(d); Console.WriteLine(t); ``` ## Questão 4 - ```csharp= using System; public class RegistroBRValidator { public bool ValidarCadastro(string email, string senha) { bool x = email.Contains("!") || email.Contains("@") || email.Contains("#") || email.Contains("%"); bool y = email.Length >= 8; bool f = email.Contains("a") || email.Contains("e") || email.Contains("i") || email.Contains("o") || email.Contains("u"); bool v5 = email.Contains("@") && email.Substring(0, email.IndexOf("@")).Length > 2 && email.Substring(email.IndexOf("@")).Length > 2; return x && y && f && v5; } public bool ValidarDominio(string dominio) { bool x1 = dominio.EndsWith(".com.br"); bool x2 = dominio[0] != '1' && dominio[0] != '2' && dominio[0] != '3' && dominio[0] != '4' && dominio[0] != '5' && dominio[0] != '6' && dominio[0] != '7' && dominio[0] != '8' && dominio[0] != '9' && dominio[0] != '0'; bool x3 = dominio.Substring(0, dominio.IndexOf(".com.br")).Length >= 5; return x1 && x2 && x3; } } RegistroBRValidator registroBR = new RegistroBRValidator(); bool x = registroBR.ValidarCadastro("joaopedrop2@gmail.com", "1234"); Console.WriteLine("Cadastro ok? " + x); ``` ## Questão 5 ```csharp= using System; public class Retangulo { public double Altura {get;set;} public double Basee {get;set;} } public class Cilindro { public double Raio {get;set;} public double Altura {get;set;} } public class Trigonometria { public double AreaRetangulo(double altura, double basee) { return altura * basee; } public double VolumeCilindro(double raio, double altura) { return 3.14 * Math.Pow(raio,2) * altura; } public bool AreaIguais(Retangulo ret1, Retangulo ret2) { bool x = AreaRetangulo(ret1.Altura, ret1.Basee) == AreaRetangulo(ret2.Altura, ret2.Basee); return x; } public bool TransferenciaPossivel(Cilindro ci1, Cilindro ci2) { return VolumeCilindro(ci1.Raio, ci1.Altura) <= VolumeCilindro(ci2.Raio, ci2.Altura); } } Trigonometria teste = new Trigonometria(); double x = teste.AreaRetangulo(20, 10); Console.WriteLine("A área do retângulo é " + x); Retangulo x1 = new Retangulo(); x1.Altura = 20; x1.Basee = 10; Retangulo x2 = new Retangulo(); x2.Altura = 15; x1.Basee = 2; bool xx = teste.AreaIguais(x1, x2); Console.WriteLine("Os dois retângulos são Iguais ? " + xx); double y = teste.VolumeCilindro(15, 30); Console.WriteLine("O volume do Cilindro é " + y); Cilindro y1 = new Cilindro(); y1.Raio = 10.7; y1.Altura = 8.9; Cilindro y2 = new Cilindro(); y2.Raio = 10.7; y2.Altura = 8.9; bool yy = teste.TransferenciaPossivel(y1, y2); Console.WriteLine("é possível transferir o conteúdo do primeiro cilindro ao segundo ? " + yy); ``` ## Questão 6 ```csharp= using System; public class Compra { public int QtdCalca {get; set;} public int QtdCamiseta {get; set;} public int QtdBlusa {get; set;} public int QtdCalcados {get; set;} } public class Brecho { public double CalcularTotal(Compra masc, Compra Femin, Compra Inf) { double xc = TotalMasculino(masc) + TotalFeminino(Femin) + TotalInfantil(Inf); return xc; } private double TotalMasculino(Compra masc) { double x = 30; double total = (masc.QtdBlusa * x) + (masc.QtdCalca * x) + (masc.QtdCamiseta * x); return total; } private double TotalFeminino(Compra Femin) { double x = 40; double finla = (Femin.QtdBlusa * x) + (Femin.QtdCalca * x) + (Femin.QtdCamiseta * x); return finla; } private double TotalInfantil(Compra Inf) { double d = 25; return (Inf.QtdBlusa * d) + (Inf.QtdCalca * d) + (Inf.QtdCamiseta * d); } public double TotalCalcados(int qtdCalcadoMasculino, int qtdCalcadoFeminino, int qtdCalcadoInfantil) { double f = 35; double ff = (qtdCalcadoMasculino * f) + (qtdCalcadoFeminino * f) + (qtdCalcadoInfantil * f); return ff; } } Brecho x = new Brecho(); Compra masculino = new Compra(); masculino.QtdBlusa = 2; masculino.QtdCalca = 0; masculino.QtdCamiseta = 1; Compra Feminino = new Compra(); Compra In = new Compra(); double h = x.CalcularTotal(masculino, Feminino, In); Console.WriteLine("O total da conta é R$ " + h); double hj = x.TotalCalcados(4, 2, 3); Console.WriteLine("O total final de calçados é R$ " + hj); ``` ## Questão 7 ```csharp= using System; public class Pedido { public double Valor {get; set;} public int AnosGarantia {get; set;} public int DistanciaEntregaKm {get; set;} public int Parcelas {get; set;} } public class Nota { public double ValorFinal { get; set; } public string NotaFiscal { get; set; } } public class LojaMoveis { public Nota CalcularCompra (Pedido pedido, double cupom) { double desconto = ValorDesconto(pedido.Valor, cupom); double garantia = ValorGarantia(pedido.Valor, pedido.AnosGarantia); double frete = ValorFrete(pedido.DistanciaEntregaKm); double valor = pedido.Valor - desconto + garantia + frete; double valorFinal = ValorJuros(valor, pedido.Parcelas); valorFinal = Math.Round(valorFinal, 2); Nota notafiscal = new Nota(); notafiscal.ValorFinal = valorFinal; notafiscal.NotaFiscal = "NF" + DateTime.Now.ToString("yyyyMMddHHmmss"); return notafiscal; } private double ValorDesconto(double valorCompra, double cupom) { return valorCompra * (cupom/100); } private double ValorGarantia(double valorCompra, int anos) { return valorCompra * (15.0 / 100.0) * anos; } private double ValorFrete(int distancia) { return distancia / 10 * 3; } private double ValorJuros(double valorCompra, int parcelas) { return valorCompra * Math.Pow(1 + 0.03, parcelas); } } Pedido p = new Pedido(); p.Valor = 1000; p.AnosGarantia = 2; p.DistanciaEntregaKm = 50; p.Parcelas = 18; double cupom = 10; LojaMoveis loja = new LojaMoveis(); Nota n = loja.CalcularCompra(p, cupom); Console.WriteLine("Valor final é: " + n.ValorFinal); Console.WriteLine("Nota Fiscal é: " + n.NotaFiscal); ```