---
# System prepended metadata

title: 'SESSION FIVE: FOCUSED TRAINING CONDITIONS | LÓGICA'

---

# SESSION FIVE: FOCUSED TRAINING CONDITIONS | LÓGICA
Author: Igor Lima Charles
N°: 18
Grade: INFOA

## TreinoFocadoA
```csharp=
using System;
					
public class Calculo 
{
    public double Valor1 {get; set;}
    public double Valor2 {get; set;}
    public string Operação {get; set;}
}

public class Notas 
{
    public double Nota1 {get; set;}
    public double Nota2 {get; set;}
    public double Nota3 {get; set;}
}

public class Triangulo
{
    public double LadoA {get; set;}
    public double Ladob {get; set;}
    public double LadoC {get; set;}
}

public class Pessoas 
{
    public string Nome {get; set;}
    public double Altura {get; set;}
    public double Peso {get; set;}
}

public class TreinoFocadoA
{
    public double Calculadora (Calculo calculo)
    {
        double calcul0 = 0;
        if(calculo.Operação == "Soma")
            calcul0 = calculo.Valor1 + calculo.Valor2;

        else if (calculo.Operação == "Subtração")
            calcul0 = calculo.Valor1 - calculo.Valor2;

        else if (calculo.Operação == "Multiplicação")
            calcul0 = calculo.Valor1 * calculo.Valor2;

        else if (calculo.Operação == "Divisão")
            calcul0 = calculo.Valor1 / calculo.Valor2;

        else
            calcul0 = Math.Pow(calculo.Valor1, 2);

            return calcul0;
    }
	
	public string Termometro (double grau)
    {
        string x = string.Empty;
        if(grau >= 37.8 && grau <= 39.5)
            x = $"Você está com Febre. Procure um médico, não se automedique";

        else if (grau >= 39.6 && grau <= 41)
            x = $"Você está com Febre Alta. RECORRA A UM MÉDICO URGENTEMENTE!!!.";

        else if (grau <= 35)
            x = $"Você está com Hipotermia. CORRE PRO MÉDICO!!!";

        else if (grau >= 35.1 && grau <= 37.7)
            x = $"Você não está com Febre";

        return x;    
    }
	
	public string LucroOuPrejuizo (double gastos, double lucros)
    {
        double saldo = lucros - gastos;
        string x = string.Empty;
        if(saldo < 0)
        {
           double ValorAbsoluto = Math.Abs(saldo);
           x = $"Poxa, você ficou R$ {ValorAbsoluto} negativo.";
        }

        else if (saldo > 0)
           x = $"Muito bem, você está R$ {saldo} positivo";
        
        else 
           x = $"Você não teve lucro e nem prejuizo";

        return x;   
    }
	
	public double ArredondarMeioEmMeio (double nota)
    {
       double valor = Math.Floor(nota) - nota;
       valor = Math.Abs(valor);

       double valorr = 0;

       if (valor >= 0.00 && valor <= 0.25)
         valorr = Math.Floor(nota);

       else if (valor >= 0.26 && valor <= 0.74)
         valorr = Math.Floor(nota) + 0.5;

       else if (valor >= 0.75 && valor <= 0.99)
         valorr = Math.Ceiling(nota);

       return valorr;  
    }
	
	public string Passou (Notas notas)
    {   
        double CalcularNotas = (notas.Nota1 + notas.Nota2 + notas.Nota3) / 3;
        string x = string.Empty;
        if( CalcularNotas > 5)
         x = $"Parabens você passou";

        else 
        x = $"Você está de recuperação";

        return x;
    }
	
	 public string Passou (Notas notas, int falta)
    {   
        double calcularnotas = (notas.Nota1 + notas.Nota2 + notas.Nota3) / 3;
        string Q = string.Empty;
        if (calcularnotas < 5 && falta < 25)
         Q = $"Recuperação por nota";

        else if (calcularnotas > 5 && falta > 25)
         Q = $"Recuperação por falta";

        else if (calcularnotas < 5 && falta > 25)
        Q = $"Você está de recuperação por falta e nota";

        return Q;
    }
	
	public string TipoTriangulo (Triangulo triangulo)
    {
        string x = string.Empty;
		
       if(triangulo.LadoA == triangulo.Ladob  &&  triangulo.LadoA == triangulo.LadoC)
         x = "Triangulo Equilátero.";

       else if (triangulo.LadoA != triangulo.Ladob && triangulo.LadoA != triangulo.LadoC) 
         x = "Triangulo Escaleno.";
        
       else 
        x = "Triangulo Isósceles." ;

       return x;
    }
	
	public string IMC (Pessoas pessoa) 
   {
      double total1 = pessoa.Peso / Math.Pow(pessoa.Altura, 2);
      double totalIMC = Math.Round(total1, 1);
      
      string x = string.Empty;
      if(totalIMC < 18.5)
      x = $"{pessoa.Nome} você está com a classificação Magreza";

      else if (totalIMC >= 18.5 && totalIMC <= 24.9)
      x = $"{pessoa.Nome} você está com a classificação normal";

      else if (totalIMC >= 25.0 && totalIMC <= 29.9)
      x = $"{pessoa.Nome} você está com a classificação Sobrepeso";
  
      else if (totalIMC >= 30 && totalIMC <= 39.9)
      x = $"{pessoa.Nome} você está com a classificação Obesidade";

      else
      x = $"{pessoa.Nome} você está com a classificação Obesidade Grave";

     return x;
   }
}

TreinoFocadoA treino = new TreinoFocadoA ( );

Calculo calc = new Calculo();
calc.Valor1 = 5;
calc.Valor2 = 2;
calc.Operação = "Multiplicação";
double x = treino.Calculadora(calc);
Console.WriteLine(x);

string term = treino.Termometro(36);
Console.WriteLine(term);

string lop = treino.LucroOuPrejuizo(100, 200);
Console.WriteLine(lop);

double z = treino.ArredondarMeioEmMeio(5.75);
Console.WriteLine(z);

Notas passou1 = new Notas ();
passou1.Nota1 = 7;
passou1.Nota2 = 8;
passou1.Nota3 = 9;
string a = treino.Passou(passou1);
Console.WriteLine(a);

Notas passou2 = new Notas ();
passou2.Nota1 = 8;
passou2.Nota2 = 4;
passou2.Nota3 = 5;
int Faltas = 15;
string b = treino.Passou(passou2, Faltas);
Console.WriteLine(b);

Triangulo triangulo = new Triangulo ();
triangulo.LadoA = 5;
triangulo.Ladob = 5;
triangulo.LadoC = 6;

string c = treino.TipoTriangulo(triangulo);
Console.WriteLine(c);

Pessoas pessoa = new Pessoas ();
pessoa.Nome = "Igor";
pessoa.Altura = 1.75;
pessoa.Peso = 69;

string d = treino.IMC(pessoa);
Console.WriteLine(d);
```


