# Session One Fundamentos da Lógica | Recomeçar Autor: Luigi da silva coelho [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 nota) { return (nota.nota1 + nota.nota2 + nota.nota3 + nota.nota4) / 4; } NotasAluno alunos = new NotasAluno(); alunos.nota1 = 8; alunos.nota2 = 7; alunos.nota3 = 7; alunos.nota4 = 10; double x = CalcularMedia(alunos); Console.WriteLine(x) // 8 ``` ## Exercício 2 Crie uma função que implemente a lógica para calcular a área do Retângulo. ```csharp= public class Retangulo { public double altura; public double basee; } public double AreaRetangulo (Retangulo ret) { return ret.basee * ret.altura; } Retangulo ret = new Retangulo(); ret.altura = 5; ret.basee = 10; double x = AreaRetangulo(ret); Console.WriteLine(x) // 50 ``` ## 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 altura; public double basee; } public bool AreaTriangulo (Triangulo tri1, Triangulo tri2) { double Areatri1 = (tri1.basee * tri1.altura) / 2; double Areatri2 = (tri2.basee * tri2.altura) / 2; return Areatri1 == Areatri2; } Triangulo tri1 = new Triangulo (); tri1.altura = 10; tri1.basee = 2; Triangulo tri2 = new Triangulo (); tri2.altura = 5; tri2.basee = 4; bool x = AreaTriangulo (tri1, tri2); Console.WriteLine(x) // 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 Pedidos { public double Pequeno; public double Medios; public double Grandes; } public double VendaAcai (Pedidos acai) { double Total = acai.Pequeno * 10 + acai.Medios * 12 + acai.Grandes * 14; return Total; } Pedidos acai = new Pedidos(); acai.Pequeno = 2; acai.Medios = 1; acai.Grandes = 1; double x = VendaAcai (acai); Console.WriteLine(x) // 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 vlCarro; public int parcelas; } public double CalcularTotalVeiculo (CompraVeiculo carro) { double juros = carro.vlCarro * carro.parcelas * 5 / 100; double vltotal = carro.vlCarro + juros; return vltotal; } CompraVeiculo carro = new CompraVeiculo(); carro.parcelas = 12; carro.vlCarro = 25000; double x = CalcularTotalVeiculo(carro); Console.WriteLine("O preço total do Veiculo é " + x); // O preço total do Veiculo é 40000 ``` ## 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 string ValidarCep (Endereco end) { bool validarCep = end.cep.Length == 9; bool validarCep2 = end.cep.Contains("-"); bool validar = validarCep == true && validarCep2 == true; return end.NomePessoa + ", o resultado da validação de seu CEP é: " + validar; } Endereco end = new Endereco(); end.NomePessoa = "Michael Jordan"; end.cep = "13165-000"; string x = ValidarCep(end); Console.WriteLine(x) // Michael Jordan, 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 Extrair (string name) { int espaco = name.LastIndexOf(" "); string extrair = name.Substring(espaco); return extrair; } public bool MesmaFamila (Pessoa p1, Pessoa p2, Pessoa p3) { bool familia = Extrair(p1.NomeCompleto) == Extrair(p2.NomeCompleto) && Extrair(p1.NomeCompleto) == Extrair(p3.NomeCompleto); return familia; } Pessoa p1 = new Pessoa(); p1.NomeCompleto = "Michael Jordan"; Pessoa p2 = new Pessoa(); p2.NomeCompleto = "Lebron James"; Pessoa p3 = new Pessoa(); p3.NomeCompleto = "Bruno Jordan"; bool x = MesmaFamila (p1, p2, p3); Console.WriteLine(x) // false ``` ## 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 xa; public double xb; } public double Delta (Equacao termo) { double delta = Math.Pow(termo.b,2) - 4 * termo.a * termo.c; return delta; } public Resultado Bhaskara (Equacao termo) { double x1 = (-termo.b + Math.Sqrt(Delta(termo))) / 2 * termo.a; double x2 = (-termo.b - Math.Sqrt(Delta(termo))) / 2 * termo.a; Resultado x = new Resultado(); x.xa = x1; x.xb = x2; return x; } Equacao termo = new Equacao(); termo.a = 1; termo.b = 12; termo.c = -13; Resultado x = Bhaskara(termo); Console.WriteLine("x1 é igual a " + x.xa + " e x2 é igual " + x.xb) // x1 é igual a 1 e x2 é igual -13 ``` ## 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 pessoa1; public DateTime pessoa2; } public bool MaiorIdade (DateTime nasc) { DateTime hoje = DateTime.Now; TimeSpan idadeParcial = hoje - nasc; double anos = idadeParcial.TotalDays / 365; bool maior = anos >= 18; return maior; } public bool Libra (DateTime nasc) { bool possibilidade1 = nasc.Month == 9 && nasc.Day >= 23; bool possibilidade2 = nasc.Month == 10 && nasc.Day <= 22; return possibilidade1 == true || possibilidade2 == true; } public bool EntradaCasal (Casal namorados) { bool entrada1 = Libra(namorados.pessoa1) && MaiorIdade (namorados.pessoa1); bool entrada2 = Libra(namorados.pessoa2) && MaiorIdade (namorados.pessoa2); bool entrada = entrada1 == true && entrada2 == true; return entrada; } Casal namorados = new Casal(); namorados.pessoa1 = new DateTime(2000, 09, 23); namorados.pessoa2 = new DateTime(2000, 09, 23); bool x = EntradaCasal(namorados); Console.WriteLine(x) // 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 Trajeto { public double IdaComum; public double VoltaComum; } public double GastoMensal (Trajeto comum, Trajeto rodizio, double consumo) { double Normal = (comum.IdaComum + comum.VoltaComum) * 4; double Rodizio = rodizio.IdaComum + rodizio.VoltaComum; double mes = (Normal + Rodizio) * 4; double Consumo = mes / consumo; double litros = Consumo * 3.8; return litros; } Trajeto comum = new Trajeto(); comum.IdaComum = 10; comum.VoltaComum = 12; Trajeto rodizio = new Trajeto(); rodizio.IdaComum = 15; rodizio.VoltaComum = 16; double x = GastoMensal (comum, rodizio, 10); Console.WriteLine(x) // 180.88 ```
{"metaMigratedAt":"2023-06-15T23:21:44.456Z","metaMigratedFrom":"Content","title":"Session One Fundamentos da Lógica | Recomeçar","breaks":true,"contributors":"[{\"id\":\"41803726-291c-4244-b7c6-866e3642cb06\",\"add\":8727,\"del\":426}]"}
Expand menu