# # Super Bônus | Csharp autor: Mateus Eustáquio [toc] ## Nível 1 ### Exercício 1 Faça uma função ÚNICA que a partir da base e altura, calcule a área do triângulo. ```csharp= Ex 1 - Area Triangulo public double areatriangulo (double Base, double Altura) { double CalcularArea = Base * Altura / 2; return CalcularArea; } double x = areatriangulo (4, 4); x //8 ``` ### Exercício 2 Faça uma função ÚNICA que a partir do lado, calcule o perímetro do octógono. ```csharp= public double PerimetroOctogono (double Lado) { double CalcularPerimetro = Lado * 8; return CalcularPerimetro; } double x = PerimetroOctogono(8); x //64 ```` ### Exercício 3 Faça uma função ÚNICA que a partir da base maior, base menor e altura,calcule a área do trapézio. ```csharp= public double AreaTrapezio ( double BaseMaior, double Basemenor, double Altura) { double CalcularAreaTrapezio = (BaseMaior + Basemenor) * Altura / 2; return CalcularAreaTrapezio; } double x = AreaTrapezio (4, 2, 6); x //18 ```` ### Exercício 4 Faça uma função ÚNICA que a partir da diagonal maior e menor, calcule a área do losango. ````csharp= public double AreaTrapezio ( double BaseMaior, double Basemenor, double Altura) { double CalcularAreaTrapezio = (BaseMaior + Basemenor) * Altura / 2; return CalcularAreaTrapezio; } double x = AreaTrapezio (4, 2, 6); x //18 ```` ### Exercício 5 Faça uma função ÚNICA que a partir da base e altura, calcule a área do paralelogramo. ```csharp= public double AreaParalelogramo (double Base, double Altura) { double CalcularArea = Base * Altura; return CalcularArea; } double x = AreaParalelogramo (5, 10); x //50 ```` ## Nível 2 ### Exercício 1 Faça uma função ÚNICA que a partir do cateto oposto e adjacente, calcule a hipotenusa. Arredonde a resposta para uma casa decimal. ````csharp= public double CalcularHipotenusa (double CatetoOposto, double CatetoAdjacente) { double ElevadoAsegundaPotencia = Math.Pow (CatetoOposto, 2) + Math.Pow(CatetoAdjacente, 2); double raizQuadrada = Math.Sqrt(ElevadoAsegundaPotencia); return raizQuadrada; } double x = CalcularHipotenusa (9.5, 12.5); double z = Math.Round (x, 1); z //15.7 ```` ### Exercício 2 Faça uma função ÚNICA que a partir de um capital, parcelas e taxa de juros, calcule o juros compostos. Arredonde a resposta para uma casa decimal. `````csharp= public double CalcularIMC (double Peso, double Altura) { double Calculo = Peso / Math.Pow(Altura, 2); return Calculo; } double x = CalcularIMC (82.5, 1.85); double z = Math.Round(x,2); z //24.11 `````` ### Exercício 3 Faça uma função ÚNICA que a partir da massa e velocidade, calcule a energia cinética. Obrigatório o uso da função Math.Pow. ``````csharp= public double juros (double capital, int parc, double taxa) { double x = capital * parc * taxa / 100; double y = x + capital; double carro = Math.Round(y, 1); return carro; } double x = juros(2000, 4, 10); x //2800 `````` ### Exercício 4 Faça uma função ÚNICA que a partir da massa e velocidade, calcule a energia cinética. Obrigatório o uso da função Math.Pow. ``````csharp= public double EnergiaCinetica (double Massa, double Velocidade) { double Calcular = (Massa * Math.Pow(Velocidade, 2)) / 2; return Calcular; } double x = EnergiaCinetica (100, 10.50); x //5512.5 `````` ### Exercício 5 Faça uma função ÚNICA que a partir da altura e raio, calcule o volume de um cilindro. Obrigatório o uso da função Math.Pow. `````csharp= public double CalcularVolumeCilindro (double Raio, double Altura) { double CalcularVolume = 3.14 * Math.Pow(Raio, 2) * Altura; return CalcularVolume; } double x = CalcularVolumeCilindro (4, 6); x //301.44 `````` ## Nivel 3 ### Exercício 1 Faça uma função ÚNICA que a partir de um nome completo de uma pessoa, extraia o primeiro nome. ````csharp= public double CalcularVolumeCilindro (double Raio, double Altura) { double CalcularVolume = 3.14 * Math.Pow(Raio, 2) * Altura; return CalcularVolume; } double x = CalcularVolumeCilindro (4, 6); x //301.44 ```` ### Exercício 2 Faça uma função ÚNICA que a partir de um nome completo de uma pessoa, extraia o último nome. ````csharp= public string NomeCompleto (string Nome) { string RecorteUltimoNome = Nome.Substring(28); return RecorteUltimoNome; } string x = NomeCompleto ("Mateus Eustaquio Marques de Macedo"); x //Macedo ```` ### Exercício 3 Faça uma função ÚNICA que a partir de um e-mail de uma pessoa, extraia o domínio do e-mail. ````csharp= public string dominio (string email) { string AcharDominio = email.Substring(email.IndexOf('@')); return AcharDominio; } string x = dominio("mateuseustaquiomm@gmail.com"); x //@gmail.com ```` ### Exercício 4 Faça uma função ÚNICA que a partir de um CEP, retorne verdadeiro/falso se o CEP contém o caractere hífen (-) e possui um total de 9 caracteres. ````csharp= public bool Validarcep (string cep) { bool quantidade = cep.Length == 9; bool TemHifen = cep.Contains("-"); bool valido = quantidade == true && TemHifen == true; return valido; } bool x = Validarcep ("04840-6600"); x //False ```` ### Exercício 5 Faça uma função ÚNICA que a partir de um telefone com máscara e DDD incluído ex. (11) 94343-0808, retorne apenas os números do telefone ex. 11943430808. ````csharp= public string DDD (string numero) { string recorte = numero.Replace("(", "").Replace(")", "").Replace("-", ""); return recorte; } string x = DDD("(11)97769-3909"); x ///11977693909 ```` ## Nivel 4 ### Exercício 1 Faça uma função ÚNICA que a partir de uma data, descubra o último dia do mês a partir dessa data. `````csharp= public DateTime UltimoDiaMes (DateTime data) { DateTime Ultimodia = data.AddMonths(1).AddDays(-data.Day); return Ultimodia; } DateTime dia = new DateTime (2021,04,17); DateTime x = UltimoDiaMes (dia); x ///4/30/2021 12:00:00 AM `````` ### Exercício 2 Faça uma função ÚNICA que a partir de uma data, descubra o primeiro dia do próximo mês a partir dessa data. ````csharp= public DateTime UltimoDiaMes (DateTime data) { DateTime Ultimodia = data.AddMonths(1).AddDays(-16); return Ultimodia; } DateTime dia = new DateTime (2021,04,17); DateTime x = UltimoDiaMes (dia); x ///5/1/2021 12:00:00 AM ```` ### Exercício 3 Faça uma função ÚNICA que a partir de uma data, retorne verdadeiro/falso se a data pertence ao segundo trimestre do ano. ````csharp= public bool PertenceSgundoTrimestre (DateTime data) { DateTime UltimodiaSegundoTrimestre = new DateTime (2021,06,30); DateTime PrimeiroDiaSegundoTrimestre = new DateTime (2021,04,01); bool z = data >= PrimeiroDiaSegundoTrimestre == true && data <= UltimodiaSegundoTrimestre == true; return z; } DateTime n = new DateTime (2021,6,17); bool x = PertenceSgundoTrimestre(n); x ///True ```` ### Exercício 4 Faça uma função ÚNICA que a partir de uma data, retorne verdadeiro/falso se a pessoa tem mais de 18 anos a partir do dia atual. ````csharp= public bool MaiordeDezoito (DateTime Nacimento) { DateTime hoje = DateTime.Now; bool z = Nacimento <= hoje.AddYears(-18); return z; } DateTime n = new DateTime (1975,04,12); bool x = MaiordeDezoito(n); x //True ```` ### Exercício 5 Faça uma função ÚNICA que a partir de uma data, retorne verdadeiro/falso se a data pertence a primeira quinzena do mês. ````csharp= public bool PrimeiraQuinzena (DateTime dias) { DateTime PrimeiroDiaQuinzena = new DateTime (2021,05,01); DateTime UltimaDiaQuinzena = new DateTime (2021,05,15); bool EstaDentroQuinzena = dias >= PrimeiroDiaQuinzena == true && dias <= UltimaDiaQuinzena == true; return EstaDentroQuinzena; } DateTime DataEstimada = new DateTime (2021,05,16); bool PrimeiraQuinzenaMes = PrimeiraQuinzena (DataEstimada); PrimeiraQuinzenaMes //False ```` ## Nivel 5 ### Exercício 1 Faça uma função COMPOSTA que a partir dos valores 'a', 'b' e 'c’, calcule o valor de 'x’ baseado na equação de segundo grau. ````csharp= public double EquaçãoSegundoGrau (double A, double B, double C) { double Potencia = CalcularPotencia (B); double CalcularValor = CalcularValorBC ( A, C); double total = CalcularDelta (Potencia, CalcularValor ); return total; } public double CalcularPotencia (double B) { return Math.Pow(B,2); } public double CalcularValorBC(double A, double C) { double Calcular = 4 * A * C; return Calcular; } public double CalcularDelta (double Potencia , double CalcularValor ) { double X = Potencia - CalcularValor; return X; } double Z = EquaçãoSegundoGrau (1, -10, 24); Z //4 ```` ### Exercício 2 Faça uma função COMPOSTA que encontre um termo de uma PA (Progressão Aritmética), a partir do primeiro termo, razão e posição do termo que deseja encontrar. `````csharp= public double TermoPA (double PrimeiroTermoA1, double SegundoTermoA2, double Posição) { double AcharRazão = CalcularRazãoPA(PrimeiroTermoA1, SegundoTermoA2); double AcharTermoGeral = CalcularTermoGeral (PrimeiroTermoA1, Posição, AcharRazão); return AcharTermoGeral; } public double CalcularRazãoPA (double A1, double A2) { return A2 - A1 ; } public double CalcularTermoGeral (double PrimeiroTermoA1, double Posição, double AcharRazão) { double An = (PrimeiroTermoA1 + ((Posição - 1) * AcharRazão)); return An; } double TermoGeralPA = TermoPA (3, 7, 23); TermoGeralPA //91 `````` ### Exercício 3 Faça uma função COMPOSTA que encontre um termo de uma PG (Progressão Geométrica), a partir do primeiro termo, razão e posição do termo que deseja encontrar. ````csharp= public double TermoPG (double PrimeiroTermoA1, double SegundoTermoA2, double Posição) { double AcharRazão = CalcularRazão (PrimeiroTermoA1, SegundoTermoA2); double AcharTermoGeral = CalcularTermoGeral (PrimeiroTermoA1, Posição, AcharRazão); return AcharTermoGeral; } public double CalcularRazão( double PrimeiroTermoA1, double SegundoTermoA2) { return SegundoTermoA2 / PrimeiroTermoA1; } public double CalcularTermoGeral (double PrimeiroTermoA1, double Posição, double AcharRazão) { double n = Posição - 1; double An = (PrimeiroTermoA1 * (Math.Pow(AcharRazão,n))); return An; } double x = TermoPG (2, 6, 8); x //4374 ```` ### Exercício 4 Faça uma função COMPOSTA que a partir de dois nomes completos, retorne verdadeiro/falso se as pessoas são da mesma família, comparando o último nome das duas pessoas. `````csharp= public bool SãoMesmaFamilia (string NomeCompletoP1, string NomeCompletoP2) { string Pessoa1 = NomePessoa1 (NomeCompletoP1); string Pessoa2 = NomePessoa2 (NomeCompletoP2); bool UltimoNome = Pessoa1 == Pessoa2; return UltimoNome; } public string NomePessoa1 (string NomeCompletoP1) { string RecorteUltimoNome = NomeCompletoP1.Substring(28); return RecorteUltimoNome; } public string NomePessoa2 (string NomeCompletoP2) { string RecorteUltimoNomeP2 = NomeCompletoP2.Substring(29); return RecorteUltimoNomeP2; } bool x = SãoMesmaFamilia ("Mateus Eustáquio Marques de Macedo", "Mariana Eustáquio Marques de Macedo"); x //True `````` ### Exerciício 5 Faça uma função COMPOSTA que a partir de duas datas de nascimento, retorne verdadeiro/false se as duas pessoas forem do signo de libra. ````csharp= public bool DataPessoa (DateTime Pessoa1, DateTime Pessoa2) { DateTime PrimeiroDiaLibra = new DateTime(2003,09,23); DateTime UltimoDiaLibra = new DateTime(2003,10,22); bool ComparaDataP1 = SignoLibraP1(Pessoa1, PrimeiroDiaLibra, UltimoDiaLibra); bool ComparaDataP2 = SignoLibraP2(Pessoa2, 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; } DateTime P1 = new DateTime (2003,09,23); DateTime P2 = new DateTime (2003,09,25); bool x = DataPessoa(P1, P2); x //True ````