### INFO B - Caroline Campos Lima, 04 # F.L Session One: Recomeçar [toc] ## Exercício 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; } public double CalcularMedia(NotasAluno notas) { double media = (notas.nota1 + notas.nota2 + notas.nota3 + notas.nota4) / 4; return media; } NotasAluno n = new NotasAluno(); n.nota1 = 9; n.nota2 = 7; n.nota3 = 8; n.nota4 = 10; double a = CalcularMedia (n); Console.WriteLine("A média do aluno é: " + a); // A média do aluno é: 8.5 ``` ## Exercício 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; } public int AreaRetangulo(Retangulo ret) { int area = ret.basee * ret.altura; return area; } Retangulo r = new Retangulo(); r.basee = 7; r.altura = 5; double a = AreaRetangulo(r); Console.WriteLine("A área do retângulo é: " + a); // A área do retângulo é: 35 ``` ## Exercício 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; } public bool AreasIguais(Triangulo tri1, Triangulo tri2) { double a1 = (tri1.altura * tri1.basee) / 2; double a2 = (tri1.altura * tri1.basee) / 2; return a1 == a2; } Triangulo t1 = new Triangulo (); t1.altura = 5; t1.basee = 4; Triangulo t2 = new Triangulo (); t2.altura = 10; t2.basee = 2; bool a = AreasIguais(t1, t2); Console.WriteLine("As áreas dos triângulos 1 e 2 são iguais? " + a); // As áreas dos triângulos 1 e 2 são iguais? True ``` ## Exercício 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; } public double VendaAcai(PedidoAcai pedido) { double acaiP = pedido.qtdPequeno * 10.00; double acaiM = pedido.qtdMedio * 12.00; double acaiG = pedido.qtdGrande * 14.00; return acaiP + acaiM + acaiG; } PedidoAcai acai = new PedidoAcai (); acai.qtdPequeno = 2; acai.qtdMedio = 1; acai.qtdGrande = 1; double a = VendaAcai(acai); Console.WriteLine("Total a pagar: " + a); // Total a pagar: 46 ``` ## Exercício 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; } public double CalcularTotalVeiculo(CompraVeiculo compra) { double taxa = 5; double juros = compra.preco * compra.parcelas * (taxa / 100); double total = compra.preco + juros; return total; } CompraVeiculo v = new CompraVeiculo(); v.preco = 42000; v.parcelas = 15; double a = CalcularTotalVeiculo(v); Console.WriteLine("Valor do veículo: " + a); // Valor do veículo: 73500 ``` ## Exercício 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; } public bool ValidarCEP(Endereco end) { bool numeros = end.cep.Length == 9; bool hifen = end.cep.Contains("-"); return numeros == true && hifen == true; } Endereco e = new Endereco(); e.nomePessoa = "Solange Martins"; e.cep = "48295-358"; bool a = ValidarCEP(e); Console.WriteLine(e.nomePessoa + ", o resultado da validação de seu CEP é: " + a); // Solange Martins, o resultado da validação de seu CEP é: True ``` ## Exercício 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 posicao = nome.LastIndexOf(" "); string sobrenome = nome.Substring(posicao); 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 = "José Antônio Lacerda"; Pessoa p2 = new Pessoa(); p2.nomeCompleto = "Bianca Guimarães Lacerda"; Pessoa p3 = new Pessoa(); p3.nomeCompleto = "Pedro Borges Lacerda"; bool a = MesmaFamilia(p1, p2, p3); Console.WriteLine("São da mesma família? " + a); // São da mesma família? True ``` ## Exercício 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 = 3; valoreseq.c = -10; Resultado r = EquacaoSegundoGrau(valoreseq); Console.WriteLine("x1 é igual a: " + r.x1); Console.WriteLine("x2 é igual a: " + r.x2); // x1 é igual a: 2 // x2 é igual a: -5 ``` ## Exercício 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 nascPessoa1; public DateTime nascPessoa2; } public bool Maior18(DateTime nascimento) { DateTime hoje = DateTime.Now; return nascimento <= hoje.AddYears(-18); } public bool Libra(DateTime nascimento) { bool passo1 = nascimento.Month == 9 && nascimento.Day > 22; bool passo2 = nascimento.Month == 10 && nascimento.Day < 23; return passo1 == true || passo2 == true; } public bool PermitirEntradaCasal (Casal crushes) { bool maior18 = Maior18(crushes.nascPessoa1) == true && Maior18(crushes.nascPessoa2); bool libras = Libra(crushes.nascPessoa1) == true && Libra(crushes.nascPessoa2); return maior18 == true || libras == true; } Casal nasc = new Casal(); nasc.nascPessoa1 = (2005, 10, 17); nasc.nascPessoa2 = (2000, 2, 4); bool a = PermitirEntradaCasal(nasc); Console.WriteLine("O casal poderá entrar? " + a); // O casal poderá entrar? True ``` ## Exercício 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 TrajetoNormal { public double distanciaIda; public double distanciaVolta; } public class TrajetoRodizio { public double rodizioIda; public double rodizioVolta; } public class Consumo { public double consumo; } public double GastoMensalAbastecimento(TrajetoNormal comum, TrajetoRodizio rodizio, Consumo consumo) { double percursoComum = (comum.distanciaIda + comum.distanciaVolta) * 4; double percursoRodizio = rodizio.rodizioIda + rodizio.rodizioVolta; double totalPercurso = percursoComum + percursoRodizio; double totalKmMes = totalPercurso * 4; double consumoMes = totalKmMes / consumo.consumo; double AbastecimentoMes = consumoMes * 3.8; return AbastecimentoMes; } TrajetoNormal tn = new TrajetoNormal(); tn.distanciaIda = 11; tn.distanciaVolta = 14; TrajetoRodizio tr = new TrajetoRodizio(); tr.rodizioIda = 15; tr.rodizioVolta = 17; Consumo c = new Consumo(); c.consumo = 12; double a = GastoMensalAbastecimento(tn, tr, c); Console.WriteLine("O gasto mensal de Abastecimento é: " + a); // O gasto mensal de Abastecimento é: 167.2 ```