## TreinoFocadoB
```csharp=
using System;
					
public class PecaDomino
{
	public double LadoA { get; set; }
	public double LadoB { get; set; }
}

public class Semaforo
{
	public bool LuzVermelhaAcesa { get; set; }
	public bool LuzAmareloAcesa  { get; set; }
	public bool LuzVerdeAcesa    { get; set; }
} 

public class Recuperacao
{
	public string Email    { get; set; }
	public string Telefone { get; set; }
}

public class TreinoFocadoB
{
	public bool CorPrimaria (string cor)
	{
		bool a = true;
		if(cor == "vermelho")
		a = true;
		else if(cor == "azul")	
		a = true;
		else if(cor == "amarelo")	
		a = true;
		else	
		a = false;
		return a;
	}

	public string CombinacaoCorPrimaria (string cor1, string cor2)
	{
		string a = string.Empty;
		
		if(cor1 == "vermelho" && cor2 == "azul")
		a = "roxo";
		else if(cor1 == "vermelho" && cor2 == "amarelo")
		a = "laranja";
		else if(cor1 == "amarelo" && cor2 == "azul")
		a = "verde";
		else if(cor1 == "amarelo" && cor2 == "vermelho")
		a = "laranja";
		else if(cor1 == "azul" && cor2 == "amarelo")
		a = "verde";
		else if(cor1 == "azul" && cor2 == "vermelho")
		a = "roxo";
		else
		a = "Não há cores válidas";
		return a;
	}
	
	public string PrimeiroNome (string Nome)
	{
		string a = string.Empty;
		
		if(Nome.Contains(" "))
		a = Nome.Substring(0,Nome.IndexOf(" "));
		else	
		return Nome;
		
		return a;
	}
	
	public bool DobreDomino (PecaDomino peca)
	{
		bool a = true;
		
		if(peca.LadoA == peca.LadoB)	
		a = true;
		else
		a = false;
		
		return a;
	}
	
	public bool JogadaValida (PecaDomino peca1, PecaDomino peca2)
	{
		bool a = true;
		
		if(peca1.LadoA == peca2.LadoA || peca1.LadoA == peca2.LadoB)
		a = true;
		else if(peca1.LadoB == peca2.LadoA || peca1.LadoB == peca2.LadoB)
		a = true;
		else
		a = false;
		
		return a;
	}
	
	public string RecuperacaoSenha (Recuperacao rec)
	{
		string a = rec.Email.Substring(rec.Email.IndexOf("@")+ 1);
		string b = a.Substring(0, a.IndexOf("."));
		string c = rec.Telefone.Substring(rec.Telefone.IndexOf("-") + 1);
		return $"Você receberá um e-mail do {b} para resetar a senha. Um código também foi enviado para o número xxxx-{c}.";
	}
	
	public Semaforo IniciarSemaforo ()
	{
		Semaforo semaforo = new Semaforo();
		semaforo.LuzVermelhaAcesa = true;
		semaforo.LuzAmareloAcesa = false;
		semaforo.LuzVerdeAcesa = false;
		
		return semaforo;
	}
	
	public Semaforo ProximoSinal (Semaforo semaforo)
	{
		if (semaforo.LuzVermelhaAcesa)
		{
			semaforo.LuzVermelhaAcesa = false;
			semaforo.LuzAmareloAcesa = false;
			semaforo.LuzVerdeAcesa = true;
		}
		
		else if (semaforo.LuzAmareloAcesa)
		{
			semaforo.LuzVermelhaAcesa = true;
			semaforo.LuzAmareloAcesa = false;
			semaforo.LuzVerdeAcesa = false;
		}
		
		else if(semaforo.LuzVerdeAcesa)
		{
			semaforo.LuzVermelhaAcesa = false;
			semaforo.LuzAmareloAcesa = true;
			semaforo.LuzVerdeAcesa = false;
		}
		
		return semaforo;
	}
}

TreinoFocadoB treino = new TreinoFocadoB ();

bool a = treino.CorPrimaria("azul");
Console.WriteLine(a);

string b = treino.CombinacaoCorPrimaria("Verde", "Roxo");
Console.WriteLine(b);

Recuperacao recuperacao = new Recuperacao ();
recuperacao.Email = "Igorlc2004@gmail.com";
recuperacao.Telefone = "(11) 96282-9371";
string x = treino.RecuperacaoSenha(recuperacao);
Console.WriteLine(x);

PecaDomino peca1 = new PecaDomino();
peca1.LadoA = 6;
peca1.LadoB = 6;

PecaDomino peca2 = new PecaDomino();
peca2.LadoA = 5;
peca2.LadoB = 4;

bool c = treino.DobreDomino(peca1);
Console.WriteLine(c);

bool d = treino.JogadaValida(peca1, peca2);
Console.WriteLine(d);

Semaforo semaforo = treino.IniciarSemaforo();
Console.WriteLine($"Vermelho: {semaforo.LuzVermelhaAcesa} - Amarelo: {semaforo.LuzAmareloAcesa} - Verde: {semaforo.LuzVerdeAcesa}");

semaforo = treino.ProximoSinal(semaforo);
Console.WriteLine($"Vermelho: {semaforo.LuzVermelhaAcesa} - Amarelo: {semaforo.LuzAmareloAcesa} - Verde: {semaforo.LuzVerdeAcesa}");

semaforo = treino.ProximoSinal(semaforo);
Console.WriteLine($"Vermelho: {semaforo.LuzVermelhaAcesa} - Amarelo: {semaforo.LuzAmareloAcesa} - Verde: {semaforo.LuzVerdeAcesa}");
```


