# Session Three | Fundamentos da Lógica
Cauê Freitas Barreto 05
InfoB
[toc]
### Respostas Aluno Disciplina
#### Primeira Questão
## Exercicio 1
>Area Retangulo + Perimetro Retangulo + Retangulos Iguais
```csharp=
using System;
public class Trigonometria
{
private double AreaRetangulo(double basee, double altura)
{
double area = basee * altura;
return area;
}
public double AreaPerimetro(double basee, double altura)
{
double per = basee + basee + altura + altura;
return per;
}
public bool RetangulosIguais(double base1, double altura1, double base2, double altura2)
{
double area1 = AreaRetangulo(base1, altura1);
double area2 = AreaRetangulo(base2, altura2);
bool iguais = area1 == area2;
return iguais;
}
}
//
Trigonometria trig = new Trigonometria();
//double x = trig.AreaRetangulo(10, 4);
//Console.WriteLine("Area retangulo:" = x);
double y = trig.AreaPerimetro(20, 5);
Console.WriteLine("Perimetro retangulo: " + y);
bool z = trig.RetangulosIguais(10, 4, 5, 8);
Console.WriteLine("Retangulos iguais: " + z);
```
## Exercicio 2
>Forma, Area Retangulo, AreaTriangulo, Area Paralelogramo
```csharp=
using System;
public class Forma
{
public double basee {get; set;}
public double altura {get; set;}
}
public class Trigonometria
{
public double AreRretangulo( Forma retangulo)
{
double area = retangulo.basee * retangulo.altura;
return area;
}
public double AreaTriangulo( Forma triangulo)
{
double area = (triangulo.basee * triangulo.altura) /2;
return area;
}
public double AreaParalelogramo( Forma paralelogramo)
{
double area = paralelogramo.basee * paralelogramo.altura;
return area;
}
}
Trigonometria trig = new Trigonometria();
Forma Ret = new Forma();
Ret.basee = 10;
Ret.altura = 4;
Forma Trig = new Forma();
Trig.basee = 8;
Trig.altura = 4;
Forma Par = new Forma();
Par.basee = 8;
Par.altura = 2;
Double a = trig.AreRretangulo(Ret);
Console.WriteLine("Area Retangulo:" + a);
Double t = trig.AreaTriangulo(Trig);
Console.WriteLine("Area Triangulo:" + t);
double p = trig.AreaParalelogramo(Par);
Console.WriteLine("Area Paralelogramo:" + p);
```
## Exercicio 3
> Pessoa, Primeiro Dia, Ultimo Dia, Possui 31 Dias, SextaFeira 13, Semanas Para Niver, Sou De Libra
```csharp=
using System;
public class Pessoa
{
public string Nome { get; set; }
public DateTime Niver { get; set; }
}
public class Calendario
{
public DateTime PrimeiroDia (DateTime data)
{
return data.AddDays(1 - data.Day);
}
public DateTime UltimoDia (DateTime data)
{
return data.AddMonths(1).AddDays(- data.Day);
}
public bool Possui31Dias (DateTime data)
{
return UltimoDia(data).Day == 31;
}
public bool SextaFeira13 (DateTime data)
{
return data.DayOfWeek == DayOfWeek.Friday && data.Day == 13;
}
public string SemanasParaNiver (Pessoa pessoa)
{
DateTime o = DateTime.Now;
DateTime s = new DateTime(o.Year, pessoa.Niver.Month, pessoa.Niver.Day);
TimeSpan a = s - o;
double f = a.TotalDays/7;
double h = Math.Round(f);
string k = pessoa.Nome + ", faltam " + h + " semanas para seu niver!";
return k;
}
public bool SouDeLibra (Pessoa pessoa)
{
DateTime u = new DateTime(pessoa.Niver.Year,09,23);
DateTime k = new DateTime(pessoa.Niver.Year,10,22);
return pessoa.Niver >= u
&&
pessoa.Niver <= k;
}
}
Pessoa k = new Pessoa ();
k.Nome = "Laura Oliveira Rocha";
k.Niver = new DateTime(2004,09,29);
Calendario c = new Calendario ();
DateTime a = c.PrimeiroDia(k.Niver);
DateTime b = c.UltimoDia(k.Niver);
bool d = c.Possui31Dias(k.Niver);
bool e = c.SextaFeira13(k.Niver);
string f = c.SemanasParaNiver(k);
bool g = c.SouDeLibra(k);
Console.WriteLine("Primeiro dia do mês: " + a);
Console.WriteLine("Último dia do mês: " + b);
Console.WriteLine("O mês possui 31 dias?: " + d);
Console.WriteLine("A data cai em ua sexta-feira 13?: " + e);
Console.WriteLine(f);
Console.WriteLine("Sou de Libra?: " + g);
```
## Exercicio 4
> Validar Cadastro, ValidarDominio
```sql=
public class RegistroBRValidator
{
public bool ValidarCadastro (string email, string senha)
{
bool v1 = email.Length >= 8;
bool v2 = email.Contains("!") || email.Contains("@") || email.Contains("#") || email.Contains("%");
bool v3 = email.Contains("a") || email.Contains("e") || email.Contains("i") || email.Contains("o") || email.Contains("u");
bool v4 = email.Contains("@");
bool v5 = email.Contains("@")
&&
email.Substring(0, email.IndexOf("@")).Length > 2
&&
email.Substring(email.IndexOf("@")).Length > 2;
return v1 && v2 && v3 && v4 && v5;
}
public bool ValidarDominio (string dominio)
{
bool v1 = dominio.EndsWith(".com.br");
bool v2 = dominio[0] != '1' && dominio[0] != '2' && dominio[0] != '3' &&
dominio[0] != '4' && dominio[0] != '5' && dominio[0] != '6' &&
dominio[0] != '7' && dominio[0] != '8' && dominio[0] != '9' &&
dominio[0] != '0';
bool v3 = dominio.Substring(0, dominio.IndexOf(".com.br")).Length >= 5;
return v1 && v2 && v3;
}
}
RegistroBRValidator registroBR = new RegistroBRValidator();
bool x = registroBR.ValidarCadastro("brunogmail.com", "1234");
Console.WriteLine("Cadastro ok? " + x);
```
## Exercicio 5
>Areas Iguais, Area Retangulo, Transferencia Possivel, Volume Cilindro
```csharp=
using System;
public class Retangulo
{
public double alt { get; set; }
public double bas { get; set; }
}
public class Cilindro
{
public double raio { get; set; }
public double alt { get; set; }
}
public class Trigonometria
{
public bool AreasIguais(Retangulo ret1, Retangulo ret2)
{
double area1 = AreaRetangulo(ret1);
double area2 = AreaRetangulo(ret2);
return area1 == area2;
}
public double AreaRetangulo(Retangulo ret)
{
return ret.bas * ret.alt;
}
public bool TransferenciaPossivel(Cilindro ci1, Cilindro ci2)
{
double cilindro1 = VolumeCilindro(ci1);
double cilindro2 = VolumeCilindro(ci2);
return cilindro1 == cilindro2;
}
public double VolumeCilindro(Cilindro cil)
{
return Math.Pow(cil.raio, 2) * cil.alt;
}
}
Retangulo ret = new Retangulo();
ret.bas = 5;
ret.alt = 2;
Retangulo ret2 = new Retangulo();
ret2.bas = 5;
ret2.alt = 2;
Cilindro cil = new Cilindro();
cil.raio = 10;
cil.alt = 20;
Cilindro cil2 = new Cilindro();
cil2.raio = 10;
cil2.alt = 20;
Trigonometria tri = new Trigonometria();
bool a = tri.AreasIguais(ret, ret2);
Console.WriteLine("Areas iguais: " + a);
double b = tri.AreaRetangulo(ret);
Console.WriteLine("A Area do Retangulo é: " + b);
bool c = tri.TransferenciaPossivel(cil, cil2);
Console.WriteLine("A Transferencia é possível: " + c);
double d = tri.VolumeCilindro(cil);
Console.WriteLine("O Volume do Cilindro é: " + d);
```
## Exercicio 6
>Qtd Calca, Qtd Camiseta, Qtd Blusa, Qtd Calcados, Calcular Total, feminino, infantil, qtd Calcado Feminino, qtd Calcado Infantil
```csharp=
public class Compra
{
public int qtdCalca { get; set;}
public int qtdCamiseta { get; set;}
public int qtdBlusa { get; set;}
public int qtdCalcados { get; set;}
}
public class Brecho
{
public double CalcularTotal(Compra masculino, Compra feminino, Compra infantil)
{
return TotalMasculino(masculino) + TotalInfantil(infantil) + TotalFeminino(feminino) + TotalCalcados(feminino.qtdCalcados, masculino.qtdCalcados, infantil.qtdCalcados);
}
private double TotalMasculino (Compra pecaMasculina)
{
return (pecaMasculina.qtdBlusa * 30) + (pecaMasculina.qtdCamiseta * 30) + (pecaMasculina.qtdCalca);
}
private double TotalFeminino (Compra pecaFeminino)
{
return (pecaFeminino.qtdBlusa * 40) + (pecaFeminino.qtdCamiseta * 40) + (pecaFeminino.qtdCalca * 40);
}
private double TotalInfantil (Compra pecaInfantil)
{
return (pecaInfantil.qtdBlusa * 20 ) + (pecaInfantil.qtdCalca * 20) + (pecaInfantil.qtdCamiseta * 20);
}
private double TotalCalcados (int qtdCalcadoFeminino, int qtdCalcadoMasculino, int qtdCalcadoInfantil)
{
return ((qtdCalcadoFeminino * 35) + (qtdCalcadoInfantil * 35) + (qtdCalcadoMasculino * 35));
}
}
Compra compraMasculina = new Compra ();
compraMasculina.qtdBlusa = 3;
compraMasculina.qtdCalca = 2;
compraMasculina.qtdCalcados = 3;
compraMasculina.qtdCamiseta = 5;
Compra compraFeminina = new Compra ();
compraFeminina.qtdBlusa = 1;
compraFeminina.qtdCalca = 4;
compraFeminina.qtdCalcados = 6;
compraFeminina.qtdCamiseta = 3;
Compra compraInfantil = new Compra ();
compraInfantil.qtdBlusa = 3;
compraInfantil.qtdCalca = 2;
compraInfantil.qtdCalcados = 3;
compraInfantil.qtdCamiseta = 5;
Brecho compra = new Brecho();
double totalFinal = compra.CalcularTotal(compraFeminina, compraMasculina, compraInfantil);
Console.WriteLine("O total da sua comprar foi: R$ " + totalFinal);
```
## Exercicio 7
Calcular Compra, Valor Desconto, valor Compra, Valor Garantia, valor Compra, Valor Frete, Valor Juros
>
```csharp=
using System;
class MainClass {
public static void Main (string[] args) {
Console.WriteLine ("Exercício 7 | Abstração de Funções");
Pedido p = new Pedido();
p.Valor = 1000;
p.AnosGarantia = 2;
p.DistanciaEntregaKm = 50;
p.Parcelas = 18;
double cupom = 10;
LojaMoveis loja = new LojaMoveis();
Nota n = loja.CalcularCompra(p, cupom);
Console.WriteLine("Valor final é: " + n.ValorFinal);
Console.WriteLine("Nota Fiscal é: " + n.NotaFiscal);
}
}
public class Pedido
{
public double Valor {get; set;}
public int AnosGarantia {get; set;}
public int DistanciaEntregaKm {get; set;}
public int Parcelas {get; set;}
}
public class Nota
{
public double ValorFinal { get; set; }
public string NotaFiscal { get; set; }
}
public class LojaMoveis
{
public Nota CalcularCompra (Pedido pedido, double cupom)
{
double desconto = ValorDesconto(pedido.Valor, cupom);
double garantia = ValorGarantia(pedido.Valor, pedido.AnosGarantia);
double frete = ValorFrete(pedido.DistanciaEntregaKm);
double valor = pedido.Valor - desconto + garantia + frete;
double valorFinal = ValorJuros(valor, pedido.Parcelas);
valorFinal = Math.Round(valorFinal, 2);
Nota notafiscal = new Nota();
notafiscal.ValorFinal = valorFinal;
notafiscal.NotaFiscal = "NF" + DateTime.Now.ToString("yyyyMMddHHmmss");
return notafiscal;
}
private double ValorDesconto(double valorCompra, double cupom)
{
return valorCompra * (cupom/100);
}
private double ValorGarantia(double valorCompra, int anos)
{
return valorCompra * (15.0 / 100.0) * anos;
}
private double ValorFrete(int distancia)
{
return distancia / 10 * 3;
}
private double ValorJuros(double valorCompra, int parcelas)
{
return valorCompra * Math.Pow(1 + 0.03, parcelas);
}
}
```
{"metaMigratedAt":"2023-06-16T00:27:32.648Z","metaMigratedFrom":"Content","title":"Session Three | Fundamentos da Lógica","breaks":true,"contributors":"[{\"id\":\"4197b53a-4db5-46d1-a826-1e82b9d77550\",\"add\":11101,\"del\":0}]"}