# Session one: recomeçar | Fund.logica | 2° bimestre **Nome** Kevin Ribeiro de Andrade **número** 27 **turma** INFO A ## Exercício 1 Crie uma função que implemente a lógica para calcular a média de 4 notas de um aluno. ```csharp= using System; public class notas { public double nota1; public double nota2; public double nota3; public double nota4; } public double calc_nota(notas nt) { return (nt.nota1 + nt.nota2 + nt.nota3 + nt.nota4) / 4; } notas vl = new notas(); vl.nota1 = 10; vl.nota2 = 10; vl.nota3 = 10; vl.nota4 = 10; double x = calc_nota(vl); x ``` ## Exercício 2 Crie uma função que implemente a lógica para calcular a área do Retângulo. ```csharp= using System; public class retan { public int basee; public int altura; } public long calc_retan(retan vl) { long arm = vl.basee * vl.altura; return arm; } retan adc = new retan(); adc.basee = 2; adc.altura = 2; long x = calc_retan(adc); x ``` ## 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= using System; //base * altura / 2 public class triang { public double basee; public double altura; } public bool calc_triang (triang tri, triang tri2) { double calc = (tri.basee * tri.altura) / 2; double calc2 = (tri2.basee * tri2.altura) / 2; return calc == calc2 ; } triang t1 = new triang(); t1.basee = 25; t1.altura = 37; triang t2 = new triang(); t2.basee = 13; t2.altura = 17; bool x = calc_triang(t1,t2); x ``` ## 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= using System; //açaí pequeno- 10,00 //açaí médio- 12,00 //açaí grande- 14,00 public class qtdacais { public long acai_pequeno; public long acai_medio; public long acai_grande; } public double calc_pedido(qtdacais qtd) { double pequeno = 10.00; double medio = 12.00; double grande = 14.00; return (qtd.acai_pequeno * pequeno) + (qtd.acai_medio * medio) + (qtd.acai_grande * grande); } qtdacais vl = new qtdacais(); vl.acai_pequeno = 1; vl.acai_medio = 2; vl.acai_grande = 2; double x = calc_pedido(vl); x ``` ## 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= using System; public class pedido_carro { public double preco; public long parcelas; } public double calc_compra(pedido_carro nr) { double calc = (nr.preco * 5) / 100; double calc_parcelas = nr.preco / nr.parcelas; return calc + calc_parcelas; } pedido_carro vl = new pedido_carro(); vl.preco = 10299.75; vl.parcelas = 4; double x = calc_compra(vl); x ``` ## 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= using System; // Pra que retornar em string? Crazy public class endereco { public string nome; public string CEP; } public string valid_CEP(endereco end) { long verific = end.CEP.Length; bool verific2 = end.CEP.Contains("-"); bool comp = verific == 9; bool comp2 = comp == true || verific2 == false; string conv = Convert.ToString(comp2); return conv; } endereco valid = new endereco(); valid.nome = "Rin tohsaka"; valid.CEP = "79036-160"; string x = valid_CEP(valid); x ``` ## 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= using System; public class nome { public string nomeCompleto; } public string extrair_nome(string noms) { int posicao = noms.LastIndexOf(" "); string ultimo_nome = noms.Substring(posicao); return ultimo_nome; } public bool msm_familia(nome p1, nome p2, nome p3) { return extrair_nome(p1.nomeCompleto) == extrair_nome(p2.nomeCompleto) && extrair_nome(p1.nomeCompleto) == extrair_nome(p3.nomeCompleto); } nome p1 = new nome(); p1.nomeCompleto = Console.ReadLine(); nome p2 = new nome(); p2.nomeCompleto = Console.ReadLine(); nome p3 = new nome(); p3.nomeCompleto = Console.ReadLine(); bool x = msm_familia(p1, p2, p3); x ``` ## 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= using System; public class equacao { public long a; public long b; public long c; } public class resultado { public double x1; public double x2; } public double delta(equacao eq) { return Math.Pow(eq.b,2) - 4 * eq.a * eq.c; } public resultado segundo_grau(equacao eq) { double res = (-eq.b + Math.Sqrt(delta(eq))) / 2 * eq.a; double res2 = (-eq.b - Math.Sqrt(delta(eq))) / 2 * eq.a; resultado resul = new resultado (); resul.x1 = res; resul.x2 = res2; return resul; } equacao result = new equacao(); result.a = 2; result.b = -2; result.c = -2; resultado x = segundo_grau(result); Console.WriteLine("res1 é igual a:" + x.x1); Console.WriteLine("res2 é igual a:" + x.x2); ``` ## 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= using System; using System; public class casal { public DateTime nascPessoa1; public DateTime nascPessoa2; } public bool libra(DateTime nasc) { bool res = nasc.Month == 9 && nasc.Day > 22; bool res2 = nasc.Month == 10 && nasc.Day < 23; return res == true || res2 == true; } public bool menor_maior18(DateTime nasc) { DateTime agora = DateTime.Now; TimeSpan calc = agora - nasc; double calc2 = calc.TotalDays / 365; return calc2 >= 18; } public bool permitir_entrada(casal cs) { bool comp = libra(cs.nascPessoa1) == true && menor_maior18(cs.nascPessoa1) == true; bool comp2 = libra(cs.nascPessoa2) == true && menor_maior18(cs.nascPessoa2) == true; return comp == true && comp2 == true; } casal dt = new casal(); dt.nascPessoa1 = new DateTime (2002,09,25); dt.nascPessoa2 = new DateTime (2003,10,21); bool x = permitir_entrada(dt); x ``` ## 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= using System; public class caminho { public double ida; public double volta; } public double calc_percurso ( caminho comum, caminho rdz, double consumo) { double calckm_semana = (comum.ida + comum.volta) * 5 + (rdz.ida + rdz.volta); double calc_consumo = calckm_semana / consumo; return calc_consumo * 3.8; } caminho cmh = new caminho (); cmh.ida = 12.6; cmh.volta= 11.4; caminho cam = new caminho (); cam.ida = 14.8; cam.volta = 17.3; double x = calc_percurso(cmh, cam, 13.7); x ```