# Session Five: Focused Training Conditions | Fundamentos da Lógica
**Autor**: Vitório Trindade Santana
**Turma**: Informática C
**Número**: 50
[toc]
## Exercício 1
```csharp=
class MainClass {
public static void Main (string[] args) {
Calculo cal = new Calculo();
cal.Valor1 = 2;
cal.Valor2 = 3;
cal.Operacao = "Multiplicação";
Triangulo tri = new Triangulo ();
tri.LadoA = 3;
tri.LadoB = 3;
tri.LadoC = 4;
Notas nt = new Notas ();
nt.Nota1 = 7;
nt.Nota2 = 8;
nt.Nota3 = 9;
Pessoa ps = new Pessoa ();
ps.Peso = 62;
ps.Altura = 1.74;
ps.Nome = "Vitório Trindade";
TreinoFocadoA q1 = new TreinoFocadoA();
double tfe1 = q1.Calculadora(cal);
string tfe2 = q1.Termometro(37);
string tfe3 = q1.LucroOuPrejuizo(3000, 1000);
string tfe4 = q1.Passou(nt);
string tfe5 = q1.PassouOuRecuperacao(nt, 23);
string tfe6 = q1.TipoTriangulo(tri);
string tfe7 = q1.IMC(ps);
Console.WriteLine(tfe1);
Console.WriteLine(tfe2);
Console.WriteLine(tfe3);
Console.WriteLine(tfe4);
Console.WriteLine(tfe5);
Console.WriteLine(tfe6);
Console.WriteLine(tfe7);
//6
//Parabéns, você está normal!
//Poxa, você ficou R$ 2000 negativo.
//Parabéns,você passou!
//Parabéns,você passou!
//O triângulo é isósceles
//Vitório Trindade, você está normal
}
}
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)
{
double operacao = 0;
if (calculo.Operacao == "Soma")
{
operacao = calculo.Valor1 + calculo.Valor2;
}
else if (calculo.Operacao == "Subtração")
{
operacao = calculo.Valor1 - calculo.Valor2;
}
else if (calculo.Operacao == "Multiplicação")
{
operacao = calculo.Valor1 * calculo.Valor2;
}
else if (calculo.Operacao == "Divisão")
{
operacao = calculo.Valor1 / calculo.Valor2;
}
else if (calculo.Operacao == "Potência")
{
operacao = Math.Pow(calculo.Valor1, calculo.Valor2);
}
return operacao;
}
public string Termometro (double grau)
{
string temp = "";
if (grau >= 36 && grau <= 37.5)
{
temp = "Parabéns, você está normal!";
}
else if (grau >= 37.6 && grau <= 39.5)
{
temp = "Cuidado, você está com febre";
}
else if (grau >= 39.6 && grau <= 41)
{
temp = "Cuidado, você está com febre alta!";
}
else if (grau <= 35)
{
temp = "Vai se tratar pelo amor de deus, você está com hipotermia!!";
}
return temp;
}
public string LucroOuPrejuizo (double gastos, double lucros)
{
string situacao = "";
double valor = lucros - gastos;
if (valor >= 1)
{
situacao = $"Muito bem, você está R$ {valor} positivo";
}
else if (valor < 0)
{
situacao = $"Poxa, você ficou R$ {valor} negativo.";
}
if (situacao.Contains("-"))
{
situacao = situacao.Replace("-", "");
}
return situacao;
}
public string Passou (Notas notas)
{
string n = "";
double nota = (notas.Nota1 + notas.Nota2 + notas.Nota3) / 3;
if (nota >= 5)
{
n = "Parabéns,você passou!";
}
else
{
n = "Ta precisando estudar mais em, tá de recuperação";
}
return n;
}
public string PassouOuRecuperacao (Notas notas, int faltas)
{
string n = "";
double nota = (notas.Nota1 + notas.Nota2 + notas.Nota3) / 3;
if (nota >= 5 && faltas <= 25)
{
n = "Parabéns,você passou!";
}
else if (nota <= 4 && faltas >= 26)
{
n = "Recuperação por Nota e Falta";
}
else if (nota < 5)
{
n = "Recuperação por Nota.";
}
else if (faltas >= 26)
{
n = "Recuperação por Falta.";
}
return n;
}
public string TipoTriangulo (Triangulo triangulo)
{
string t = "";
if (triangulo.LadoA == triangulo.LadoB && triangulo.LadoB == triangulo.LadoC)
{
t= "O triângulo é equilatero";
}
else if ((triangulo.LadoA == triangulo.LadoB && triangulo.LadoB != triangulo.LadoC) || (triangulo.LadoA == triangulo.LadoC && triangulo.LadoB != triangulo.LadoC) || (triangulo.LadoB == triangulo.LadoC && triangulo.LadoC != triangulo.LadoA))
{
t = "O triângulo é isósceles";
}
else if (triangulo.LadoA != triangulo.LadoB && triangulo.LadoB != triangulo.LadoC)
{
t= "O triângulo é escaleno";
}
return t;
}
public string IMC (Pessoa pessoa)
{
string ps = "";
double calcImc = pessoa.Peso / Math.Pow(pessoa.Altura, 2);
if (calcImc >= 18.5 && calcImc <= 24.9)
{
ps = $"{pessoa.Nome}, você está normal";
}
else if (calcImc < 18.5)
{
ps = $"{pessoa.Nome}, você está abaixo do peso";
}
else if (calcImc >= 25 && calcImc <= 29.9)
{
ps = $"{pessoa.Nome}, você está abaixo em sobrepeso";
}
return ps;
}
}
```
## Exercício 2
```csharp=
class MainClass {
public static void Main (string[] args) {
PecaDomino pcd = new PecaDomino();
pcd.LadoA = 5;
pcd.LadoB = 3;
PecaDomino pcd2 = new PecaDomino();
pcd2.LadoA = 2;
pcd2.LadoB = 3;
Recuperacao rec = new Recuperacao ();
rec.Email = "vitorio.trindade@gmail.com";
rec.Telefone = "(11)94367-1261";
Semaforo sef = new Semaforo();
sef.LuzAmarelaAcesa = false;
sef.LuzVerdeAcesa = true;
sef.LuzVermelhaAcesa = false;
TreinoFocadoB tfb = new TreinoFocadoB ();
bool tfe1 = tfb.CorPrimaria("Verde");
string tfe2 = tfb.CombinacaoCorPrimaria("amarelo", "vermelho" );
string tfe3 = tfb.PrimeiroNome("Vitório Trindade Santana");
bool tfe4 = tfb.JogadaValida(pcd, pcd2);
string tfe5 = tfb.RecuperacaoSenha(rec);
string tfe6 = tfb.ProximoSinal (sef);
Console.WriteLine("A cor é primária? "+ tfe1);
Console.WriteLine(tfe2);
Console.WriteLine(tfe3);
Console.WriteLine("A jogada é válida? " + tfe4);
Console.WriteLine(tfe5);
Console.WriteLine(tfe6);
//A cor é primária? False
//A cor produzida na combinação é laranja.
//Vitório
//A jogada é válida? True
//Você receberá um e-mail do gmail.com para resetar a senha. Um código também foi enviado para o número com final 1261
//O próximo sinal é amarelo.
}
}
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 a = true;
if (cor == "Azul" || cor == "Vermelho" || cor == "Amarelo")
{
a = true;
}
else
{
a = false;
}
return a;
}
public string CombinacaoCorPrimaria (string cor1, string cor2)
{
string a = "";
if ((cor1 == "vermelho" && cor2 == "amarelo") || (cor1 == "amarelo" && cor2 == "vermelho"))
{
a = "A cor produzida na combinação é laranja.";
}
else if ((cor1 == "azul" && cor2 == "amarelo") || (cor1 == "amarelo" && cor2 == "azul"))
{
a = "A cor produzida na combinação é verde.";
}
else if ((cor1 == "azul" && cor2 == "vermelho") || cor1 == "vermelho" && cor2 == "azul")
{
a = "A cor produzida na combinação é roxo.";
}
return a;
}
public string PrimeiroNome (string nome)
{
string nomeps = nome;
if (nomeps.Contains(" "))
{
nomeps = nome.Substring(0, nome.IndexOf(" "));
}
else
{
nomeps = nome.Substring(0);
}
return nomeps;
}
//o que é dobre?????
//public bool DobreDomino (PecaDomino peca)
public bool JogadaValida (PecaDomino peca1, PecaDomino peca2)
{
bool a = true;
if ((peca1.LadoA == peca2.LadoA) || (peca1.LadoB == peca2.LadoB)|| (peca1.LadoA == peca2.LadoB) || (peca1.LadoB == peca2.LadoA))
{
a = true;
}
else
{
a = false;
}
return a;
}
public string RecuperacaoSenha (Recuperacao rec)
{
int pot = rec.Telefone.IndexOf("-");
int poe = rec.Email.IndexOf("@");
string msg = $"Você receberá um e-mail do {rec.Email.Substring(poe + 1)} para resetar a senha. Um código também foi enviado para o número com final {rec.Telefone.Substring(pot + 1)}";
return msg;
//eu tentei tirar o ".com" da mensagem porém não resultou em êxito a minha tentativa.
}
public String ProximoSinal (Semaforo semaforo)
{
string prox = "";
if (semaforo.LuzVermelhaAcesa == true)
{
prox = "O próximo sinal é verde.";
}
else if (semaforo.LuzVerdeAcesa == true)
{
prox = "O próximo sinal é amarelo.";
}
else if (semaforo.LuzAmarelaAcesa == true)
{
prox = "O próximo sinal é vermelho.";
}
return prox;
}
}
```
## Exercício 3
```csharp=
using System;
class MainClass {
public static void Main (string[] args) {
Pessoa ps = new Pessoa ();
ps.Nome = "Vitório Trindade";
ps.Nascimento = new DateTime(2004, 12, 26);
ps.Cidade = "Brumado";
TreinoFocadoC tfc = new TreinoFocadoC();
DateTime q1 = new DateTime(2021, 6, 11);
DateTime q2 = DateTime.Now;
DateTime q3 = new DateTime(2004, 12, 26);
int tfe1 = tfc.Trimestre(q1);
string tfe2 = tfc.Mes(6);
string tfe3 = tfc.PeriodoDia(q2);
double tfe4 = tfc.DiasVida (q3);
string tfe5 = tfc.QualSigno(q3);
string tfe6 = tfc.DataPorExtenso(ps);
Console.WriteLine("O trimestre é o: " + tfe1 + "°");
Console.WriteLine("O mês é: " + tfe2);
Console.WriteLine("O perído do dia é: " + tfe3);
Console.WriteLine("O seu total dias de vida é: " + tfe4);
Console.WriteLine("O signo é: " + tfe5);
Console.WriteLine(tfe6);
//O trimestre é o: 2°
//O mês é: Junho
//O perído do dia é: tarde
//O seu total dias de vida é: 6011
//O signo é: capricórnio.
//Vitório Trindade você nasceu em Brumado, há 6011 dias, em uma madrugada do dia 26 de Dezembro (4° trimestre) de 2004. Seu signo é capricórnio.
}
}
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.Day >= 1 && data.Month >= 1) && (data.Day <= 31 && data.Month <= 3))
{
a = 1;
}
else if ((data.Day >= 1 && data.Month >= 4) && (data.Day <= 31 && data.Month <= 6))
{
a = 2;
}
else if ((data.Day >= 1 && data.Month >= 7) && (data.Day <= 31 && data.Month <= 9))
{
a = 3;
}
else if ((data.Day >= 1 && data.Month >= 10) && (data.Day <= 31 && data.Month <= 12))
{
a = 4;
}
return a;
}
public string Mes (int mes)
{
string ms = "";
if (mes == 1)
{
ms = "Janeiro";
}
else if (mes == 2)
{
ms = "Fevereiro";
}
else if (mes == 3)
{
ms = "Março";
}
else if (mes == 4)
{
ms = "Abril";
}
else if (mes == 5)
{
ms = "Maio";
}
else if (mes == 6)
{
ms = "Junho";
}
else if (mes == 7)
{
ms = "Julho";
}
else if (mes == 8)
{
ms = "Agosto";
}
else if (mes == 9)
{
ms = "Setembro";
}
else if (mes == 10)
{
ms = "Outono";
}
else if (mes == 11)
{
ms = "Novembro";
}
else if (mes == 12)
{
ms = "Dezembro";
}
return ms;
}
public string PeriodoDia (DateTime data)
{
string a = "";
if (data.Hour >= 0 && data.Hour <= 6)
{
a = "madrugada";
}
else if (data.Hour >= 6 && data.Hour < 12)
{
a = "dia";
}
else if (data.Hour >= 12 && data.Hour < 19)
{
a = "tarde";
}
else if (data.Hour >= 19 && data.Hour <= 24)
{
a = "noite";
}
return a;
}
public double DiasVida (DateTime nascimento)
{
DateTime a = DateTime.Now;
TimeSpan dif = a - nascimento;
double total = dif.Days;
return total;
}
public string QualSigno (DateTime nascimento)
{
string sig = "";
if ((nascimento.Day >= 21 && nascimento.Month == 3) || (nascimento.Day <= 20 && nascimento.Month == 4))
{
sig = "áries.";
}
else if ((nascimento.Day >= 21 && nascimento.Month == 4) || (nascimento.Day <= 20 && nascimento.Month == 5))
{
sig = "touro.";
}
else if ((nascimento.Day >= 21 && nascimento.Month == 5) || (nascimento.Day <= 20 && nascimento.Month == 6))
{
sig = "gêmeos.";
}
else if ((nascimento.Day >= 21 && nascimento.Month == 6) || (nascimento.Day <= 21 && nascimento.Month == 7))
{
sig = "câncer.";
}
else if ((nascimento.Day >= 22 && nascimento.Month == 7) || (nascimento.Day <= 22 && nascimento.Month == 8))
{
sig = "leão.";
}
else if ((nascimento.Day >= 23 && nascimento.Month == 8) || (nascimento.Day <= 22 && nascimento.Month == 9))
{
sig = "virgem.";
}
else if ((nascimento.Day >= 23 && nascimento.Month == 9) || (nascimento.Day <= 22 && nascimento.Month == 10))
{
sig = "libra.";
}
else if ((nascimento.Day >= 23 && nascimento.Month == 10) || (nascimento.Day <= 21 && nascimento.Month == 11))
{
sig = "escorpião.";
}
else if ((nascimento.Day >= 22 && nascimento.Month == 11) || (nascimento.Day <= 21 && nascimento.Month == 12))
{
sig = "sagitário.";
}
else if ((nascimento.Day >= 22 && nascimento.Month == 12) || (nascimento.Day <= 20 && nascimento.Month == 1))
{
sig = "capricórnio.";
}
else if ((nascimento.Day >= 21 && nascimento.Month == 1) || (nascimento.Day <= 19 && nascimento.Month == 2))
{
sig = "aquário.";
}
else if ((nascimento.Day >= 20 && nascimento.Month == 2) || (nascimento.Day <= 20 && nascimento.Month == 3))
{
sig = "peixes.";
}
return sig;
}
public string DataPorExtenso (Pessoa pessoa)
{
string msg = $"{pessoa.Nome} você nasceu em {pessoa.Cidade}, 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 é {QualSigno (pessoa.Nascimento)}";
return msg;
}
}
```
{"metaMigratedAt":"2023-06-16T01:54:44.980Z","metaMigratedFrom":"Content","title":"Session Five: Focused Training Conditions | Fundamentos da Lógica","breaks":true,"contributors":"[{\"id\":\"052c8e10-b233-429a-a1e0-0d8df7864830\",\"add\":18235,\"del\":3255}]"}