# Session three: It's always time to restart | Fundamentos da Lógica **Autor**: Vitório Trindade Santana **Turma**: Informática C **Número**: 50 [toc] ## Exercício 1 ```csharp= public class Trigonometria { public int AreaRetangulo (int altura, int basee) { return altura * basee; } public int PerimetroRetangulo (int altura, int basee) { return (altura * 2) + (basee * 2); } public bool RetangulosIguais (int a1, int b1, int a2, int b2) { int r1 = AreaRetangulo (a1, b1); int r2 = AreaRetangulo (a2, b2); bool s = r1 == r2; return s; } } Trigonometria trig = new Trigonometria (); int x1 = trig.AreaRetangulo(8, 5); int x2 = trig.PerimetroRetangulo(7, 4); bool x3 = trig.RetangulosIguais(9, 4, 12, 3); Console.WriteLine("A área do retângulo é :" + x1); Console.WriteLine("O perímetro do retângulo é :" + x2); Console.WriteLine("Os retângulos possuem áreas iguais? " + x3); // A área do retângulo é :40 //O perímetro do retângulo é :22 //Os retângulos possuem áreas iguais? True ``` ## Exercício 2 ```csharp= public class Forma { public double Base { get;set; } public double Altura { get;set; } } public class Trigonometria { public double AreaRetangulo (Forma ret) { double area = ret.Base * ret.Altura; return area; } public double AreaTriangulo (Forma tri) { double area = (tri.Base * tri.Altura) / 2; return area; } public double AreaParalelogramo (Forma ret) { double area = ret.Base * ret.Altura; return area; } } Forma ret = new Forma (); ret.Altura = 9; ret.Base = 6; Forma tria = new Forma (); tria.Altura = 7; tria.Base = 4; Forma par = new Forma (); par.Altura = 10; par.Base = 6; Trigonometria tri = new Trigonometria (); double x1 = tri.AreaRetangulo(ret); double x2 = tri.AreaTriangulo(tria); double x3 = tri.AreaParalelogramo(par); Console.WriteLine("A área do retângulo é: " + x1); Console.WriteLine("A área do triângulo é: " + x2); Console.WriteLine("A área do paralelogramo é: " + x3); //A área do retângulo é: 54 //A área do triângulo é: 14 //A área do paralelogramo é: 60 ``` ## Exercício 3 ```csharp= public class Pessoa { public string Nome { get;set; } public DateTime Niver { get;set; } } public class Calendario { public DateTime PrimeiroDia (DateTime data) { return data.AddDays(1 - data.Day); } public DateTime UltimoDia (DateTime data) { DateTime a = new DateTime(data.Year, data.Month, 1); DateTime b = a.AddMonths(1); DateTime c = b.AddDays(-1); return c; } public bool Possui31Dias (DateTime data) { DateTime a = new DateTime(data.Year, data.Month, 1); DateTime b = a.AddMonths(1); DateTime c = b.AddDays(-1); int d = c.Day; bool e = d == 31; return e; } public bool SextaFeira13 (DateTime data) { bool a = data.Day == 13 && data.DayOfWeek == DayOfWeek.Friday; return a; } public string SemanasParaNiver (Pessoa pessoa) { DateTime dataNiver = new DateTime(pessoa.Niver.Year, pessoa.Niver.Month, pessoa.Niver.Day); DateTime hoje = DateTime.Now; TimeSpan dif = dataNiver - hoje; int semanas = dif.Days / 7; string mensagem = $"{pessoa.Nome}, faltam {semanas} semanas para seu niver."; return mensagem; } public bool SouDeLibra (Pessoa info) { bool opcao1 = info.Niver.Day >= 22 && info.Niver.Month == 9; bool opcao2 = info.Niver.Day <= 23 && info.Niver.Month == 10; bool conf = opcao1 == true || opcao2 == true; return conf; } } DateTime q1 = new DateTime(2021, 5, 9); DateTime q2 = new DateTime(2021, 3, 9); DateTime q3 = new DateTime (2021, 2, 10); DateTime q4 = new DateTime(2020, 11, 13); Pessoa q5 = new Pessoa (); q5.Niver = new DateTime(2021, 12, 26); q5.Nome = "Vitório Trindade Santana"; Pessoa q6 = new Pessoa (); q6.Niver = new DateTime(2021, 10, 1); Calendario cal = new Calendario (); DateTime x1 = cal.PrimeiroDia(q1); DateTime x2 = cal.UltimoDia(q2); bool x3 = cal.Possui31Dias(q3); bool x4 = cal.SextaFeira13(q4); string x5 = cal.SemanasParaNiver(q5); bool x6 = cal.SouDeLibra(q6); Console.WriteLine("O primeiro dia do mês é: " + x1); Console.WriteLine("O último de do mês é: " + x2); Console.WriteLine("O mês possui 31 dias?: " + x3); Console.WriteLine("O dia é uma sexta-feira 13?: " + x4); Console.WriteLine(x5); Console.WriteLine("Sou de libra?: " + x6); //O primeiro dia do mês é: 5/1/2021 12:00:00 AM //O último de do mês é: 3/31/2021 12:00:00 AM //O mês possui 31 dias?: False //O dia é uma sexta-feira 13?: True //Vitório Trindade Santana, faltam 32 semanas para seu niver. //Sou de libra?: True ``` ## Exercício 4 ```csharp= public class RegistroBrValidator { public bool ValidarCadastro (string email, string senha) { bool a1 = email.Contains("@"); bool a2 = email.Substring(0, email.IndexOf("@")).Length > 2 && email.Substring(email.IndexOf("@")).Length > 2; bool a3 = senha.Contains("a") || senha.Contains("e") || senha.Contains("i") || senha.Contains("o") || senha.Contains("u"); bool a4 = senha.Contains("!") || senha.Contains("@") || senha.Contains("#") || senha.Contains("%") || senha.Contains("*") || senha.Contains("-"); bool a5 = senha.Length >= 8; return a1 && a2 && a3 && a4 && a5; } public bool ValidarDominio (string dominio) { bool a1 = dominio.EndsWith(".com.br"); bool a2 = 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 a3 = dominio.Length >= 5; return a1 && a2 && a3; } } RegistroBrValidator x1 = new RegistroBrValidator(); bool q1 = x1.ValidarCadastro("vitoriotrindade-2004@hotmail.com", "vito98*-"); bool q2 = x1.ValidarDominio("hotmail.com.br"); Console.WriteLine("O seu cadastro é: " + q1); Console.WriteLine("O dominio do seu email é: " + q2); //O seu cadastro é: True //O dominio do seu email é: True ``` ## Exercício 5 ```csharp= class MainClass { public static void Main (string[] args) { Retangulo ret1 = new Retangulo(); ret1.Altura = 25; ret1.Base =3; Retangulo ret2 = new Retangulo(); ret2.Altura = 12.5; ret2.Base =6; Cilindro ci1 = new Cilindro(); ci1.Raio = 4; ci1.Altura = 9; Cilindro ci2 = new Cilindro(); ci2.Raio = 3; ci2.Altura = 10; Trigonometria tri = new Trigonometria (); bool q1 = tri.AreasIguais (ret1, ret2); bool q2 = tri.TransferenciaPossivel (ci1, ci2); Console.WriteLine ("Os retângulos possuem uma área igual? " + q1 ); Console.WriteLine("É possível a transferência? " + q2); } } public class Retangulo { public double Altura {get;set;} public double Base {get;set;} } public class Cilindro { public double Raio {get;set;} public double Altura {get;set;} } public class Trigonometria { public bool AreasIguais (Retangulo ret1, Retangulo ret2) { bool x1 = AreaRetangulo (ret1) == AreaRetangulo (ret2); return x1; } public double AreaRetangulo (Retangulo ret1) { return ret1.Altura * ret1.Base; } public bool TransferenciaPossivel (Cilindro ci1, Cilindro ci2) { bool x2 = VolumeCilindro (ci1) == VolumeCilindro (ci2); return x2; } public double VolumeCilindro (Cilindro ci1) { return 3.14 * Math.Pow(ci1.Raio, 2) * ci1.Altura; } } //Os retângulos possuem uma área igual? True //É possível a transferência? False ``` ## Exercício 6 ```csharp=class MainClass { public static void Main (string[] args) { Compra masc = new Compra(); masc.QtdCalca = 1; masc.QtdCamiseta = 4; masc.QtdBlusa = 2; masc.QtdCalcados = 1; Compra fem = new Compra(); fem.QtdCalca = 3; fem.QtdCamiseta = 4; fem.QtdBlusa = 5; fem.QtdCalcados = 2; Compra infan = new Compra(); infan.QtdCalca = 1; infan.QtdCamiseta = 4; infan.QtdBlusa = 2; infan.QtdCalcados = 0; Brecho bre = new Brecho (); double q1 = bre.CalcularTotal (masc, fem, infan); Console.WriteLine ("O valor total da compra foi: " + q1 ); } } 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 masculino, Compra feminino,Compra infantil) { return TotalMasculino (masculino) + TotalFeminino(feminino) + TotalInfantil(infantil) + TotalCalcados (masculino.QtdCalcados, feminino.QtdCalcados, infantil.QtdCalcados); } private double TotalMasculino (Compra compra) { return (compra.QtdBlusa * 30) + (compra.QtdCalca * 30) + (compra.QtdCamiseta * 30); } private double TotalFeminino (Compra compra) { return (compra.QtdBlusa * 40) + (compra.QtdCalca * 40) + (compra.QtdCamiseta * 40); } private double TotalInfantil (Compra compra) { return (compra.QtdBlusa * 20) + (compra.QtdCalca * 20) + (compra.QtdCamiseta * 20); } private double TotalCalcados (int qtdCalcadoMasculino, int qtdCalcadoFeminino, int qtdCalcadoInfantil) { return (qtdCalcadoMasculino * 35) + (qtdCalcadoFeminino * 35) + (qtdCalcadoInfantil * 35); } } //O valor total da compra foi: 935 ``` ## Exercício 7 ```csharp= class MainClass { public static void Main (string[] args) { Pedido p = new Pedido(); p.Valor = 2300; p.AnosGarantia = 1; p.DistanciaEntregaKm = 12; p.Parcelas = 4; double cupom = 20; LojaMoveis lm = new LojaMoveis (); Nota nt = lm.CalcularCompra (p, cupom); Console.WriteLine("Valor final é: " + nt.ValorFinal); Console.WriteLine("Nota Fiscal é: " + nt.NotaFiscal); } } 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 valor = pedido.Valor - ValorDesconto(pedido.Valor, cupom) + ValorGarantia(pedido.Valor, pedido.AnosGarantia) + ValorFrete(pedido.DistanciaEntregaKm); double total = Math.Round(ValorJuros(valor, pedido.Parcelas), 2); Nota notafis = new Nota(); notafis.ValorFinal = total; notafis.NotaFiscal = "NF" + DateTime.Now.ToString("yyyyMMddHHmmss"); return notafis; } private double ValorDesconto (double valorCompra, double cupom) { return (valorCompra * cupom) / 100; } private double ValorGarantia (double valorCompra, int anos) { return anos * ((15 * valorCompra) / 100); } private double ValorFrete (int distancia) { return (distancia / 10 * 3); } private double ValorJuros (double valor, int parcelas) { return valor * Math.Pow(1 + 0.03, parcelas); } } //Valor final é: 2462.61 // Nota Fiscal é: NF20210517024050 ```
{"metaMigratedAt":"2023-06-16T00:15:51.966Z","metaMigratedFrom":"Content","title":"Session three: It's always time to restart | Fundamentos da Lógica","breaks":true,"contributors":"[{\"id\":\"052c8e10-b233-429a-a1e0-0d8df7864830\",\"add\":12992,\"del\":2065}]"}
Expand menu