---
# System prepended metadata

title: FUNDAMENTO DE lA LÓGICA

---

***NOME*** João Gabriel Camargo Ramos
***TURMA*** INFO C
***NUMERO*** 23

#  FUNDAMENTO DE lA LÓGICA

## EXERCÍCIO TREINO FOCADO-A

```csharp=
using System;

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 Notas
{
	public double Nota1 { get; set; }
	public double Nota2 { get; set; }
	public double Nota3 { get; set; }
}

public class TreinoFocadoA
{
	public double Calculadora (Calculo calculo)
	{
		string oper = calculo.Operacao.ToLower();
		double result = 0;
		
		if (oper == "soma")
		{ result = calculo.Valor1 + calculo.Valor2; }
		else if (oper == "subtração")
		{ result = calculo.Valor1 - calculo.Valor2; }
		else if (oper == "multiplicação")
		{ result = calculo.Valor1 * calculo.Valor2; }
		else
		{ result = calculo.Valor1 / calculo.Valor2; }

		return result;
	}
	
	public string Termometro (double grau)
	{
		string result = "";
		
		if (grau < 35)
		{ result = "Você está com hipotermia."; }
		else if (grau > 35 && grau <= 37)
		{ result = "Você está normal!"; }
		else if (grau > 37 && grau <+ 37.8)
		{ result = "Você está em estado febril."; }
		else
		{ result = "Você está com febre alta."; }
		
		return result;
	}
	
	public string LucroOuPrejuizo (double gastos, double lucros)
	{
		double p1 = lucros - gastos;
		string mens = "";
		
		if (p1 > 0)
		{ mens = $"Muito bem, você está R$ {p1} positivo"; }
		else
		{ mens = $"Poxa, você ficou R$ {Math.Abs(p1)} negativo."; }
		
		return mens;
	}
	
	public double ArredondarMeioEmMeio (double nota)
	{
        double k = Math.Truncate(nota);
        double dec = nota - k;

        double fin = 0;

        if(dec > 0 && dec <= 0.25)
        {
            fin = Math.Floor(nota);
        }
        else if(dec >= 0.26 && dec <= 0.74)
        {
            fin = Math.Floor(nota) + 0.5;
        }
        else
        {
            fin = Math.Ceiling(nota);
        }

        return fin;
    }
	
	public string Passou (Notas notas)
	{
        double o = notas.Nota1 + notas.Nota2 + notas.Nota3;
        string final = "";

        if(o > 5)
        {
            final = "Você passou de ano!";
        }
        else
        {
            final = "Você está d recuperação";
        }

        return final;
    }
	
	public string Passouu (Notas notas, int faltas)
	{
        double o = notas.Nota1 + notas.Nota2 + notas.Nota3;
        string final = "";

        if(o > 5 && faltas < 25)
        {
            final = "Você passou de ano!";
        }
        else if(o > 5 && faltas > 25)
        {
            final = "Recuperação for Faltas.";
        }
        else if(o < 5 && faltas < 25)
        {
            final = "Recuperação por Nota.";
        }
        else 
        {
            final = "Recuperação por Nota e Falta.";
        }

        return final;
    }
	
	public string TipoTriangulo (Triangulo triangulo)
	{
        string resposta = string.Empty;

        if(triangulo.LadoA == triangulo.LadoB && triangulo.LadoB == triangulo.LadoC)
        {
            resposta = "Este triângulo é equilátero.";
        }
        else if(triangulo.LadoA != triangulo.LadoB && triangulo.LadoB != triangulo.LadoC)
        {
            resposta = "Este triângulo é escaleno.";
        }
        else
        {
            resposta = "Este triângulo é isóceles";
        }

        return resposta;
    }
	
	public string IMC (Pessoa pessoa)
	{
        double s = pessoa.Peso / Math.Pow(pessoa.Altura,2);
        string mensagem = string.Empty;

        if(s < 18.5)
        {
            mensagem = $"{pessoa.Nome}, você está abaixo do peso.";
        }
        else if(s >= 18.5 || s <= 24.9)
        {
            mensagem = $"{pessoa.Nome}, você está com o peso normal.";
        }
        else
        {
            mensagem = $"{pessoa.Nome}, você está sobrepeso.";
        }

        return mensagem;
    }
}

Calculo a = new Calculo();
a.Valor1 = 80;
a.Valor2 = 20;
a.Operacao = "Multiplicação";

Triangulo b = new Triangulo ();
b.LadoA = 5;
b.LadoB = 5;
b.LadoC = 6;

Pessoa c = new Pessoa ();
c.Nome = "Mariana";
c.Altura = 1.60;
c.Peso = 48;

Notas d = new Notas ();
d.Nota1 = 9;
d.Nota2 = 8;
d.Nota3 = 6;

TreinoFocadoA primeiro = new TreinoFocadoA ();
double a1 = primeiro.Calculadora(a);
double a2 = primeiro.ArredondarMeioEmMeio(7.74);
string a3 = primeiro.LucroOuPrejuizo(4000,6000);
string a4 = primeiro.IMC(c);
string a5 = primeiro.Passou(d);
string a6 = primeiro.Passouu(d,28);
string a7 = primeiro.Termometro(38);
string a8 = primeiro.TipoTriangulo(b);

Console.WriteLine(a1);
Console.WriteLine(a2);
Console.WriteLine(a3);
Console.WriteLine(a4);
Console.WriteLine(a5);
Console.WriteLine(a6);
Console.WriteLine(a7);
Console.WriteLine(a8);
```
## EXERCÍCIO TREINO FOCADO-B

