---
# System prepended metadata

title: SESSION FIVE | Fundamentos de Lógica

---

# SESSION FIVE | Fundamentos de Lógica
> **Aluna:** Patricia Oliveira Paulino
> **Número:** 37
> **Turma:** Info D


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

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

public class TreinoFocadoA
{
public double Calculadora (Calculo calculo)
{
double resultado = 0;

if (calculo.Operacao == "subtração")
{
resultado =calculo.Valor1 - calculo.Valor2;
}
else if (calculo.Operacao == "multiplicação")
{
resultado = calculo.Valor1 * calculo.Valor2;
}
else if (calculo.Operacao == "divisão")
{
resultado = calculo.Valor1 / calculo.Valor2;
}
else if (calculo.Operacao == "potência")
{
resultado = Math.Pow(calculo.Valor1, calculo.Valor2);
}
return resultado;
}

public string Termometro (double grau)
{
string estado = string.Empty;
if(grau >= 37.8 && grau <= 39.5)
{
estado = "Você está com febre";
}
else if (grau >39.6)
{
estado = "Você está com febre alta";
}
else if (grau < 35)
{
estado = "Você está com hiportemia";
}
else if (grau >= 35.1 && grau <= 37.7)
{
estado = "Você está com temperatura normal";
}
return estado;
}

public string LucroOuPrejuizo (double lucro, double gastos)
{
double saldo = lucro - gastos;
string mensagem = string.Empty;
if(saldo > 0)
{
mensagem = $"Muito bem, você está R$ {saldo} positivo.";
}
else
{
mensagem = $"Poxa, você ficou R$ {Math.Abs(saldo)} negativo.";
}
return mensagem;
}

public double ArredondarMeioEmMeio (double nota)
{
double parteDecimal = nota - Math.Truncate(nota);
if (parteDecimal > 0.0 && parteDecimal < 0.25)
{
nota = Math.Floor (nota);
}
else if (parteDecimal > 0.25 && parteDecimal < 0.75)
{
nota = Math.Floor (nota) + 0.5;
}
else
{
nota = Math.Ceiling(nota);
}
return nota;
}

public string TipoTriangulo (Triangulo t)
{
string tipotriangulo = string.Empty;
if (t.LadoA == t.LadoB && t.LadoA == t.LadoC)
{
tipotriangulo = "É um Triângulo Equilátero";
}
else if (t.LadoA != t.LadoB && t.LadoB != t.LadoC && t.LadoA != t.LadoC)
{
tipotriangulo = "É um Triângulo Escaleno";
}
else
{
tipotriangulo = "É um Triângulo Isósceles";
}
return tipotriangulo;
}

public string Passou1 (Notas notas)
{
return ((notas.Nota1 + notas.Nota2 + notas.Nota3)/3) >=5
?"Passou"
:"Reprovou";
}

public string Passou2 (Notas notas, int faltas)
{
string mensagem = string.Empty;

if ((((notas.Nota1 + notas.Nota2 + notas.Nota3)/3) <5) && (faltas >=25))
{
mensagem = "Recuperação por Nota e Falta";
}
else if (((notas.Nota1 + notas.Nota2 + notas.Nota3)/3) <5)
{
mensagem = "Recuperação por Nota";
}
else if (faltas >= 25)
{
mensagem = "Recuperação por Falta";
}
else
{
mensagem = "Você Passou!";
}
return mensagem;
}

public string IMC (Pessoa pessoa)
{
double imc = pessoa.Peso / (Math.Pow (pessoa.Altura, 2));
string situacao = string.Empty;

if (imc >= 18.5 && imc <= 24.9)
{
situacao = pessoa.Nome + " você está com Peso Normal";
}
else if (imc <= 18.4)
{
situacao = pessoa.Nome + " você está Abaixo do Peso";
}
else if (imc >= 25)
{
situacao = pessoa.Nome + " você está com Sobrepeso";
}
return situacao;
}
}

TreinoFocadoA ta = new TreinoFocadoA ();

