# Final Session | Fund. Lógica autor: João Pedro Silva dos Santos Turma: INFOA Número: 23 [toc] ## Nivel 1 ### Exercicio 1 Faça uma função ÚNICA que a partir da base e altura, calcule a área do triângulo. ```csharp= public double calcularAreaTriangulo(int basse, int altura) { double cal = (basse * altura) / 2; return cal; } double area = calcularAreaTriangulo(25,30); area 375 ```` ### Exercicio 2 Faça uma função ÚNICA que a partir do lado, calcule o perímetro do octógono. ```csharp= public int CalcularPerimetroOctto (int lado) { int x = 8 * lado; return x; } int x = CalcularPerimetroOctto (12); x 96 ``` ### 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 calcularTrapézio(double BaseMaior, double BaseMenor, double altura) { double area = (BaseMaior + BaseMenor) * altura; return area / 2; } double x = calcularTrapézio(10,4,5); x 35 ``` ### Exercício 4 Faça uma função ÚNICA que a partir da diagonal maior e menor, calcule a área do losango. ```csharp= public int CalcularAreaLosango (int D, int d) { int x = D * d; int areaLosango = x / 2; return x; } int x = CalcularAreaLosango(12,6); x 72 ``` ### Exercício 5 ```csharp= public double calcularParalelogramo(double baseB, double altura) { double area = (baseB * altura); return area; } double x = calcularParalelogramo (22,13); x 286 ``` ## 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 int Calcularhipotenusa (int oposto, int adjancente) { int x = oposto * oposto + adjancente * adjancente; return x / 100; } int x = Calcularhipotenusa (9,12); x 2 ``` ### 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= public double calcularPeso(double altura, double peso) { double x = (altura * altura); double pesototal = peso / x; double novo = Math.Round(pesototal, 2); return novo; } double x = calcularPeso(1.67, 70); x 25,1 ``` ### 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= public double calcularJuros(double capital, double taxa, int tempo) { double Juros = 1 + (taxa / 100); double x = Math.Pow(Juros, tempo); double total = capital * x; return final; } double x = calcularJuros(1000, 5, 5); x 1276,3 ``` ### Exercicio 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 EnergiaCinética(double massa, double velocidade) { double x = 00.5; double veloci = Math.Pow(velocidade, 2); double final = x * massa * veloci; return final; } double calcular = EnergiaCinética(55, 3.87); calcular 411,86475 ``` ### 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 volumeCilindro(int raio, int altura) { double pi = 3.14; double rai = Math.Pow(raio,2); double final = pi * rai * altura; return final; } double x = volumeCilindro(5, 9); x 706,5 ``` ## Nível 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 string PrimeiroNome(string nome) { int a = nome.IndexOf(" "); string b = nome.Substring(0,a); return b; } string nome = "João pedro Silva dos Santos"; string c = PrimeiroNome (nome); c "João" ``` ### 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 UltimoNome (string nome) { int a = nome.IndexOf(" "); string b = nome.Substring(20); return b; } string x = UltimoNome("João pedro Silva dos Santos"); x "Santos" ``` ### 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 EmailCompleto (string email) { int a = email.IndexOf("@"); string b = email.Substring(a); return b; } string nome = "JoãopedroSilvadoSantos@gmail.com"; string c = EmailCompleto (nome); c "@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 validar(string CEP) { bool tamanho = CEP.Length == 9; bool hifen = CEP.Contains("-"); bool validado = tamanho == true && hifen == true; return validado; } bool x = validar("04018-002"); x True ``` ## Nível 5 ### 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 Ultimodia(DateTime dia) { int d = dia.Day; DateTime Mes = dia.AddMonths(1); DateTime Dia = a.AddDays(-d); DateTime final = dia.AddMonths(1).AddDays(-dia.Day); return final; } DateTime dia = new DateTime(2021, 4, 16); DateTime x = Ultimodia(dia); x True ``` ### 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 SegundoTrimestre(DateTime data) { bool a = data.Month >= 4; bool b = data.Month <= 6; bool final = a == true && b == true; return final; } DateTime data = new DateTime(2021, 7,14); bool x = SegundoTrimestre(data); x false ``` ### 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 Maiorde18(DateTime nascimento) { DateTime Atual = DateTime.Now; bool final = nascimento <= Atual.AddYears(-18); return final; } DateTime z = new DateTime(2003, 04, 02); bool x = Maiorde18(z); 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 quinzena(DateTime dt) { bool a = dt.Day >= 1; bool b = dt.Day <= 15; bool final = a == true && b == true; return final; } DateTime dt = new DateTime(2021, 4,14); bool x = quinzena(dt); x true ``` ## 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 int valordeA(int a) { int af = a; return af; } public int valordeB(int b) { int bf = b; return bf; } public int valordeC(int c) { int cf = c; return cf; } public int calcular(int a, int b, int c) { int total = valordeA(a) / (valordeB(b) + valordeC(c)); return total; } int x = calcular(8, 5, 3); x 1 ``` ### 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 int termos(int Termo1) { return Termo1; } public int Nprocurar(int Nprocurado) { int x = Nprocurado - 1; return x; } public int progressão(int razao, int Nprocurado) { int x = Nprocurar(Nprocurado) * razao; return x; } public int PosiçãodoTermo(int razão, int Nprocurado, int Termo1) { int final = progressão(razão, Nprocurado) + termos(Termo1); return final; } int x = PosiçãodoTermo(2, 100, 2); 200 ``` ### 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 int Pritermo(int termo) { return termo; } public int NuProcurado(int Nprocurado) { int x = Nprocurado - 1; return x; } public int progressao(int termo, int razao) { return Pritermo(termo) * razao; } public double PosicaodoTermo(int termo, int razao, int Nprocurado) { int c = Pritermo(termo); double y = Math.Pow(progressao(termo, razao), NuProcurado(Nprocurado)); return y; } double x = PosicaodoTermo(1, 3, 15); x 4782969 ``` ### 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 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; } public bool SobrenomeIgual (string a, string b) { string sobrenome1 = UltimoNome(a); string sobrenome2 = UltimoNome(b); bool x = sobrenome1 == sobrenome2; return x; } string a1= "João Pedro Silva"; string b1 = "Luiz Fernando Silva"; bool nome = SobrenomeIgual(a1,b1); nome True ``` ### Exercí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 Libra(DateTime nascimento) { bool alt1 = nascimento.Month == 9 && nascimento.Day > 22; bool alt2 = nascimento.Month == 10 && nascimento.Day > 23; bool x = alt1 == true || alt2 == true; return x; } DateTime z = new DateTime(2003, 04, 02); bool x = Libra(z); x false ```