# Final Session | Fund. de Lógica
autor: Alan Oliveira Rocha Santiago
turma: InfoB
número: 02
[TOC]
## Nível 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 AreaTrinagulo(double alt, double bas)
{
double area = (alt * bas) / 2;
return area;
}
double x = AreaTrinagulo(10, 9);
x
//45
```
### Exercicio 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 perimetro = lado * 8;
return perimetro;
}
double x = PerimetroOctogono(27);
x
//216
```
### Exercicio 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 B,double b, double h)
{
double area = ((B + b) * h) / 2;
return area;
}
double x = AreaTrapezio(20, 10, 15);
x
//225
```
### Exercicio 4
Faça uma função ÚNICA que a partir da diagonal maior e menor, calcule a
área do losango.
```csharp=
public double AreaLosango(double D, double d)
{
double area = (D * d)/ 2;
return area;
}
double x = AreaLosango(20, 10);
x
//100
```
### Exercicio 5
Faça uma função ÚNICA que a partir da base e altura, calcule a área do
paralelogramo.
```csharp=
public double AreaParalelogramo(double B, double h)
{
double area = B * h;
return area;
}
double x = AreaParalelogramo(20, 10);
x
//200
```
## Nivel 2
### Exercicio 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 hipotenusa = Math.Pow(catetoOposto, 2) + Math.Pow(catetoAdjacente, 2);
double hipotenusa2 = Math.Pow(hipotenusa, 2);
double hipotenusa3 = Math.Round(hipotenusa2, 1);
return hipotenusa3;
}
double x = CalcularHipotenusa(5.25, 6.9);
x
//5650,9
```
### Exencicio 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 CalcularIMC(double peso, double altura)
{
double IMC = peso / (altura * altura);
double arredondamentoIMC = Math.Round(IMC, 2);
return arredondamentoIMC;
}
double x = CalcularIMC(70, 1.60);
x
//27,34
```
### Exercicio 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 JurosComposto(double capital, int parcelas, double taxa)
{
double juros = capital * Math.Pow(1 + taxa / 100, parcelas);
double novo = capital + juros;
return Math.Round(novo, 1);
}
double x = JurosComposto(1000, 12, 3);
x
//2425,8
```
### 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 CalcularEnergiaCinetica(double m, double v)
{
double ec = m * v / 2;
double funcao = Math.Pow(v, 2);
return funcao;
}
double x = CalcularEnergiaCinetica(2, 5);
x
//25
```
## Nivel 3
### Exercicio 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)
{
string x = nome.Substring(0, 4);
return x;
}
string x = PrimeiroNome("Alan Oliveira Rocha Santiago");
x
//"Alan"
```
### Exercicio 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)
{
string x = nome.Substring(20, 8);
return x;
}
string x = UltimoNome("Alan Oliveira Rocha Santiago");
x
//"Santiago"
```
### Exercicio 4
Faça uma função ÚNICA que a partir de um CEP, retorne verdadeiro/falsose o CEP contém o caractere hífen (-) e possui um total de 9 caracteres.
ex. 11943430808.
```csharp=
>public bool CepEndereco(string cep)
{
bool x = cep.Length == 9 && cep.Contains("-");
return x;
}
bool x = CepEndereco("11943430808");
x
//false
```
### Exercicio 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 SomenteNumeros(string ddd, string numero)
{
string x = ddd + " " + numero;
string y = x.Substring(1, 2) + x.Substring(5, 5) + x.Substring(11, 4);
return y;
}
string x = SomenteNumeros("(11)", "91234-9148");
x
//"11912349148"
```
## 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 dia)
{
DateTime x = dia.AddMonths(1).AddDays(-dia.Day);
return x;
}
DateTime dia = new DateTime(2020, 10, 24);
DateTime x = UltimoDiaMes(dia);
x
//[31/10/2020 00:00:00]
```
### Exercicio 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 ultimodiadomes(DateTime dia)
{
DateTime x = dia.AddMonths(+1).AddDays(-dia.Day).AddDays(1);
return x;
}
DateTime dia = new DateTime(2021, 04, 16);
DateTime x = ultimodiadomes(dia);
x
//[01/05/2021 00:00:00]
```
### Exercicio 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 trimestre)
{
bool comtrimestre = trimestre.Month == 4 && trimestre.Day > 1;
bool meiotrimestre = trimestre.Month == 5 && trimestre.Day > 1;
bool fimtrimestre = trimestre.Month == 6 && trimestre.Day > 1;
return comtrimestre == true || meiotrimestre == true || fimtrimestre == true;
}
DateTime trimestre = new DateTime(2021, 04, 18);
bool x = SegundoTrimestre(trimestre);
x
//true
```
### Exercicio 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 quinzena)
{
bool x = quinzena.Month == 4 && quinzena.Day > 1;
bool y = quinzena.Month == 4 && quinzena.Day <= 15;
return x == true && y == true;
}
DateTime quinzena = new DateTime(2021, 04, 16);
bool x = PrimeiraQuinzena(quinzena);
x
//false
```
## Nivel 5
### Exercicio 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 Calcularpa1(double numero)
{
double x = numero - 1;
return x;
}
public double CalcularProgrecaoAritimetica(double primeiro, double numero, double racao)
{
double x = primeiro + Calcularpa1(numero) * racao;
return x;
}
double x = CalcularProgrecaoAritimetica(26, 10, 5);
x
//71
```
### Exercicio 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 razao(double numero)
{
double x = numero - 1;
return x;
}
public double TermoGeral(double a1, double q, double numero)
{
double x = razao(numero);
double y = a1 * Math.Pow(q, x);
return y;
}
double x = TermoGeral(2, 2, 20);
x
//1048576
```
### Exercicio 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 MesmaFamilia(string pessoa1)
{
bool x = pessoa1.Contains("Santiago");
return x;
}
public bool MesmaFamilia2(string pessoa2)
{
bool x = pessoa2.Contains("Santiago");
return x;
}
bool x = MesmaFamilia("Alan Oliveira Rocha Santiago") && MesmaFamilia2("Anna Alyce Oliveira Rocha Santiago");
x
//true
```
### Exercicio 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 Saolibras(DateTime pessoa1, DateTime pessoa2)
{
bool l1 = libra(pessoa1);
bool l2 = libra(pessoa2);
return l1 == true && l2 == true;
}
public bool libra(DateTime nascimento)
{
bool x = nascimento.Month == 9 && nascimento.Day > 22;
bool y = nascimento.Month == 10 && nascimento.Day < 23;
return x == true || y == true;
}
DateTime nascimento1 = new DateTime(2000, 07, 25);
DateTime nascimento2 = new DateTime(2000, 06, 23);
bool x = Saolibras(nascimento1, nascimento2);
x
//false
```
{"metaMigratedAt":"2023-06-15T22:47:43.472Z","metaMigratedFrom":"Content","title":"Final Session | Fund. de Lógica","breaks":true,"contributors":"[{\"id\":\"1ac86fe9-aad5-49b4-b562-fee077af4a56\",\"add\":9685,\"del\":1227}]"}