# Trabalho: Fund. de Lógica. Nome: Pedro Henrique Gomes de Oliveira Sardinha Turma: InfoB Número: 41 [toc] ## Nível 1 ### Exercício 1 Faça uma função que a partir da base e altura, calcule a área do triângulo. ```csharp= using System; public double CalcularAreaTriangulo (int alt, int baset) { int x = alt * baset; int area = x/2; return area; } double x = CalcularAreaTriangulo(10, 6); x =30 ``` ### Exercício 2 Faça uma função ÚNICA que a partir do lado, calcule o perímetro do octógono. ```csharp= using System; public double peri (double lado) { double perimetro = lado * 8; return perimetro; } double x = peri (20); x = 160 ``` ### 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= using System; public double Trapezio (double maior, double Menor, double Alt) { double area = (maior * Menor * Alt) / 3; return area; } double x = Trapezio (22, 16, 15); x = 1760 ``` ### Exercício 4 Faça uma função ÚNICA que a partir da diagonal maior e menor, calcule aárea do losango. ```csharp= using System; public double losango (double Maior, double Menor) { double area = (Maior * Menor) / 2; return area; } double x = losango (7, 10); x =35 ``` ### Exercício 5 Faça uma função ÚNICA que a partir da base e altura, calcule a área do paralelogramo. ```csharp= using System; public double Paraleleogroma (double alt, double bas) { double area = (alt * bas) / 2; return area; } double x = Paraleleogroma (9, 12); x = 54 ``` ## 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= using System; public double Hipotenusa (double Adjacente, double Oposto) { double soma = Math.Pow (Adjacente, 2) + Math.Pow (Oposto, 2); double soman = Math.Round(soma, 1); double raiz = Math.Sqrt(soman); return Math.Pow (raiz, 1); } double x = Hipotenusa (4, 3); x = 5 ``` ### Exercício 2 Faça uma função ÚNICA que a partir de um peso e altura de uma pessoa,calcule o IMC Arredonde a resposta para duas casas decimais. ```csharp= using System; public double IMC (double PESO, double ALTURA ) { double pesoPoraltura = (PESO / (Math.Pow(ALTURA, 2))); return Math.Round (pesoPoraltura, 2); } double x = IMC (70, 1.74); x = 23.12 ``` ### Exercício 3 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= using System; public double Jullius (double capital, int parcelas, double taxa) { double juros = capital * Math.Pow(1 + taxa / 100, parcelas); double novo = capital + juros; return Math.Round(novo, 2); } double x = Jullius(269, 12, 12); x = 1317.02 ``` ### 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= using System; public double EnergiaCinetica (double massa, double velocidade) { double Ec1 = Math.Pow (velocidade, 2); double Ec2 = ((massa * Ec1) / 2); return Ec2; } double x = EnergiaCinetica (20, 10); x = 1000 ``` ## Níviel 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= using System; public string PrimeiroNome (string a) { int espaco = a.LastIndexOf(" "); string nome = a.Substring(0, espaco); string b = nome.Trim(); return b; } string x = "Pedro Gomes"; string primeiro = PrimeiroNome(x); primeiro = Pedro ``` ### Exercício 2 Faça uma função ÚNICA que a partir de um nome completo de uma pessoa, extraia o último nome. ```csharp= using System; public string UltimoNome (string a) { int espaco = a.LastIndexOf (" "); string nome = a.Substring (espaco); string b = nome.Trim(); return b; } string x = "Pedro Sardinha"; string ultimo = UltimoNome(x); ultimo = Sardinha ``` ### 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= using System; public bool cep (string CEP) { bool contem = CEP.Contains ("-"); int caracter = CEP.Length; bool valido = caracter >= 9 && contem == true; return valido; } bool x = cep ("04812-100"); x = true ``` ### 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= using System; public string Extrairtelefone (string telefone) { string a = telefone.Replace(" ", "").Replace("(","").Replace(")", "").Replace("-", ""); return a; } string x = Extrairtelefone ("(11) 96538-1428"); x = 11965381428 ``` ## Níviel 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= using System; public DateTime UltimoDiaMes (DateTime data) { DateTime Ultimo = new DateTime (data.Year, data.Month, DateTime.DaysInMonth(data.Year, data.Month)); return Ultimo; } DateTime x = new DateTime(2021,04,04); DateTime a = UltimoDiaMes(x); a = 4/30/2021 ``` ### 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= using System; public DateTime PrimeiroDia (DateTime data) { DateTime firat = new DateTime (data.Year, data.Month, 1); DateTime last = firat.AddMonths(1); return last; } DateTime a = new DateTime(2021, 04, 18); DateTime b = PrimeiroDia (b); b = 5/1/2021 ``` ### 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= using System; public bool SegundoSemestre (DateTime data) { int mes = data.Month; bool calcula = mes >= 4 && mes <= 6; return calcula; } DateTime k = new DateTime(2021, 04, 12); bool x = SegundoSemestre (k); = 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= using System; public bool quinzena (DateTime data) { int x = data.Day; bool resposta = x >= 1 && x <= 15; return resposta; } DateTime a = new DateTime (2021 ,04, 16); bool x = quinzena (a); = false ``` ## Níviel 5 ### Exercício 1 Faça uma função COMPOSTA que a partir dos valores 'a', 'b' e 'c' calcule o valor de ' baseado na equação de segundo grau. ```csharp= using System; public double corrida (double a, double b, double c) { double z = primeiro (b, c); double y = z/a; return y; } public double primeiro (double b, double c) { return (c-b); } double x = corrida (12, 65, 3); x = -5.16666666666667 ``` ### 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= using System; public double TermoGeralPA (double primeiroTermo, double razao, double posicao){ return primeiroTermo + (Conta2(posicao, razao)); } public double Conta2 (double posicao, double razao) { return (posicao - 1) * razao; } double a = TermoGeralPA(10, 10, 200); a = 2000 ``` ### 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= using System; public double TermoGeralPG (double PrimeiroTermo, double razao, double posicaoDoTermo) { double calculoRazao = Math.Pow(razao, CalculoPosicao(posicaoDoTermo)); double calculoTotal = PrimeiroTermo * calculoRazao; return calculoTotal; } public double CalculoPosicao (double posicaoDoTermo) { return posicaoDoTermo - 1; } double a = TermoGeralPG (6, 6, 6); a = 46656 ``` ### 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= using System; public bool SobrenomeIgual (string a, string b) { string sobrenome1 = UltimoNome(a); string sobrenome2 = UltimoNome(b); bool x = sobrenome1 == sobrenome2; return x; } public string UltimoNome (string a) { int espaco1 = a.LastIndexOf(" "); int todas1 = a.Length; string sobrenome1 = a.Substring(espaco1,todas1-espaco1); string k = sobrenome1.Trim(); return k; } string a1= "Pedro Sardinha"; string b1 = "Andre Sardinha"; bool nome = SobrenomeIgual(a1,b1); nome = True ```