```csharp=
using System;

public class PecaDomino
{
    public double LadoA { get; set; }
    public double LadoB { get; set; }
}

public class Semafaro 
{
    public bool LuzVermelhaAcesa { get; set; }
    public bool LuzAmarelaAcesa { 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)
    {
        string a = cor.ToLower();

        bool d = true;

        if(a == "amarelo" || a == "azul" || a == "vermelho")
        {
            d = true;
        }
        else
        {
            d = false;
        }

        return d;
    }

    public string CombinacaoCorPrimaria (string cor1, string cor2)
    {
        string a = cor1.ToLower();
        string b = cor2.ToLower();

        string final = string.Empty;

        if(a == "amarelo" && b == "azul" || a == "azul" && b == "amarelo")
        {
            final = "Verde";
        }
        else if(a == "amarelo" && b == "vermelho" || a == "vermelho" && b == "amarelo")
        {
            final = "Laranja";
        }
        else
        {
            final = "Roxo";
        }

        return final;
    }

    public string PrimeiroNome (string nome)
    {
        string pnome = string.Empty;

        if(nome.Contains(" "))
        {
           int g = nome.IndexOf(" ");
           pnome = nome.Substring(0,g);
        }
        else
        {
            pnome = nome;
        }

        return pnome;
    }

    public bool DobreDomino (PecaDomino peca)
    {
        bool resp = false;

        if(peca.LadoA == peca.LadoB)
        {
            resp = true;
        }
        else
        {
            resp = false;
        }

        return resp;
    }

    public bool JogadaValida (PecaDomino peca1, PecaDomino peca2)
    {
        bool resp = false;

        if(peca1.LadoA == peca2.LadoA || peca1.LadoA == peca2.LadoB)
        {
            resp = true;
        }
        else if(peca1.LadoB == peca2.LadoA || peca1.LadoB == peca2.LadoB)
        {
            resp = true;
        }
        else
        {
            resp = false;
        }

        return resp;
    }

    public string RecuperacaoSenha (Recuperacao rec)
    {
        int j = rec.Telefone.IndexOf("-");
        int h = rec.Telefone.Length;
        string e = rec.Telefone.Substring(j+1,h-j-1);

        string mensagem = string.Empty;

        if(rec.Email.Contains("@"))
        {
            int a = rec.Email.IndexOf("@");
            string b = rec.Email.Substring(a+1);
            int c = b.LastIndexOf(".");
            string d = b.Substring(0,c);

            mensagem = $"Você receberá um e-mail do {d} para resetar a senha. Um código também foi enviado para o número {e}.";
        }
        else
        {
            mensagem = "Algo está errado. Reescreva seu e-mail ou telefone.";
        }

        return mensagem;
    }

    public Semafaro IniciarSemafaro()
    {
        Semafaro e = new Semafaro();
        e.LuzAmarelaAcesa = false;
        e.LuzVerdeAcesa = false;
        e.LuzVermelhaAcesa = true;

        return e;
    }

    public Semafaro ProximoSinal(Semafaro semafaro)
    {
        Semafaro resposta = new Semafaro();
        resposta.LuzAmarelaAcesa = false;
        resposta.LuzVerdeAcesa = false;
        resposta.LuzVermelhaAcesa = false;

        if(semafaro.LuzVermelhaAcesa == true && semafaro.LuzAmarelaAcesa == false && semafaro.LuzVerdeAcesa == false)
        {
            resposta.LuzAmarelaAcesa = false;
            resposta.LuzVerdeAcesa = true;
            resposta.LuzVermelhaAcesa = false;
        }
        else if (semafaro.LuzVermelhaAcesa == false && semafaro.LuzAmarelaAcesa == false && semafaro.LuzVerdeAcesa == true)
        {
            resposta.LuzAmarelaAcesa = true;
            resposta.LuzVerdeAcesa = false;
            resposta.LuzVermelhaAcesa = false;
        }
        else 
        {
            resposta.LuzAmarelaAcesa = false;
            resposta.LuzVerdeAcesa = false;
            resposta.LuzVermelhaAcesa = true;
        }

        return resposta;
    }

}

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

PecaDomino q = new PecaDomino();
q.LadoA = 4;
q.LadoB = 6;

Semafaro s = new Semafaro();
s.LuzAmarelaAcesa = true;
s.LuzVerdeAcesa = false;
s.LuzVermelhaAcesa = false;

Recuperacao r = new Recuperacao();
r.Email = "mariana.souza0026@gmail.com";
r.Telefone = "94118-7898";

TreinoFocadoB t = new TreinoFocadoB();
bool a1 = t.CorPrimaria("verde");
string a2 = t.CombinacaoCorPrimaria("azul","amarelo");
bool a3 = t.DobreDomino(p);
bool a4 = t.JogadaValida(p,q);
Semafaro a5 = t.IniciarSemafaro();
string a6 = t.PrimeiroNome("Mariana Souza do Carmo");
Semafaro a7 = t.ProximoSinal(s);
string a8 = t.RecuperacaoSenha(r);

Console.WriteLine(a1);
Console.WriteLine(a2);
Console.WriteLine(a3);
Console.WriteLine(a4);
Console.WriteLine(a5);
Console.WriteLine(a6);
Console.WriteLine(a7);
Console.WriteLine(a8);
```