Calculo cal = new Calculo ();
cal.Valor1 = 9;
cal.Valor2 = 20;
cal.Operacao = "multiplicação";

double calc = ta.Calculadora (cal);
Console.WriteLine (calc);

string temp = ta.Termometro (40);
Console.WriteLine (temp);

string lop = ta.LucroOuPrejuizo (80000, 100000);
Console.WriteLine (lop);

double am = ta.ArredondarMeioEmMeio (5.75);
Console.WriteLine (am);

Triangulo t = new Triangulo ();
t.LadoA = 7;
t.LadoB = 14;
t.LadoC = 21;

string tt = ta.TipoTriangulo (t);
Console.WriteLine (tt);

Notas n1 = new Notas ();
n1.Nota1 = 9.9;
n1.Nota2 = 0;
n1.Nota3 = 4.5;

string res1 = ta.Passou1 (n1);
Console.WriteLine (res1);

Notas n2 = new Notas ();
n2.Nota1 = 0;
n2.Nota2 = 7;
n2.Nota3 = 3;

string res2 = ta.Passou2 (n2, 7);
Console.WriteLine (res2);

Pessoa pes = new Pessoa ();
pes.Nome = "Carlos";
pes.Peso = 60;
pes.Altura = 1.80;

string sit = ta.IMC (pes);
Console.WriteLine (sit);

//180
//Você está com febre alta
//Poxa, você ficou R$ 20000 negativo.
//6
//É um Triângulo Escaleno
//Reprovou
//Recuperação por Nota
//Carlos você está com Peso Normal
```


```csharp=
public class PecaDomino
{
public double LadoA {get; set;}
public double LadoB {get; set;}
}

public class Semaforo
{
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)
{
bool resposta = true;
if (cor == "vermelho" || cor == "amarelo" || cor == "azul")
{
resposta = true;
}
else
{
resposta = false;
}	
return resposta;
}



public string CombinacaoCorPrimaria (string cor1, string cor2)
{
string cornova = string.Empty;

if ((cor1 == "azul" && cor2 == "vermelho")
         ||
     (cor2 == "vermelho" && cor1 == "azul"))
{
cornova = "roxo";
}
else if ((cor1 == "azul" && cor2 == "amarelo") 
		 ||
         (cor2 == "azul" && cor2 == "amarelo"))
{
cornova = "verde";
}
else if ((cor1 == "amarelo" && cor2 == "vemelho") 
		 ||
         (cor2 == "amarelo" && cor1 == "vermelho"))
{
cornova = "laranja";
}

return cornova;
}

public string PrimeiroNome (string nome)
{
bool vf = nome.Contains (" ");
string primeironome = string.Empty;

if (vf == true )
{
int posicao = nome.IndexOf (" ");
primeironome = nome.Substring(0, posicao);
}
else
{
primeironome = nome;
}
return primeironome;
}

public bool DobreDomino (PecaDomino peca)
{
return peca.LadoA == peca.LadoB;
}

public bool JogadaValida (PecaDomino peca1, PecaDomino peca2)
{
bool jogadavalida = true;

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

return jogadavalida;
}

public string RecuperacaoSenha (Recuperacao rec)
{
rec.Telefone = rec.Telefone.Substring (rec.Telefone.IndexOf ("-"));
string dominio = rec.Email.Substring (rec.Email.IndexOf ("@") + 1);
string sempontocom = (dominio.Substring (0, dominio.IndexOf (".") )).ToUpper();
string mensagem = $"Você recebera um email do {sempontocom} para resetar a senha. Um código também foi enviado para o numero {rec.Telefone}.";

return mensagem;
}

public Semaforo IniciarSemaforo ()
{
Semaforo s = new Semaforo ();
s.LuzVermelhaAcesa = true;
s.LuzVerdeAcesa = false;
s.LuzAmarelaAcesa = false;

return s;
}


