# Session Five | Fundamentos da Lógica Focused Training Conditions
Cauê Freitas Barreto 05
InfoB
[toc]
#### Primeira Questão
## Exercicio 1
## Exercício 1
````csharp=
public class Calculo
{
public double Valor1 { get; set; }
public double Valor2 { get; set; }
public string Operacao { get; set; }
}
public class Pessoa
{
public string Nome { get; set; }
public double Altura { get; set; }
public double Peso { 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 TreinoFocadoA
{
public double Calculadora (Calculo calculo)
{
double resultado = 0;
if (calculo.Operacao == "Soma")
resultado = calculo.Valor1 + calculo.Valor2;
else 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
resultado = Math.Pow(calculo.Valor1, calculo.Valor2);
return resultado;
}
public string Termometro (double grau)
{
string situacao = string.Empty;
if (grau >= 37.6 && grau <= 39.5)
situacao = "Você está com febre!";
else if (grau >= 39.6 && grau <= 41)
situacao = "Você está com febre Alta! Se cuida!";
else if (grau <= 35)
situacao = "Você está em estado de Hipotermia!";
else if (grau >= 41)
situacao = "Você está com hHipertemrmia! Vá ao Hospital!!!";
else
situacao = "Você está com a temperaturo normal do corpo, relaxa!";
return situacao;
}
public string LucroOuPrejuizo (double gastos, double lucros)
{
double total = lucros - (gastos);
string situacao = total < 0
? "Poxa, você ficou R$ " + Math.Abs(total) + " Negativo"
: "Muito bem, você ficou R$ " + total + " Positivo";
return situacao;
}
public double ArredondarMeioEmMeio (double nota)
{
double ParteDecimal = Math.Round(nota - Math.Truncate(nota), 2);
if (ParteDecimal >= 0.00 && ParteDecimal <= 0.25)
nota = Math.Floor(nota);
else if (ParteDecimal >= 0.26 && ParteDecimal <= 0.74)
nota = Math.Floor(nota) + 0.50;
else
nota = Math.Ceiling(nota);
return nota;
}
public string Passou (Notas notas)
{
return (notas.Nota1 + notas.Nota2 + notas.Nota3) / 3 >= 5
? "Parabéns, Você passou direto!"
: "Você está de recuperação!";
}
public string Passou (Notas notas, int faltas)
{
double media = (notas.Nota1 + notas.Nota2 + notas.Nota3) / 3;
string situacao = string.Empty;
if (faltas < 25 && media >= 5)
situacao = "Parabéns, Você passou direto!";
else
{
if (faltas > 25 && media < 5)
situacao = "Recuperação por Nota e Faltas!";
else if (faltas > 25)
situacao = "Recuperação por Faltas!";
else if (media < 5)
situacao = "Recuperação por Notas!";
}
return situacao;
}
public string TipoTriangulo (Triangulo triangulo)
{
string tipo = string.Empty;
if (triangulo.LadoA == triangulo.LadoB && triangulo.LadoA == triangulo.LadoC)
{
tipo = "Este Triângulo é do tipo Equilátero";
}
else
{
if (triangulo.LadoA != triangulo.LadoB && triangulo.LadoA != triangulo.LadoC && triangulo.LadoB != triangulo.LadoC)
tipo="Este Triângulo é do tipo Escaleno";
else
tipo = "Este Triângulo é do tipo Isóceles";
}
return tipo;
}
public string IMC (Pessoa pessoa)
{
double imc = Math.Round(pessoa.Peso / Math.Pow(pessoa.Altura, 2), 2);
string situacao = string.Empty;
if (imc >= 18.5 && imc <= 24.9)
situacao = pessoa.Nome + ", Você está com a classificação Normal";
else
{
if (imc < 18.5)
situacao = pessoa.Nome + ", Você está com a classificação de Magreza";
else if (imc >= 25.0 && imc <= 29.9)
situacao = pessoa.Nome + ", Você está com a classificação Sobrepeso!";
else if (imc >= 30 && imc <= 39.9)
situacao = pessoa.Nome + ", Você está com a classificação Obesidade!";
else
situacao = pessoa.Nome + ", Você está com a classificação Obesidade Grave";
}
return situacao;
}
}
/** Testando a função da Calculadora **/
Calculo cal = new Calculo ();
cal.Operacao = "Divisão";
cal.Valor1 = 2;
cal.Valor2 = 2;
TreinoFocadoA treino = new TreinoFocadoA();
double a = treino.Calculadora(cal);
Console.WriteLine("Resultado da função da Calculadora: " + a);
/** Testando a função da Calculadora **/
/** Testando a função do Termometro **/
string b = treino.Termometro(38.4);
Console.WriteLine("Resultado da função do Termometro: " + b);
/** Testando a função do Termometro **/
/** Testando a função de Lucro ou Prejuízo **/
string c = treino.LucroOuPrejuizo (5.0, -32.0);
Console.WriteLine("Resultado da função de Lucro ou Prejuízo: " + c);
/** Testando a função de Lucro ou Prejuízo **/
/** Testando a função de Arredondar Meio Em Meio **/
double d = treino.ArredondarMeioEmMeio(4.30);
Console.WriteLine("Resultado da função de Arredondar Meio Em Meio: " + d);
/** Testando a função de Arredondar Meio Em Meio **/
/** Testando a função Passou **/
Notas notas = new Notas();
notas.Nota1 = 8;
notas.Nota2 = 9;
notas.Nota3 = 10;
string e = treino.Passou(notas);
Console.WriteLine("Resultado da função Passou: " + e);
/** Testando a função Passou **/
/** Testando a função Passou **/
string f = treino.Passou(notas, 26);
Console.WriteLine("Resultado da função Passou: " + f);
/** Testando a função Passou **/
/** Testando a função do Tipo de Triangulo **/
Triangulo tring = new Triangulo();
tring.LadoA = 10;
tring.LadoB = 8;
tring.LadoC = 6;
string g = treino.TipoTriangulo(tring);
Console.WriteLine("Resultado da função do Tipo de Triangulo: " + g);
/** Testando a função do Tipo de Triangulo **/
/** Testando a função do IMC **/
Pessoa p = new Pessoa();
p.Nome ="Letícia Queiroz";
p.Altura = 1.58;
p.Peso = 55;
string h = treino.IMC (p);
Console.WriteLine("Resultado da função do IMC: " + h);
/** Testando a função do IMC **/
````
## Exercício 2
````csharp=
public class PecaDominio
{
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 CorPrimária (string cor)
{
bool x;
if (cor == "Amarelo" ||cor == "Azul" ||cor == "Vermelho")
x = true;
else
x = false;
return x;
}
public string CombinacaoCorPrimaria (string cor1, string cor2)
{
string x = string.Empty;
if (cor1 == "Amarelo" && cor2 == "Vermelho" || cor1 == "Vermelho" && cor2 == "Amarelo")
x = "Combinação que resulta na cor: Cor Laranja";
else if (cor1 == "Azul" && cor2 == "Vermelho" || cor1 == "Vermelho" && cor2 == "Azul")
x = "Combinação que resulta na cor: Cor Roxa";
else if (cor1 == "Azul" && cor2 == "Amarelo" || cor1 == "Amarelo" && cor2 == "Azul")
x = "Combinação que resulta na cor: Cor Verde";
else
x = "Desculpe! A cor escolhida não é uma cor primária. Por favor, insira uma cor primária!";
return x;
}
public string PrimeirNome (string nome)
{
string x = string.Empty;
if ( nome.Contains(" "))
x = nome.Substring(0, nome.IndexOf (" "));
else
x = nome;
return x;
}
public bool DobreDominio (PecaDominio peca)
{
bool x;
if ( peca.LadoA == 6 && peca.LadoB == 6)
x = true;
else
x = false;
return x;
}
public bool JogadaValida (PecaDominio peca1, PecaDominio peca2)
{
bool x;
if (peca1.LadoB == peca2.LadoA)
x = true;
else
x = false;
return x;
}
public string RecuperacaoSenha (Recuperacao rec)
{
string x = string.Empty;
if (rec.Email.Contains("@") && rec.Telefone.Contains("-") && rec.Telefone.Contains("(") && rec.Telefone.Contains(")"))
x = $"Você receberá um e-mail do {rec.Email.Substring(rec.Email.IndexOf("@") + 1)} para resetar a senha. Um código também foi enviado para o número {rec.Telefone.Substring(rec.Telefone.IndexOf("-") + 1)}";
else
{
if ((rec.Email.Contains("@") == false && rec.Telefone.Contains("-") && rec.Telefone.Contains("(") && rec.Telefone.Contains(")")))
x = "Por favor insira um E-mail válido!";
else if ((rec.Email.Contains("@") == false && rec.Telefone.Contains("-") == false && rec.Telefone.Contains("(") == false && rec.Telefone.Contains(")")) == false)
x = "O E-mail e o número de Telefone inseridos são inválidos!";
else
x = "Por favor insira um número de Telefone válido!";
}
return x;
}
public Semaforo IniciarSemaforo()
{
Semaforo s = new Semaforo();
s.LuzVermelhaAcesa = true;
s.LuzAmarelaAcesa = false;
s.LuzVerdeAcesa = false;
return s;
}
public Semaforo ProximoSinal (Semaforo s)
{
if (s.LuzVermelhaAcesa)
{
s.LuzVermelhaAcesa = false;
s.LuzAmarelaAcesa = true;
s.LuzVerdeAcesa = false;
}
else if (s.LuzAmarelaAcesa)
{
s.LuzVermelhaAcesa = false;
s.LuzAmarelaAcesa = false;
s.LuzVerdeAcesa = true;
}
else if (s.LuzVerdeAcesa)
{
s.LuzVermelhaAcesa = true;
s.LuzAmarelaAcesa = false;
s.LuzVerdeAcesa = false;
}
return s;
}
}
TreinoFocadoB treino = new TreinoFocadoB();
/* Testando a função: Cor Primária */
bool a = treino.CorPrimária ("Vermelho");
Console.WriteLine(a);
/* Testando a função: Cor Primária */
/* Testando a função: Combinação de Cores Primária */
string b = treino.CombinacaoCorPrimaria("Azul", "Vermelho");
Console.WriteLine(b);
/* Testando a função: Combinação de Cores Primáriaa */
/* Testando a função: Primeiro Nome */
string c = treino.PrimeirNome ("Letícia Queiroz Moreira");
Console.WriteLine(c);
/* Testando a função: Primeiro Nome */
/* Testando a função: Peca Dobre */
PecaDominio peca = new PecaDominio();
peca.LadoA = 6;
peca.LadoB = 6;
bool d = treino.DobreDominio (peca);
Console.WriteLine(d);
/* Testando a função: Peca Dobre */
/* Testando a função: Jogada Válida */
PecaDominio peca1 = new PecaDominio();
peca1.LadoB = 6;
PecaDominio peca2 = new PecaDominio();
peca2.LadoA = 5;
bool e = treino.JogadaValida (peca1, peca2);
Console.WriteLine(e);
/* Testando a função: Jogada Válida */
/* Testando a função: Recuperação de Senha */
Recuperacao rec= new Recuperacao ();
rec.Email = "leticiaqmoreira@hotmail.com";
rec.Telefone = "(11) 95474-5064";
string f = treino.RecuperacaoSenha(rec);
Console.WriteLine(f);
/* Testando a função: Recuperação de Senha */
/* Testando a função: Iniciar Semaforo */
Semaforo s = treino.IniciarSemaforo();
Console.WriteLine("Vermelha: " + s.LuzVermelhaAcesa + " - Amarela: " + s.LuzAmarelaAcesa + " - Verde: " + s.LuzVerdeAcesa);
/* Testando a função: Iniciar Semaforo */
/* Testando a função: Próximo Sinal */
Semaforo sem = new Semaforo ();
sem.LuzVermelhaAcesa = false;
sem.LuzAmarelaAcesa = true;
sem.LuzVerdeAcesa = false;
Semaforo g = treino.ProximoSinal(sem);
Console.WriteLine("Vermelha: " + g.LuzVermelhaAcesa + " - Amarela: " + g.LuzAmarelaAcesa + " - Verde: " + g.LuzVerdeAcesa);
/* Testando a função: Próximo Sinal */
// True
// Combinação que resulta na cor: Cor Roxa
// Letícia
// True
// False
// Você receberá um e-mail do hotmail.com para resetar a senha. Um código também foi enviado para o número 5064
// Vermelha: True - Amarela: False - Verde: False
// Vermelha: False - Amarela: False - Verde: True
````
## 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 int Trimestre (DateTime data)
{
int x = 0;
if (data.Month == 1 || data.Month == 2 || data.Month == 3)
x = 1;
else if (data.Month == 4 || data.Month == 5 || data.Month == 6)
x = 2;
else if (data.Month == 7 || data.Month == 8 || data.Month == 9)
x = 3;
else
x = 4;
return x;
}
public string Mes (int mes)
{
string x = string.Empty;
if (mes == 1)
x = "Janeiro";
else
{
if (mes == 2)
x = "Fevereiro";
else if (mes == 3)
x = "Março";
else if (mes == 4)
x = "Abril";
else if (mes == 5)
x = "Maio";
else if (mes == 6)
x = "Junho";
else if (mes == 7)
x = "Julho";
else if (mes == 8)
x = "Agosto";
else if (mes == 9)
x = "Setembro";
else if (mes == 10)
x = "Outubro";
else if (mes == 11)
x = "Novembro";
else
x = "Dezembro";
}
return x;
}
public string PeriodoDia (DateTime data)
{
string x = string.Empty;
if (data.Hour == 06 || data.Hour < 12)
x = "Manhã";
else
{
if (data.Hour == 12 || data.Hour < 18)
x = "Tarde";
else if (data.Hour == 18 || data.Hour < 24)
x = "Noite";
else
x = "Madrugada";
}
return x;
}
public double DiasVida (DateTime nascimento)
{
TimeSpan x = nascimento - DateTime.Now;
double total = x.TotalDays;
return Math.Round(Math.Abs(total));
}
public string QualSigno (DateTime nascimento)
{
string x = string.Empty;
if (nascimento.Day >= 21 && nascimento.Month == 3 || nascimento.Day <= 20 && nascimento.Month == 4)
x = "Áries";
else if (nascimento.Day >= 21 && nascimento.Month == 4 || nascimento.Day <= 20 && nascimento.Month == 5)
x = "Touro";
else if (nascimento.Day >= 21 && nascimento.Month == 5 || nascimento.Day <= 20 && nascimento.Month == 6)
x = "Gêmeos";
else if (nascimento.Day >= 21 && nascimento.Month == 6 || nascimento.Day <= 21 && nascimento.Month == 7)
x = "Câncer";
else if (nascimento.Day >= 22 && nascimento.Month == 7 || nascimento.Day <= 22 && nascimento.Month == 8)
x = "Leão";
else if (nascimento.Day >= 23 && nascimento.Month == 8 || nascimento.Day <= 22 && nascimento.Month == 9)
x = "Virgem";
else if (nascimento.Day >= 23 && nascimento.Month == 9 || nascimento.Day <= 22 && nascimento.Month == 10)
x = "Libra";
else if (nascimento.Day >= 23 && nascimento.Month == 10 || nascimento.Day <= 21 && nascimento.Month == 11)
x = "Escorpião";
else if (nascimento.Day >= 22 && nascimento.Month == 11 || nascimento.Day <= 21 && nascimento.Month == 12)
x = "Sargitário";
else if (nascimento.Day >= 22 && nascimento.Month == 12 || nascimento.Day <= 20 && nascimento.Month == 01)
x = "Capricórnio";
else if (nascimento.Day >= 21 && nascimento.Month == 01 || nascimento.Day <= 19 && nascimento.Month == 02)
x = "Áquario";
else
x = "Peixes";
return x;
}
public string DataPorExtenso (Pessoa pessoa)
{
return $"{pessoa.Nome} você nasceu há {DiasVida(pessoa.Nascimento)} dias, em uma {PeriodoDia(pessoa.Nascimento)} do dia {pessoa.Nascimento.Day} de {Mes(pessoa.Nascimento.Month)} ({Trimestre(pessoa.Nascimento)}º Trimestre) de {pessoa.Nascimento.Year}. Seu signo é de {QualSigno(pessoa.Nascimento)}";
}
}
TreinoFocadoC treino = new TreinoFocadoC();
/* Testando a função: Trimestre */
DateTime x = new DateTime (2021,06, 25);
int a = treino.Trimestre(x);
Console.WriteLine(a + "º Trimestre");
/* Testando a função: Trimestre */
/* Testando a função: Mês por Extenso */
string b = treino.Mes(6);
Console.WriteLine (b);
/* Testando a função: Mês por Extenso */
/* Testando a função: Período do dia */
DateTime z = DateTime.Now;
string c = treino.PeriodoDia(z);
Console.WriteLine (c);
/* Testando a função: Período do dia */
/* Testando a função: Signo */
DateTime nasc2 = new DateTime (2021,1, 05);
string d = treino.QualSigno(nasc2);
Console.WriteLine ("Seu signo é de: " + d);
/* Testando a função: Signo */
/* Testando a função: Data por extenso */
Pessoa p = new Pessoa();
p.Nome = "Maria Clara";
p.Nascimento = new DateTime (2005,10,27);
p.Cidade = "São Paulo";
string e = treino.DataPorExtenso(p);
Console.WriteLine(e);
/* Testando a função: Data por extenso */
/* Testando a função: Dias de vida*/
double f = treino.DiasVida(new DateTime (2005, 10, 27));
Console.WriteLine(f);
/* Testando a função: Dias de vida*/
// 2º Trimestre
// Junho
// Manhã
// Seu signo é de: Escorpião
// Maria Clara você nasceu há 6358 dias, em uma Tarde do dia 10 de Outubro (2º Trimestre) de 2005. Seu signo é de Escorpião
// 6358
````