# Session One: Recomeçar
Autor: Mateus Eustáquio
[toc]
## Ex 1
Crie uma função que implemente a lógica para
calcular a média de 4 notas de um aluno.
`````csharp=
public class Notasaluno
{
public double nota1;
public double nota2;
public double nota3;
public double nota4;
}
Notasaluno Media = new Notasaluno();
Media.nota1 = 5;
Media.nota2 = 5;
Media.nota3 = 6;
Media.nota4 = 7;
public double CalcularMedia (Notasaluno aluno)
{
double x = (aluno.nota1 + aluno.nota2 + aluno.nota3 + aluno.nota4) / 4;
return x;
}
double MediaFinal = CalcularMedia (Media);
MediaFinal
// 5.75
``````
## Ex 2
Crie uma função que implemente a lógica para
calcular a área do Retângulo.
`````csharp=
public class Retangulo
{
public int basee ;
public int altura;
}
Retangulo ret = new Retangulo ();
ret.basee = 4;
ret.altura = 5;
public int AreaRetangulo (Retangulo Lados)
{
int x = Lados.basee * Lados.altura;
return x;
}
int ValorArea = AreaRetangulo (ret);
ValorArea
//20
``````
## Ex 3
Crie uma função que a partir da base e altura de dois
triângulos diferentes, crie uma função que verifique se o
Triângulo-1 possui a área igual ao Triângulo-2, retorne
verdadeiro se forem iguais e falso se forem diferentes.
`````csharp=
public class Triangulo
{
public double basee;
public double altura;
}
Triangulo Triangulo1 = new Triangulo ();
Triangulo1.basee = 5;
Triangulo1.altura = 4;
Triangulo Triangulo2 = new Triangulo();
Triangulo2.basee = 2;
Triangulo2.altura = 10;
public bool Areaiguais ( Triangulo Tri1, Triangulo Tri2)
{
double x = (Tri1.basee * Tri1.altura) / 2;
double z = (Tri2.basee * Tri2.altura) / 2;
bool igual = x == z;
return igual;
}
bool V = Areaiguais(Triangulo1, Triangulo2);
V
//True
``````
## Ex 4
Crie uma função que a partir da quantidade de açaí
pequenos, médios e grandes comprados por um cliente,
calcule o total a pagar sabendo que os valores do açaí são
R$ 10,00, R$ 12,00 e R$ 14,00 respectivamente e não
sofrerão alteração de preço.
`````csharp=
public class PedidoAcai
{
public int qtdPequeno;
public int qtdMedio;
public int qtdGrande;
}
PedidoAcai Quantidade = new PedidoAcai();
Quantidade.qtdPequeno = 3;
Quantidade.qtdMedio = 1;
Quantidade.qtdGrande = 2;
public double VendaAcai (PedidoAcai Pedido)
{
double x = (Pedido.qtdPequeno * 10) + (Pedido.qtdMedio * 12) + (Pedido.qtdGrande * 14);
return x;
}
double ValorTotal = VendaAcai (Quantidade);
ValorTotal
//70
``````
## Ex 5
Crie uma função que a partir do preço de um veículo e o
total de parcelas que será financiado, calcule o valor final
pago considerando uma taxa de 5% por mês.
````csharp=
public class CompraVeiculo
{
public double preco;
public int parcelas;
}
CompraVeiculo Valor = new CompraVeiculo ();
Valor.preco = 40000;
Valor.parcelas = 10;
public double CalcularCompraVeiculo (CompraVeiculo Compra)
{
double x = Compra.preco + (Compra.preco * Compra.parcelas * 0.05);
return x;
}
double ValorTotal = CalcularCompraVeiculo (Valor);
ValorTotal
// 60000
``````
## Ex 6
Crie uma função que a partir do nome de uma pessoa e
um CEP, verifique se o CEP contém o caractere hífen (-) e
possui um total de 9 caracteres.
Se o CEP for válido, retorne:
“XXX, o resultado da validação de seu CEP é: true”
ou
“XXX, o resultado da validação de seu CEP é: false”.
````csharp=
public class Endereco
{
public string nomePessoa;
public string Cep;
}
Endereco Valor = new Endereco ();
Valor.nomePessoa = "Mateus Eustáquio";
Valor.Cep = "04840-6600";
public bool ValidarCEP (Endereco end)
{
bool quantidade = end.Cep.Length == 9;
bool TemHifen = end.Cep.Contains("-");
bool valido = quantidade == true && TemHifen == true;
return valido;
}
bool x = ValidarCEP (Valor);
x
//False
``````
## Ex 7
Crie uma função composta que a partir de três nomes
completos, retorne verdadeiro/falso se as pessoas são da
mesma família, comparando o último nome das três
pessoas
````csharp=
public class Pessoa
{
public string nomeCompleto;
}
public string ExtrairSobrenome (string nome)
{
int posicaoUltimoEspaco = nome.LastIndexOf(" ");
string sobrenome = nome.Substring(posicaoUltimoEspaco);
return sobrenome;
}
public bool MesmaFamilia (Pessoa p1, Pessoa p2, Pessoa p3)
{
bool iguais = ExtrairSobrenome (p1.nomeCompleto) == ExtrairSobrenome (p2.nomeCompleto)
&&
ExtrairSobrenome (p1.nomeCompleto) == ExtrairSobrenome (p3.nomeCompleto);
return iguais;
}
Pessoa p1 = new Pessoa();
p1.nomeCompleto = "Maria Eustáquio";
Pessoa p2 = new Pessoa ();
p2.nomeCompleto = "Mariana Eustáquio";
Pessoa p3 = new Pessoa ();
p3.nomeCompleto = "Mateus Eustáquio";
bool x = MesmaFamilia (p1, p2, p3);
x
//true
``````
## Ex 8
Crie uma função composta que a partir dos valores
'a', 'b' e 'c', calcule o valor de xi e xii baseado na
equação de segundo grau.
`````csharp=
public class Equacao
{
public int a;
public int b;
public int c;
}
public class Resultado
{
public double x1;
public double x2;
}
public double Delta(Equacao eq)
{
double d = Math.Pow( eq.b,2) - 4 * eq.a* eq.c;
return d;
}
public Resultado EquacaoSegundoGrau (Equacao eq)
{
double respX1 = (-eq.b + Math.Sqrt(Delta(eq))) / 2 * eq.a;
double respX2 = (-eq.b - Math.Sqrt(Delta(eq))) / 2 * eq.a;
Resultado res = new Resultado ();
res.x1 = respX1;
res.x2 = respX2;
return res;
}
Equacao valoresEq = new Equacao ();
valoresEq.a = 1;
valoresEq.b = -1;
valoresEq.c = -12;
Resultado r = EquacaoSegundoGrau (valoresEq);
Console.WriteLine("x1 é igual a: " + r.x1);
Console.WriteLine ("x2 é igual a: " + r.x2);
//x1 é igual a: 4
//x2 é igual a: -3
``````
## Ex 9
Crie uma função composta que implemente a lógica
da seguinte situação: Em uma festa temática de
Astrologia, só podem entrar pessoas que são de
libra e maiores de 18 anos. Você deve retornar se
um casal que irá a festa poderão entrar.
``````csharp=
public class Casal
{
public DateTime nascP1;
public DateTime nascP2;
}
Casal DataPessoa1 = new Casal ();
DataPessoa1.nascP1 = new DateTime (2000,09,23);
Casal DataPessoa2 = new Casal ();
DataPessoa2.nascP2 = new DateTime (2000,10,25);
public bool Maior18 (Casal Pessoa1, Casal Pessoa2)
{
DateTime hoje = DateTime.Now;
bool Libra1 = Pessoa1.nascP1 <= hoje.AddYears(-18);
bool Libra2 = Pessoa2.nascP2 <= hoje.AddYears(-18);
return Libra2;
}
public bool DataPessoa (Casal crushe1, Casal crushes2)
{
DateTime PrimeiroDiaLibra = new DateTime(2000,09,23);
DateTime UltimoDiaLibra = new DateTime(2000,10,22);
bool ComparaDataP1 = SignoLibraP1(crushe1.nascP1, PrimeiroDiaLibra, UltimoDiaLibra);
bool ComparaDataP2 = SignoLibraP2(crushes2.nascP2 , PrimeiroDiaLibra, UltimoDiaLibra);
bool SãoIguais = ComparaDataP1 == ComparaDataP2;
return SãoIguais;
}
public bool SignoLibraP1 (DateTime Pessoa1, DateTime PrimeiroDiaLibra, DateTime UltimoDiaLibra)
{
bool ComparaPessoa1 = Pessoa1 >= PrimeiroDiaLibra == true && Pessoa1 <= UltimoDiaLibra == true;
return ComparaPessoa1;
}
public bool SignoLibraP2 (DateTime Pessoa2, DateTime PrimeiroDiaLibra, DateTime UltimoDiaLibra)
{
bool ComparaPessoa2 = Pessoa2 >= PrimeiroDiaLibra == true && Pessoa2 <= UltimoDiaLibra == true;
return ComparaPessoa2;
}
bool x = DataPessoa (DataPessoa1, DataPessoa2);
x
//False
``````
## Ex 10
Crie uma função que implemente a lógica da seguinte
situação: Para ir e voltar do trabalho uma pessoa abastece
o carro semanalmente. A distância percorrida na ida e
volta são diferentes, já que ele percorre caminhos
diferentes para fugir do trânsito. No dia do rodízio, ele
ainda percorre outros caminhos de ida e volta para não
levar multa. Sabendo que a pessoa trabalha apenas de
segunda a sexta e que o carro será abastecido com
gasolina, calcule o total que será gasto no mês
considerando que um mês possui 4 semanas. Crie uma
função para calcular o total gasto a partir das
quilometragens de ida e volta, considerando o dia de
rodízio e o consumo por litro do veículo.
`````csharp=
public class Trajeto
{
public double distanciaIda;
public double distanciaVolta;
public double IdarRodizio;
public double VoltaRodizio;
public double consumo;
}
Trajeto Valor = new Trajeto ();
Valor.distanciaIda = 10;
Valor.distanciaVolta = 12;
Valor.IdarRodizio = 15;
Valor.VoltaRodizio = 16;
Valor.consumo = 10;
public double GastoMensalAbastecimento (Trajeto TrajetoNoMes)
{
double CalcularPerC = (TrajetoNoMes.distanciaIda + TrajetoNoMes.distanciaVolta) * 4;
double CalcularPerR = TrajetoNoMes.IdarRodizio + TrajetoNoMes.VoltaRodizio;
double TotalPerCPerR = CalcularPerC + CalcularPerR;
double litro = TotalPerCPerR / TrajetoNoMes.consumo;
double Total = litro * 3.8;
return Total;
}
double CalcularGasto = GastoMensalAbastecimento (Valor);
CalcularGasto
//45.22
``````