## TreinoFocadoC
```csharp=
using System;
					
public class Pessoa
{
	public string Nome { get; set; }
	public DateTime Nascimento { get; set; }
	public string Cidade { get; set; }
}


public class TreinoFocadoC
{
	public int Trimestre (DateTime data)
	{
		int a = 0;
		
		if(data.Month >= 1 && data.Month <= 3)
		a = 1;
		else if(data.Month >= 4 && data.Month <= 6)
		a = 2;
		else if(data.Month >= 7 && data.Month <= 9)
		a = 3;
		else if(data.Month >= 10 && data.Month <= 12)
		a = 4;
		
		return a;
	}

	public string Mes (int mes)
	{
		string a = string.Empty;
		
		if(mes == 1)
		a = "Janeiro";
		else if(mes == 2)
		a = "Fevereiro";
		else if(mes == 3)
		a = "Março";
		else if(mes == 4)
		a = "Abril";
		else if(mes == 5)
		a = "Maio";
		else if(mes == 6)
		a = "Junho";
		else if(mes == 7)
		a = "Julho";
		else if(mes == 8)
		a = "Agosto";
		else if(mes == 9)
		a = "Setembro";
		else if(mes == 10)
		a = "Outubro";
		else if(mes == 11)
		a = "Novembro";
		else if(mes == 12)
		a = "Dezembro";
		
		return a;
	}
	
	public string PeriodoDia (DateTime data)
	{
		string a = string.Empty;
		
		if(data.Hour >= 6 && data.Hour <= 11) 
		a = "Manhã";
		else if(data.Hour >= 12 && data.Hour <= 17)
		a = "Tarde";
		else if(data.Hour >= 18 && data.Hour <= 23)
		a = "Noite";
		else if(data.Hour >= 0 && data.Hour <= 5)
		a = "Madrugada";
		
		return a;
	}
	
	public double DiasVida (DateTime nascimento)
	{
		TimeSpan a = DateTime.Now - nascimento;
		double b = Math.Round(a.TotalDays);
		return b;
	}
	
	public string QualSigno (DateTime nascimento)
	{
		string a = string.Empty;
		
		if(nascimento.Month == 1 && nascimento.Day >= 20 || nascimento.Month == 2 && nascimento.Day <= 18)
		a = "Aquário";
		else if(nascimento.Month == 2 && nascimento.Day >= 19 || nascimento.Month == 3 && nascimento.Day <= 20)
		a = "Peixes";
		else if(nascimento.Month == 3 && nascimento.Day >= 21 || nascimento.Month == 4 && nascimento.Day <= 20)
		a = "Aries";
		else if(nascimento.Month == 4 && nascimento.Day >= 21 || nascimento.Month == 5 && nascimento.Day <= 20)
		a = "Touro";
		else if(nascimento.Month == 5 && nascimento.Day >= 21 || nascimento.Month == 6 && nascimento.Day <= 20)
		a = "Gêmeos";
		else if(nascimento.Month == 6 && nascimento.Day >= 21 || nascimento.Month == 7 && nascimento.Day <= 22)
		a = "Câncer";
		else if(nascimento.Month == 7 && nascimento.Day >= 23 || nascimento.Month == 8 && nascimento.Day <= 22)
		a = "Leão";
		else if(nascimento.Month == 8 && nascimento.Day >= 23 || nascimento.Month == 9 && nascimento.Day <= 22)
		a = "Virgem";
		else if(nascimento.Month == 9 && nascimento.Day >= 23 || nascimento.Month == 10 && nascimento.Day <= 22)
		a = "Libra";
		else if(nascimento.Month == 10 && nascimento.Day >= 23 || nascimento.Month == 11 && nascimento.Day <= 21)
		a = "Escorpião";
		else if(nascimento.Month == 11 && nascimento.Day >= 22 || nascimento.Month == 12 && nascimento.Day <= 21)
		a = "Sagitário";
		else if(nascimento.Month == 12 && nascimento.Day >= 22 || nascimento.Month == 1 && nascimento.Day <= 19)
		a = "Capricórnio";
		
		return a;
	}
	
	public string DataPorExtenso (Pessoa pessoa)
	{
		int a = Trimestre(pessoa.Nascimento);
		string b = Mes(pessoa.Nascimento.Month);
		string c = PeriodoDia(pessoa.Nascimento);
		double d = DiasVida(pessoa.Nascimento); 
		string e = QualSigno(pessoa.Nascimento);
		return $"{pessoa.Nome} você nasceu há {d} dias, em uma {c} do dia {pessoa.Nascimento.Day} de {b} ({a}° trimestre) de {pessoa.Nascimento.Year}. Seu signo é: {e}.";
	}
		
}



TreinoFocadoC treino = new TreinoFocadoC();

Pessoa x = new Pessoa();
x.Nome = "Igor Lima Charles";
x.Cidade = "São Paulo";
x.Nascimento = new DateTime (2004,08,12);
string a = treino.DataPorExtenso(x);
Console.WriteLine(a);
```