# Final Session | Fund. Lógica **Author:** Matheus Rafael Morato Rocha **Turma:** InfoC **Número:** 40 [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= public double AreaTriangulo(double alt, double bas) { double area = (alt * bas) / 2; return area; } double x = AreaTriangulo(10, 5); // 25 ``` ### 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) { return lado * 8; } double x = PerimetroOctogono(10); // 80 ``` ### Exercício 3 Faça uma função ÚNICA que a partir da digonal maior e menor, calcule a área do losango. ```csharp= public double AreaLosango (double p,double q) { double area = (p * q) / 2; return area; } double a = AreaLosango(10 ,10); a // 50 ``` ### Exercício 4 Faça uma função ÚNICA que a partir da base e altura, calcule a área do paralelogramo. ```csharp= public double AreaParalelogramo (double ALT,double BAS) { double area = ALT * BAS; return area; } double a = AreaParalelogramo (10,10); a // 100 ``` ## Nível II ### Exercício 1 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 EnergaiaCinetica(double velocidade, double massa) { double energia = velocidade * massa; double energia2 = Math.Pow(energia,2); return energia2; } double a = EnergaiaCinetica (10,5); a // 2500 ``` ### Exercício 2 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 VolumeCilindro(double altura, double raio) { double volume = 3.14 * Math.Pow(raio,2) * altura; return volume; } double a = VolumeCilindro (10,10); a // 3.141 ``` ### Exercício 3 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= public double IMC (double peso,double altura) { double ALT = peso / (altura * altura); double arendonda = Math.Round (ALT,2); return arendonda; } double a = IMC (65, 1.75); a // 21.22 ``` ### Exercício 4 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 hipotenusa (double catetoA,double catetoB) { double h = Math.Pow(catetoA,2) + Math.Pow(catetoB,2); double H = Math.Pow(h,2); double casa = Math.Round(H,2); return casa; } double a = hipotenusa(20,20); a // 64.00 ``` ## Nível III ### 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 String UltimoNome(String NomeCompleto) { int corte = NomeCompleto.IndexOf(" "); int corte2 = corte + 1; String nome = NomeCompleto.Substring(corte2); return nome; } String a = UltimoNome2("Matheus Rafael Morato Rocha"); a // Matheus ``` ### Exercício 2 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 CPF (string cpf) { bool valido = cpf.Contains("-"); bool caractere = cpf.Length == 9; bool x = caractere || valido; return x; } bool x = CPF("989-989-989"); x // True ``` ### Exercício 3 Faça uma função ÚNICA que a partir de um nome completo de uma pessoa, extraia o último nome. ```csharp= public String UltimoNome(String NomeCompleto) { int corte = NomeCompleto.LastIndexOf(" "); int corte2 = corte + 1; String nome = NomeCompleto.Substring(corte2); return nome; } String a = UltimoNome2("Matheus Rafael Morato Rocha"); a // Rocha ``` ### Exercício 4 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 x = email.Substring(email.IndexOf('@')); return x; } string a = dominio ("matheuszap@gmail.com"); a // gmail.com ``` ## Nível IIIV ### Exercício 1 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 verificar (string aniversario) { DateTime a = Convert.ToDateTime(aniversario); bool y = a.AddYears(18) < DateTime.Now; return y; } bool a = verificar("2000-10-09"); a // False ``` ### Exercício 2 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 SegundoTrimestre (string data) { DateTime a = Convert.ToDateTime(data); bool y = a.Month <= 06; return y; } bool a = SegundoTrimestre("2021-10-09"); a // False ``` ### Exercício 3 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 SegundoTrimestre (string data) { DateTime a = Convert.ToDateTime(data); bool y = a.Day <= 15; return y; } bool a = SegundoTrimestre("2021-10-09"); a // False ``` ### Exercício 4 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 PrimeiroDiaDoMes (DateTime data) { DateTime mes = new DateTime(data.Year,data.Month,1); DateTime proximo = mes.AddMonths(1); return proximo; } DateTime a = new DateTime(2021,07,03); DateTime x = PrimeiroDiaDoMes(a); x // 8/1/2021 12:00:00 AM ``` ## Nível V ### Exercício 1 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 Verificar (string Pessoa1,string Pessoa2) { bool valido = Pessoa1 == Pessoa2; return valido; } public String UltimoNome(String Pessoa1) { int corte = Pessoa1.LastIndexOf(" "); int corte2 = corte + 1; String nome = Pessoa1.Substring(corte2); return nome; } public String UltimoNome2(String Pessoa2) { int corte = Pessoa2.LastIndexOf(" "); int corte2 = corte + 1; String nome = Pessoa2.Substring(corte2); return nome; } bool a = Verificar ("Matheus Rafael Morato Rocha","Matheus Rafael Morato Rocha"); a // True ``` ### 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 delta (double a,double b,double c) { double delta2 = (Math.Pow(b, 2) - (-4 * a * c)); double total = encontrarX(a,b,c,delta2); return total; } public double encontrarX (double a,double b,double c,double delta) { double x = (-b + Math.Sqrt(delta) / (2 * a)); double zap = x / 2; return zap; } double a = delta (1,1,25); a // 2.01246890528022 ``` ### Exercício 3 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 Signo (DateTime Nascimento) { bool op = Nascimento.Month == 9 && Nascimento.Day > 22; bool op2 = Nascimento.Month == 10 && Nascimento.Day < 23; bool Libra = op == true || op2 == true; return Libra; } public bool Verificar (DateTime Nascimento1,DateTime Nascimento2) { bool a = Signo (Nascimento1); bool b = Signo (Nascimento2); bool x = a == b; return x; } DateTime a = new DateTime (2002,10,04); DateTime b = new DateTime (2002,09,02); bool z = Verificar(a,b); z ``` ### Exercício 4 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 RazaoDescobrir (double posicao,double numero) { double razao = posicao - posicao - 1; double total = TermoGeral (posicao,numero,razao); return total; } public double TermoGeral (double posicao,double numero,double razao) { double a = posicao + (numero - 1) * razao; return a; } double x = TermoGeral (10,20,20); x // 390 ```
{"metaMigratedAt":"2023-06-15T22:47:47.855Z","metaMigratedFrom":"Content","title":"Final Session | Fund. Lógica","breaks":true,"contributors":"[{\"id\":\"0ba297e4-eafa-413a-9b17-c3ef1702e693\",\"add\":8929,\"del\":923}]"}
Expand menu