public Semaforo ProximoSinal (Semaforo semaforo)
{
if (semaforo.LuzVermelhaAcesa)
{
semaforo.LuzVermelhaAcesa = false;
semaforo.LuzAmarelaAcesa = true;
semaforo.LuzVerdeAcesa = false;
}
else if (semaforo.LuzAmarelaAcesa)
{
semaforo.LuzVermelhaAcesa = false;
semaforo.LuzAmarelaAcesa = false;
semaforo.LuzVerdeAcesa = true;
}
else  if (semaforo.LuzVerdeAcesa)
{
semaforo.LuzVermelhaAcesa = false;
semaforo.LuzAmarelaAcesa = true;
semaforo.LuzVerdeAcesa = false;
}

return semaforo;
}
}

TreinoFocadoB b = new TreinoFocadoB();

bool corp = b.CorPrimaria ("branco");
Console.WriteLine (corp);

string cors = b.CombinacaoCorPrimaria ("azul", "amarelo");
Console.WriteLine (cors);

string pn = b.PrimeiroNome ("Rodrigo Santos Rodrigues");
Console.WriteLine (pn);

PecaDomino pc1 = new PecaDomino ();
pc1.LadoA = 5;
pc1.LadoB = 5;

bool dd = b.DobreDomino (pc1);
Console.WriteLine (dd);

PecaDomino pc2 = new PecaDomino ();
pc2.LadoA = 6;
pc2.LadoB = 0;

bool jv = b.JogadaValida (pc1, pc2);
Console.WriteLine (jv);

Recuperacao rec = new Recuperacao ();
rec.Telefone = "96543-4407";
rec.Email = "Rodrigomv@gmail.com";

string recp = b.RecuperacaoSenha (rec);
Console.WriteLine (recp);

Semaforo s = b.IniciarSemaforo();
Console.WriteLine ($"vermelho: {s.LuzVermelhaAcesa}, verde: {s.LuzVerdeAcesa}, amerelo: {s.LuzAmarelaAcesa}");

s = b.ProximoSinal (s);
Console.WriteLine ($"vermelho: {s.LuzVermelhaAcesa}, verde: {s.LuzVerdeAcesa}, amerelo: {s.LuzAmarelaAcesa}");

//False
//verde
//Rodrigo
//True
//False
//Você recebera um email do GMAIL para resetar a senha. Um código também foi enviado para o numero -4407.
//vermelho: True, verde: False, amerelo: False
//vermelho: False, verde: False, amerelo: True
```


```csharp=
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 trimestre = 0;
	
if (data.Month == 1 || data.Month == 2 || data.Month ==3)
{
trimestre = 1;
}

else if (data.Month == 4 || data.Month == 5 || data.Month == 6)
{
trimestre = 2;
}

else if (data.Month == 7 || data.Month == 8 || data.Month == 9)
{
trimestre = 3;
}

else 
{
trimestre = 4;
}
	
return trimestre;
}

public string Mes (int mes)
{
string mesescrito = string.Empty;

if (mes == 1)
{
mesescrito = "Janeiro";
}
else if (mes == 2)
{
mesescrito = "Fevereiro";
}
else if (mes == 3)
{
mesescrito = "Março";
}
else if (mes == 4)
{
mesescrito = "Abril";
}
else if (mes == 5)
{
mesescrito = "Maio";
}
else if (mes == 6)
{
mesescrito = "Junho";
}
else if (mes == 7)
{
mesescrito = "Julho";
}
else if (mes == 8)
{
mesescrito = "Agosto";
}
else if (mes == 9)
{
mesescrito = "Setembro";
}
else if (mes == 10)
{
mesescrito = "Outubro";
}
else if (mes == 11)
{
mesescrito = "Novembro";
}
else 
{
mesescrito = "Dezembro";
}

return mesescrito;
}

public string PeriodoDia (DateTime data)
{
string periodo = string.Empty;

if (data.Hour < 6)
{
periodo = "Madrugada";
}

else if (data.Hour >= 6 && data.Hour < 12)
{
periodo = "Manhã";
}
else if (data.Hour >= 12 && data.Hour < 18)
{
periodo = "Tarde";
}
else 
{
periodo = "Noite";
}

return periodo;
}

