---
# System prepended metadata

title: Final Session | Fund. de Lógica

---

# 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
```