## EXERCÍCIO TREINO FOCADO-C

```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 w = data.Month;
        int resp = 0;

        if (w >= 01 && w <= 03)
        {
            resp = 1;
        }
        else if (w >= 04 && w <= 06)
        {
            resp = 2;
        }
        else if (w >= 07 && w <= 08)
        {
            resp = 3;
        }
        else 
        {
            resp = 4;
        }

        return resp;
    }

    public string Mes (int mes)
    {

        string mes1 = string.Empty;

        if (mes == 1)
            mes1 = "Janeiro";
        else if (mes == 2)
            mes1 = "Fevereiro";
        else if (mes == 3)
            mes1 = "Março";
        else if (mes == 4)
            mes1 = "Abril";
        else if (mes == 5)
            mes1 = "Maio";
        else if (mes == 6)
            mes1 = "Junho";
        else if (mes == 7)
            mes1 = "Julho";
        else if (mes == 8)
            mes1 = "Agosto";
        else if (mes == 9)
            mes1 = "Setembro";
        else if (mes == 10)
            mes1 = "Outubro";
        else if (mes == 11)
            mes1 = "Novembro";
        else if (mes == 12)
            mes1 = "Dezembro";
        else
            mes1 = "Mês inexistente. Tente novamente com um mês que exista.";

        return mes1;
    }

    public string PeriodoDia (DateTime data)
    {
        int g = data.Hour;

        string periodo = string.Empty;

        if (g >= 1 && g <= 6)
        {
            periodo = "Madrugada";
        }
        else if (g >= 7 && g <= 12)
        {
            periodo = "Manhã";
        }
        else if (g >= 13 && g <= 18)
        {
            periodo = "Tarde";
        }
        else
        {
            periodo = "Noite";
        }

        return periodo;
    }

    public double DiasDeVida (DateTime nascimento)
    {
        DateTime atual = DateTime.Now;
        TimeSpan dias = atual - nascimento;
        double total = dias.TotalDays;
        double resp = Math.Truncate(total);

        return resp;
    }

    public string QualSigno (DateTime nascimento)
    {
        DateTime aquario1 = new DateTime(nascimento.Year,01,22);
        DateTime aquario2 = new DateTime(nascimento.Year,02,18);
        DateTime peixes1 = new DateTime(nascimento.Year,02,19);
        DateTime peixes2 = new DateTime(nascimento.Year,03,19);
        DateTime aries1 = new DateTime(nascimento.Year,03,20);
        DateTime aries2 = new DateTime(nascimento.Year,04,20);
        DateTime touro1 = new DateTime(nascimento.Year,04,21);
        DateTime touro2 = new DateTime(nascimento.Year,05,20);
        DateTime gemeos1 = new DateTime(nascimento.Year,05,21);
        DateTime gemeos2 = new DateTime(nascimento.Year,06,20);
        DateTime cancer1 = new DateTime(nascimento.Year,06,21);
        DateTime cancer2 = new DateTime(nascimento.Year,07,21);
        DateTime leao1 = new DateTime(nascimento.Year,07,22);
        DateTime leao2 = new DateTime(nascimento.Year,08,22);
        DateTime virgem1 = new DateTime(nascimento.Year,08,23);
        DateTime virgem2 = new DateTime(nascimento.Year,09,22);
        DateTime libra1 = new DateTime(nascimento.Year,09,23);
        DateTime libra2 = new DateTime(nascimento.Year,10,22);
        DateTime escorpiao1 = new DateTime(nascimento.Year,10,23);
        DateTime escorpiao2 = new DateTime(nascimento.Year,11,21);
        DateTime sagitario1 = new DateTime(nascimento.Year,11,22);
        DateTime sagitario2 = new DateTime(nascimento.Year,12,21);  

        string signo = string.Empty;

        if (nascimento >= aquario1 && nascimento <= aquario2)
            signo = "Aquário";
        else if (nascimento >= peixes1 && nascimento <= peixes2)
            signo = "Peixes";
        else if (nascimento >= aries1 && nascimento <= aries2)
            signo = "Áries";
        else if (nascimento >= touro1 && nascimento <= touro2)
            signo = "Touro";
        else if (nascimento >= gemeos1 && nascimento <= gemeos2)
            signo = "Gêmeos";
        else if (nascimento >= cancer1 && nascimento <= cancer2)
            signo = "Câncer";
        else if (nascimento >= leao1 && nascimento <= leao2)
            signo = "Leão";
        else if (nascimento >= virgem1 && nascimento <= virgem2)
            signo = "Virgem";
        else if (nascimento >= libra1 && nascimento <= libra2)
            signo = "Libra";
        else if (nascimento >= escorpiao1 && nascimento <= escorpiao2)
            signo = "Escorpião";
        else if (nascimento >= sagitario1 && nascimento <= sagitario2)
            signo = "Sagitário";
        else 
            signo = "Capricórnio";

        
        return signo;
    }

    public string DataPorExtenso (Pessoa pessoa)
    {
        double dias = DiasDeVida(pessoa.Nascimento);
        int tri = Trimestre(pessoa.Nascimento);
        string mes = Mes(pessoa.Nascimento.Month);
        string periodo = PeriodoDia(pessoa.Nascimento);
        string signo = QualSigno(pessoa.Nascimento);

        string resposta = $"{pessoa.Nome}, você nasceu há {dias} dias, em uma {periodo.ToLower()} do dia {pessoa.Nascimento.Day} de {mes} ({tri}° trimestre) de {pessoa.Nascimento.Year}. Seu signo é {signo}.";

        return resposta;
    }

}

Pessoa a = new Pessoa ();
a.Cidade = "São Paulo";
a.Nascimento = new DateTime (2004,12,18,13,00,00);
a.Nome = "Laura";

TreinoFocadoC c = new TreinoFocadoC ();
string g = c.DataPorExtenso(a);

Console.WriteLine(g);
```
