# Session Three
Autor: Mateus Eustáquio Nº 35 INFO A
[toc]
## Questão 1 -
```csharp=
using System;
public class Forma {
public double altura { get;set;}
public double basee {get;set;}
}
public class Trigonometria
{
public double AreaRetangulo(Forma ret)
{
return ret.altura * ret.basee;
}
public double PerimetroRetangulo(Forma re1)
{
return re1.basee + re1.basee + re1.altura + re1.altura;
}
public bool RetangulosIguais(Forma ret, Forma ret2)
{
return AreaRetangulo(ret) == AreaRetangulo(ret2);
}
}
Trigonometria bom = new Trigonometria();
Forma Retangulo = new Forma();
Retangulo.altura = 15;
Retangulo.basee = 10;
double s = bom.AreaRetangulo(Retangulo);
Console.WriteLine("a área do retângulo é " + s);
Forma x1 = new Forma();
x1.altura = 15;
x1.basee = 25;
Forma x2 = new Forma();
x2.altura = 25;
x2.basee = 15;
bool ss = bom.RetangulosIguais(x1, x2);
Console.WriteLine("Os Retangulos são iguais ? " + ss);
Forma x = new Forma();
x.altura = 30;
x.basee = 10;
double f = bom.PerimetroRetangulo(x);
Console.WriteLine(" O perimetro do Retangulo é " + f);
```
## Questão 2 -
```csharp=
using System;
public class Forma {
public double altura { get;set;}
public double basee {get;set;}
}
public class Trigonometria
{
public double AreaRetangulo(Forma ret)
{
return ret.altura * ret.basee;
}
public double AreaTriangulo(Forma tri)
{
return (tri.basee * tri.altura) / 2;
}
public double AreaParalelogramo(Forma par)
{
return (par.basee * par.altura);
}
}
Trigonometria bom = new Trigonometria();
Forma Retangulo = new Forma();
Retangulo.altura = 15;
Retangulo.basee = 10;
double s = bom.AreaRetangulo(Retangulo);
Console.WriteLine("a área do retângulo é " + s);
Forma Triangulo = new Forma();
Triangulo.altura = 5;
Triangulo.basee = 7;
double g = bom.AreaTriangulo(Triangulo);
Console.WriteLine("a área do triângulo é " + g);
Forma Paralelogramo = new Forma();
Paralelogramo.altura = 9;
Paralelogramo.basee = 15;
double f = bom.AreaParalelogramo(Paralelogramo);
Console.WriteLine("a área do Paralologramo é " + f);
```
## Questão 3 -
```csharp=
using System;
public class Pessoa
{
public String Nome {get; set;}
public DateTime Niver {get; set;}
}
public class Calendario
{
public DateTime PrimeiroDia(DateTime dia)
{
int x = dia.Day;
DateTime f = dia.AddDays(-x);
return f.AddDays(1);
}
public DateTime UltimoDia(DateTime dia)
{
int d = dia.Day;
DateTime Mes = dia.AddMonths(1);
DateTime Dia = dia.AddDays(-d);
DateTime final = dia.AddMonths(1).AddDays(-dia.Day);
return final;
}
public bool Possui31Dias(DateTime dia)
{
int d = dia.Day;
DateTime Mes = dia.AddMonths(1);
DateTime Dia = dia.AddDays(-d);
DateTime final = dia.AddMonths(1).AddDays(-dia.Day);
return final.Day == 31;
}
public bool SouDeLibra(Pessoa x1)
{
bool alt1 = x1.Niver.Month == 9 && x1.Niver.Day > 22;
bool alt2 = x1.Niver.Month == 10 && x1.Niver.Day > 23;
bool x = alt1 == true || alt2 == true;
return x;
}
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 apenas " + h + " semanas para chegar seu aniversário!";
return k;
}
}
Calendario x = new Calendario();
Pessoa d = new Pessoa();
d.Nome = "Lucia Xavier";
d.Niver = new DateTime(2020, 08, 02);
bool f = x.SouDeLibra(d);
Console.WriteLine(d.Nome + " você é de Libras? " + f);
DateTime dia = new DateTime(2021, 08, 13);
DateTime fd = x.PrimeiroDia(dia);
Console.WriteLine("O Primeiro dia Desse Mês é " + fd);
DateTime g = x.UltimoDia(dia);
Console.WriteLine("O Ultimo dia do Mês é " + g);
bool k = x.Possui31Dias(dia);
Console.WriteLine("Esse Mês possui 31 dias ? " + k);
bool ko = x.SextaFeira13(dia);
Console.WriteLine("cai em uma sexta-feira 13 ? " + ko);
string t = x.SemanasParaNiver(d);
Console.WriteLine(t);
```
## Questão 4 -
```csharp=
using System;
public class RegistroBRValidator {
public bool ValidarCadastro(string email, string senha)
{
bool x = email.Contains("!") || email.Contains("@") || email.Contains("#") || email.Contains("%");
bool y = email.Length >= 8;
bool f = email.Contains("a") || email.Contains("e") || email.Contains("i") || email.Contains("o") || email.Contains("u");
bool v5 = email.Contains("@")
&&
email.Substring(0, email.IndexOf("@")).Length > 2
&&
email.Substring(email.IndexOf("@")).Length > 2;
return x && y && f && v5;
}
public bool ValidarDominio(string dominio)
{
bool x1 = dominio.EndsWith(".com.br");
bool x2 = 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 x3 = dominio.Substring(0, dominio.IndexOf(".com.br")).Length >= 5;
return x1 && x2 && x3;
}
}
RegistroBRValidator registroBR = new RegistroBRValidator();
bool x = registroBR.ValidarCadastro("joaopedrop2@gmail.com", "1234");
Console.WriteLine("Cadastro ok? " + x);
```
## Questão 5
```csharp=
using System;
public class Retangulo
{
public double Altura {get;set;}
public double Basee {get;set;}
}
public class Cilindro
{
public double Raio {get;set;}
public double Altura {get;set;}
}
public class Trigonometria
{
public double AreaRetangulo(double altura, double basee)
{
return altura * basee;
}
public double VolumeCilindro(double raio, double altura)
{
return 3.14 * Math.Pow(raio,2) * altura;
}
public bool AreaIguais(Retangulo ret1, Retangulo ret2)
{
bool x = AreaRetangulo(ret1.Altura, ret1.Basee) == AreaRetangulo(ret2.Altura, ret2.Basee);
return x;
}
public bool TransferenciaPossivel(Cilindro ci1, Cilindro ci2)
{
return VolumeCilindro(ci1.Raio, ci1.Altura) <= VolumeCilindro(ci2.Raio, ci2.Altura);
}
}
Trigonometria teste = new Trigonometria();
double x = teste.AreaRetangulo(20, 10);
Console.WriteLine("A área do retângulo é " + x);
Retangulo x1 = new Retangulo();
x1.Altura = 20;
x1.Basee = 10;
Retangulo x2 = new Retangulo();
x2.Altura = 15;
x1.Basee = 2;
bool xx = teste.AreaIguais(x1, x2);
Console.WriteLine("Os dois retângulos são Iguais ? " + xx);
double y = teste.VolumeCilindro(15, 30);
Console.WriteLine("O volume do Cilindro é " + y);
Cilindro y1 = new Cilindro();
y1.Raio = 10.7;
y1.Altura = 8.9;
Cilindro y2 = new Cilindro();
y2.Raio = 10.7;
y2.Altura = 8.9;
bool yy = teste.TransferenciaPossivel(y1, y2);
Console.WriteLine("é possível transferir o conteúdo do primeiro cilindro ao segundo ? " + yy);
```
## Questão 6
```csharp=
using System;
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 masc, Compra Femin, Compra Inf)
{
double xc = TotalMasculino(masc) + TotalFeminino(Femin) + TotalInfantil(Inf);
return xc;
}
private double TotalMasculino(Compra masc)
{
double x = 30;
double total = (masc.QtdBlusa * x) + (masc.QtdCalca * x) + (masc.QtdCamiseta * x);
return total;
}
private double TotalFeminino(Compra Femin)
{
double x = 40;
double finla = (Femin.QtdBlusa * x) + (Femin.QtdCalca * x) + (Femin.QtdCamiseta * x);
return finla;
}
private double TotalInfantil(Compra Inf)
{
double d = 25;
return (Inf.QtdBlusa * d) + (Inf.QtdCalca * d) + (Inf.QtdCamiseta * d);
}
public double TotalCalcados(int qtdCalcadoMasculino, int qtdCalcadoFeminino, int qtdCalcadoInfantil)
{
double f = 35;
double ff = (qtdCalcadoMasculino * f) + (qtdCalcadoFeminino * f) + (qtdCalcadoInfantil * f);
return ff;
}
}
Brecho x = new Brecho();
Compra masculino = new Compra();
masculino.QtdBlusa = 2;
masculino.QtdCalca = 0;
masculino.QtdCamiseta = 1;
Compra Feminino = new Compra();
Compra In = new Compra();
double h = x.CalcularTotal(masculino, Feminino, In);
Console.WriteLine("O total da conta é R$ " + h);
double hj = x.TotalCalcados(4, 2, 3);
Console.WriteLine("O total final de calçados é R$ " + hj);
```
## Questão 7
```csharp=
using System;
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);
}
}
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);
```