# Session five | Fundamentos de lógica | 2° bimestre **Nome** Kevin Ribeiro de Andrade **Número** 27 **Turma** INFO A ## Exercício 1 ```csharp= public class Calculo {     public double Valor1 {get; set;}     public double Valor2 {get; set;}     public string Operacao {get; set;} } public class Triangulo {     public double LadoA {get; set;}     public double LadoB {get; set;}     public double LadoC {get; set;} } public class Pessoa {     public string Nome {get; set;}     public double Altura {get; set;}     public double peso {get; set;} } public class Nota {     public double Nota1 {get; set;}     public double Nota2 {get; set;}     public double Nota3 {get; set;} } public class TreinoFocadoA {     public double Calculadora (Calculo calc)     {         double Calculando = 0;         if (calc.Operacao == "Soma")             Calculando = calc.Valor1 + calc.Valor2;         else if (calc.Operacao == "Subtração")             Calculando = calc.Valor1 - calc.Valor2;         else if (calc.Operacao == "Multiplicação")             Calculando = calc.Valor1 * calc.Valor2;         else          {             if (calc.Operacao == "Potenciação")                 Calculando = Math.Pow(calc.Valor1, calc.Valor2); else if (calc.Operacao == "Divisão") Calculando = calc.Valor1 / calc.Valor2;         }         return Calculando;     }     public string Termometro (double GrauCelsius)     {         string Situacao = string.Empty;         if (GrauCelsius >= 35 && GrauCelsius <= 36.9)           Situacao = $"Meu amigo você está com uma temperatura média de {GrauCelsius}C°, isso é extremamente normal";         else if (GrauCelsius >= 37 && GrauCelsius <= 39)             Situacao = $"Carambolas se cuida você está com uma temperatura média de {GrauCelsius}C°, você está com febre não se esforce muito";         else          {             if (GrauCelsius >= 39.1)             Situacao = $"Procure um médico urgente você está com {GrauCelsius}C°, isso é classificado como febre alta";             if (GrauCelsius <= 34.9)                 Situacao = $"Procure um médico imediatamente você está com temperatura do corpo em {GrauCelsius}C°, isso é perigoso e é classificado como hipotermia";         }         return Situacao;     }     public string LucroOuPrejuizo(double Lucro, double gastos)     {         double Resul = Lucro - gastos;         string Situacao = string.Empty;         string Positivo = Resul < 0             ? $"Seu saldo é de {Math.Abs(Resul)} só que negativo 🙄"             : $"Seu saldo é de {Resul} positivos";         return Positivo;     }     public double ArrendodarEmmeia(double nota)     {         double CasaDecimal = Math.Round(nota -Math.Truncate(nota), 2);         if (CasaDecimal >= 0.00 && CasaDecimal <= 0.25)             nota = Math.Floor(nota);         else if (CasaDecimal >= 0.26 && CasaDecimal <= 0.74)             nota = Math.Floor(nota) + 0.50;         else              nota = Math.Ceiling(nota);         return nota;     }     public string Passou (Nota nt)     {         double media = (nt.Nota1 + nt.Nota2 + nt.Nota3) /3;         string passou = string.Empty;         if (media >= 5)             passou = $"Eita, Ave Maria dodio você passou";         else if (media == 4)             passou = $"Se é loko hein fi, vai repetir se continuar nesse ritimo, você tem a chance de fazer a recuperação"; else  passou = $"Reproavdo";         return passou;     }     public string Passou (Nota nt, long Falta)     {         double media = (nt.Nota1 + nt.Nota2 + nt.Nota3) /3;         string passou = string.Empty;         if (media >= 5)             passou = $"Eita, Ave Maria dodio você passou";         else if (media == 4)             passou = $"Se é loko hein fi, vai repetir se continuar nesse ritimo, você tem a chance de fazer a recuperação por conta de sua nota";             else if (Falta == 24)                 passou = $"Boaaa, ficou de recuperação por falta";            else if ( Falta == 24 && media == 4)                passou = $"Ficou de recuperação por nota e falta hein";         if (media < 4)             passou = "reprovado por falta";          if (Falta > 25)         passou = $"Reprovado por falta";         else              passou = $"Foi reprovado por falta e nota";         return passou;     }     public string FormaTriangulo(Triangulo tri)     {         string triangulo = string.Empty;         if (tri.LadoA != tri.LadoB && tri.LadoA != tri.LadoC                              &&             tri.LadoC != tri.LadoB)             triangulo = $"Triângulo é escaleno";         else if (tri.LadoA == tri.LadoB && tri.LadoA == tri.LadoC                              &&             tri.LadoC == tri.LadoB)             triangulo = $"Triangulo é equilátero";         else          triangulo = "Triângulo é isóceles";         return triangulo;     } public string IMC (Pessoa humano) { string Situacao = string.Empty; double calcIMC = (humano.peso) / Math.Pow(humano.Altura, 2); if (calcIMC <= 18.5) Situacao = $"{humano.Nome} você está abaixo do peso"; else if (calcIMC >= 18.6 && calcIMC <= 24.9) Situacao = $"{humano.Nome} você está no peso normal"; else if (calcIMC >= 25 && calcIMC <= 29.9) Situacao = $"{humano.Nome} você está em sobrepeso"; else if (calcIMC >= 30 && calcIMC <= 34.9) Situacao = $"{humano.Nome} você está em obeso de grau um"; else if (calcIMC >= 35 && calcIMC <= 39.9) Situacao = $"{humano.Nome} você está em obeso de grau dois"; else if (calcIMC > 40) Situacao = $"{humano.Nome} você está um grau de obsidade mórbida"; return Situacao; } } Calculo calc1 = new Calculo(); calc1.Valor1 = 6; calc1.Valor2 = 2; calc1.Operacao = "Multiplicação"; Triangulo triang = new Triangulo(); triang.LadoA = 1; triang.LadoB = 7; triang.LadoC = 6; Pessoa p = new Pessoa (); p.Nome = "Teteu"; p.Altura = 1.46; p.peso = 102; Nota nt = new Nota(); nt.Nota1 = 3; nt.Nota2 = 3; nt.Nota3 = 3; TreinoFocadoA TFA = new TreinoFocadoA(); Console.WriteLine(TFA.Calculadora(calc1)); Console.WriteLine(TFA.Termometro(42)); Console.WriteLine(TFA.LucroOuPrejuizo(12, 18)); Console.WriteLine(TFA.ArrendodarEmmeia(23.77)); Console.WriteLine(TFA.Passou(nt)); Console.WriteLine(TFA.Passou(nt, 24)); //Console WriteLine(TFA.FormaTriangulo(triang)); Console.WriteLine(TFA.IMC(p)); ``` ## Exercício 2 ```csharp= public class PecaDominio {      public double LadoA {get; set;}     public double LadoB {get; set;} } public class Semaforo {     public bool LuzVermelha {get; set;}     public bool LuzAmarelo {get; set;}     public bool LuzVerde {get; set;} } public class Recuperacao {    public string Email {get; set;}     public string Telefone {get; set;} } public class TreinoFocadoB {     public bool CorPrimaria (string Cor)     {         bool corPrimaria = Cor == "Azul" || Cor == "Amarelo" || Cor == "Vermelho"               ? true                : false;         return corPrimaria;     }     public string CombinacaoCorPrimaria( string Cor1, string Cor2)     {         string Combinacao = string.Empty;         if (Cor1 == "Azul" && Cor2 == "Amarelo" || Cor1 == "Amarelo" && Cor2 == "Azul")             Combinacao = "Verde";         else if (Cor1 == "Azul" && Cor2 == "Vermelho" || Cor1 == "Vermelho" && Cor2 == "Azul")             Combinacao = "Roxo";         else if (Cor1 == "Vermelho" && Cor2 == "Amarelo" || Cor1 == "Amarelo" && Cor2 == "Vermelho")             Combinacao = "Laranja"; else  Combinacao = "Não é uma cor primaria";         return Combinacao;     }     public string PrimeiroNome (string Nome)     {         string primalNome = Nome.Contains(" ")             ? Nome.Substring(0, Nome.IndexOf(" "))             : Nome;         return primalNome;     }     public bool DobreDomino (PecaDominio Peca)     {         bool Dobre = Peca.LadoA == Peca.LadoB             ? true             :false;         return Dobre;     }     public bool PecaEncaixa (PecaDominio Peca1, PecaDominio Peca2)     {         bool Encaixa = Peca2.LadoA == Peca1.LadoA || Peca2.LadoB == Peca1.LadoA                                       ||             Peca2.LadoA == Peca1.LadoB || Peca2.LadoB == Peca1.LadoB             ?true             :false;         return Encaixa;     }     public string RecuperacaoSenha (Recuperacao Rec)     {         return $"Você receberá um e-mail do {Rec.Email} para resetar a senha. Um código também foi enviado  para o número {Rec.Telefone}. Sendo {Rec.Email.Substring(Rec.Email.IndexOf("@"))} o domínio  e {Rec.Telefone.Substring(Rec.Telefone.LastIndexOf("-"))} apenas o final do telefone";     }     public Semaforo InicializandoSemaforo ()     {         Semaforo Semaf = new Semaforo();         Semaf.LuzVermelha = true;         Semaf.LuzAmarelo = false;         Semaf.LuzVerde = false;         return Semaf;     }     public Semaforo ControlandoSemaforo (Semaforo Semaf)     {         if (Semaf.LuzVermelha)         {             Semaf.LuzVermelha = true;             Semaf.LuzAmarelo = false;             Semaf.LuzVerde = false;         }         else if (Semaf.LuzVerde)         {                 Semaf.LuzVermelha = false;             Semaf.LuzAmarelo = false;             Semaf.LuzVerde = true;             }         else if (Semaf.LuzAmarelo)         {                 Semaf.LuzVermelha = false;             Semaf.LuzAmarelo = true;             Semaf.LuzVerde = false;         }        return Semaf;     } } PecaDominio Peca = new PecaDominio(); Peca.LadoA = 3; Peca.LadoB = 4; PecaDominio Peca2 = new PecaDominio(); Peca2.LadoA = 5; Peca2.LadoB = 1; Recuperacao Rec = new Recuperacao(); Rec.Email = "BRNEXLOUCO@gmail.com"; Rec.Telefone = "(11)95678-1243"; TreinoFocadoB TFB = new TreinoFocadoB(); Console.WriteLine(TFB.CorPrimaria("Amarelo")); Console.WriteLine(TFB.CombinacaoCorPrimaria("Azul", "Verde")); Console.WriteLine(TFB.PrimeiroNome("Bruxe")); Console.WriteLine(TFB.DobreDomino(Peca)); Console.WriteLine(TFB.PecaEncaixa(Peca, Peca2)); Console.WriteLine(TFB.RecuperacaoSenha(Rec)); Semaforo Semaf =  TFB.InicializandoSemaforo(); Console.WriteLine(TFB.InicializandoSemaforo()); Semaf = TFB.ControlandoSemaforo(Semaf); Console.WriteLine($"Vermelho {Semaf.LuzVermelha} - Verde {Semaf.LuzVerde} - Amarelo {Semaf.LuzAmarelo}"); Semaf = TFB.ControlandoSemaforo(Semaf); Console.WriteLine($"Vermelho {Semaf.LuzVermelha} - Verde {Semaf.LuzVerde} - Amarelo {Semaf.LuzAmarelo}"); Semaf = TFB.ControlandoSemaforo(Semaf); Console.WriteLine($"Vermelho {Semaf.LuzVermelha} - Verde {Semaf.LuzVerde} - Amarelo {Semaf.LuzAmarelo}"); ``` ## Exercício 3 ```csharp= public class Pessoa {     public string Nome {get; set;}     public DateTime Nascimento {get; set;}     public string Cidade {get; set;} } public class TreinoFocadoC {     public long Trimestre (DateTime Data)     {         long NumeroTrimestre = 0;         if (Data.Month >= 01 && Data.Month <= 03)             NumeroTrimestre = 1;         else if (Data.Month >= 04 && Data.Month <= 06)             NumeroTrimestre = 2;         else if (Data.Month >= 07 && Data.Month <= 09)             NumeroTrimestre = 3;         else if (Data.Month >= 10 && Data.Month <= 12)             NumeroTrimestre = 4;         return NumeroTrimestre;         }     public string Mes(int mes)     {         string NomeMes = string.Empty;         if ( mes == 1)             NomeMes = "Janeiro";         else if (mes == 2)             NomeMes = "Fevereiro";         else if (mes == 3)             NomeMes = "Março";         else if (mes == 4)             NomeMes = "Abril";         else if (mes == 5)             NomeMes = "Maio";         else if ( mes == 6)             NomeMes = "Junho";         else if (mes == 7)             NomeMes = "Julho";         else if (mes == 8)             NomeMes = "Agosto";         else if (mes == 9)             NomeMes = "Setembro";         else if (mes == 10)             NomeMes = "Outubro";         else if (mes == 11)             NomeMes = "Novembro";         else if (mes == 12)             NomeMes = "Dezembro";         return NomeMes;     }     public string PeriodoDia (DateTime Data)     {         string Periodo = string.Empty;         if ( Data.Hour >= 06 && Data.Hour < 12)             Periodo = "Manhã";         else if ( Data.Hour >= 12 && Data.Hour < 18)             Periodo = "Tarde";         else if (Data.Hour >= 18 && Data.Hour < 00)             Periodo = "Noite";         else if (Data.Hour >= 00 && Data.Hour < 06)             Periodo = "Madrugada";         return Periodo;     }     public double DiasVida (DateTime Nascimento)     {         TimeSpan dif = DateTime.Today - Nascimento;         return dif.TotalDays;     }     public string QualSigno (DateTime Nascimento)     {         string Signo = string.Empty;         if ( (Nascimento.Day >= 21 && Nascimento.Month >= 03)                                &&              Nascimento.Day <= 20 && Nascimento.Month <= 04 )             Signo = "Áries";         else if ((Nascimento.Day >= 21 && Nascimento.Month >= 04)                        &&                  Nascimento.Day <= 20 && Nascimento.Month <= 06)             Signo = "Touro";         else if ((Nascimento.Day >= 21 && Nascimento.Month >= 06)                  &&                  Nascimento.Day <= 22 && Nascimento.Month <= 07)             Signo = "Câncer";         else if ((Nascimento.Day >= 23 && Nascimento.Month >= 07)                   &&                  Nascimento.Day <= 22 && Nascimento.Month <= 08)             Signo = "Leão";         else if ((Nascimento.Day >= 23 && Nascimento.Month >= 08)                  &&                  Nascimento.Day <= 22 && Nascimento.Month <= 09)             Signo = "Virgem";         else if ((Nascimento.Day >= 23 && Nascimento.Month >= 09)                  &&                  Nascimento.Day <= 22 && Nascimento.Month <= 10)             Signo = "Libra";         else if ((Nascimento.Day >= 23 && Nascimento.Month >= 10)                  &&                   Nascimento.Day <= 21 && Nascimento.Month <= 11)             Signo = "Escorpião";         else if (Nascimento.Day >= 22 && Nascimento.Month >= 11                  &&                  Nascimento.Day <= 21 && Nascimento.Month <= 12)             Signo = "Sagitário";         else if (Nascimento.Day >= 22 && Nascimento.Month >= 12                  &&                   Nascimento.Day <= 20 && Nascimento.Month <= 01)             Signo = "Capricórnio";         else if (Nascimento.Day >= 21 && Nascimento.Day >= 01                   &&                   Nascimento.Day <= 18 && Nascimento.Month <= 02)                  Signo = "Aquário";         else if ( Nascimento.Day >= 18 && Nascimento.Month >= 02 && Nascimento.Day <= 20 && Nascimento.Month <= 03)             Signo = "Peixes";         return Signo;     }     public string DataPorExtenso (Pessoa P)     {     return  $"{P.Nome} você nasceu há {DiasVida(P.Nascimento)} dias, em uma {PeriodoDia(P.Nascimento)} do dia {P.Nascimento.Day} de {Mes(P.Nascimento.Day)} ({Trimestre (P.Nascimento)}º trimestre) de {P.Nascimento.Year}. Seu signo é {QualSigno(P.Nascimento)}.";     } } Pessoa Humano = new Pessoa(); Humano.Nome = "José do Rio"; Humano.Nascimento = new DateTime (2010, 05, 21); Humano.Cidade = "Londres"; TreinoFocadoC TFC = new TreinoFocadoC(); Console.WriteLine(TFC.Trimestre(DateTime.Today)); Console.WriteLine(TFC.Mes(DateTime.Today.Month)); Console.WriteLine(TFC.PeriodoDia(DateTime.Today));  Console.WriteLine(TFC.DiasVida(new DateTime (2020, 05, 31))); Console.WriteLine(TFC.QualSigno(new DateTime (2021, 02, 11))); Console.WriteLine(TFC.DataPorExtenso(Humano)); ```