# 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 ``````