public double DiasVida (DateTime nascimento)
{
TimeSpan totalm = DateTime.Now - nascimento;
double totaldias =  Math.Floor(totalm.TotalDays);
return totaldias;
}


public string QualSigno (DateTime nasc)
{
string signo = string.Empty;

if ((nasc.Day > 20 && nasc.Month == 3) || (nasc.Day < 21 && nasc.Month == 4)) 
{
signo = "Áries";
}
else if ((nasc.Day > 20 && nasc.Month == 4) || (nasc.Day < 21 && nasc.Month == 5))
{
signo = "Touro";
}
else if ((nasc.Day > 20 && nasc.Month == 5) || (nasc.Day < 21 && nasc.Month == 6))
{
signo = "Gêmeos";
}
else if ((nasc.Day > 20 && nasc.Month == 6) || (nasc.Day < 23 && nasc.Month == 7))
{
signo = "Câncer";
}

else if ((nasc.Day > 22 && nasc.Month == 7) || (nasc.Day < 23 && nasc.Month == 8))
{
signo = "Leão";
}
else if ((nasc.Day > 22 && nasc.Month == 8) || (nasc.Day < 23 && nasc.Month == 9))
{
signo = "Virgem";
}
else if ((nasc.Day > 22 && nasc.Month == 9) || (nasc.Day < 23 && nasc.Month == 10))
{
signo = "Libra";
}
else if ((nasc.Day > 22 && nasc.Month == 10) || (nasc.Day < 22 && nasc.Month == 11))
{
signo = "Escorpião";
}
else if ((nasc.Day > 21 && nasc.Month == 11) || (nasc.Day < 22 && nasc.Month == 12))
{
signo = "Sargitário";
}
else if ((nasc.Day > 21 && nasc.Month == 12) || (nasc.Day < 21 && nasc.Month == 1))
{
signo = "Capricórnio";
}
else if ((nasc.Day > 20 && nasc.Month == 1) || (nasc.Day < 19 && nasc.Month == 2))
{
signo = "Aquário";
}
else if ((nasc.Day > 18 && nasc.Month == 2) || (nasc.Day < 21 && nasc.Month == 3))
{
signo = "Peixes";
}

return signo;
}



public string DataPorExtenso (Pessoa pessoa)
{
double dv = DiasVida (pessoa.Nascimento);
int d = pessoa.Nascimento.Day;
string p = PeriodoDia (pessoa.Nascimento);
int t = Trimestre (pessoa.Nascimento);
int a = pessoa.Nascimento.Year;
string s = QualSigno (pessoa.Nascimento);
string m = Mes (pessoa.Nascimento.Month);

string mensagem = $"{pessoa.Nome} você nasceu há {dv} dias, em uma {p} do dia {d} de {m} ({t}º trimestre) de {a}. Seu signo é {s}";

return mensagem;
}
}

TreinoFocadoC c = new TreinoFocadoC ();

DateTime dt1 = new DateTime (2021, 09, 29);

int trim = c.Trimestre (dt1);
Console.WriteLine (trim);

string mes = c.Mes (4);
Console.WriteLine (mes);

DateTime dt2 = new DateTime (2021, 08, 08, 23, 59, 59);
string periodo = c.PeriodoDia (dt2);
Console.WriteLine (periodo);

DateTime dt3 = new DateTime (2002, 03, 21, 22, 28, 59);
double tdias = c.DiasVida (dt3);
Console.WriteLine (tdias);

string signo = c.QualSigno (dt3);
Console.WriteLine (signo);

Pessoa p = new Pessoa ();

p.Nome = "Patricia";
p.Nascimento = new DateTime (2002, 03, 18, 00, 05, 0);

string dpe = c.DataPorExtenso (p);
Console.WriteLine (dpe);

//3
//Abril
//Noite
//7010
//Áries
//Patricia você nasceu há 7014 dias, em uma Madrugada do dia 18 de Março (1º trimestre) de 2002. Seu signo é Peixes.w         
```