# 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));
```