---
# System prepended metadata

title: Final session | Fund. Lógica

---

# Final session | Fund. Lógica

>[color=blue]**Autor:** Letícia Rodrigues da Silva
**Turma:** IndoD 
**Número:** 25

[TOC]

## Nível I

### 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 basee, double altura)
{
	double area = (basee * altura) / 2;
	return area;
}
	
double area = AreaTriangulo(10, 4.5);
area
// 22.5
```


### 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)
{
	double calcular = lado * 8;
		return calcular;
}

double calcular = PerimetroOctogono(5);
calcular
// 40
```


### Exercício 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 diagonal1, double diagonal2)
{
	double calcular = (diagonal1 * diagonal2) / 2;
		return calcular;
}

double calcular = AreaLosango(8, 4.7);
calcular
// 18.8
```

### Exercício 5
Faça uma função ÚNICA que a partir da base e altura, calcule a área do paralelogramo.

```csharp=
public int AreaParalelogramo (int basee, int altura)
{
	int calcular = basee * altura;
		return calcular;
}

int calcular = AreaParalelogramo(10, 6);
calcular
// 60
```


## Nível II

### Exercício 1
Faça uma função ÚNICA que a partir do cateto oposto e adjacente, calculea hipotenusa. Arredonde a resposta para uma casa decimal.

```csharp=
					
public double CalcularHipotenusa (double oposto, double adjacente)
{
	double potenciax = Math.Pow(oposto, 5);
	double potenciay = Math.Pow(adjacente, 5);
	double calcular = potenciax + potenciay;
	double raiz = Math.Sqrt(calcular);
	double arredondartotal = Math.Round(raiz);
	return arredondartotal;
}

double total = CalcularHipotenusa(10, 12.7);
	total
// 656
```

### 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 CalcularIMC (int peso, double altura1, double altura2)
{
	double imc = peso / (altura1 * altura2);
	double arredondarIMC = Math.Round(imc);
	return arredondarIMC;
}

double calcular = CalcularIMC(56, 1.60, 1.60);
calcular
// 22
```


### 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=
public  double CalcularEnergiaCinetica (double massa, double velocidade)
{
	double EC = (massa * velocidade) / 2;
	double potencia1= Math.Pow(velocidade, 3.5);
	double potencia2 = Math.Pow(velocidade, 3.5);
	double calcular = potencia1 + potencia2;
	return calcular;
}

double total = CalcularEnergiaCinetica(39, 14);
total
// 20534.21
```


### 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 CalcularVolumeCilindro (double pi, double raio, double altura)
{
	double volume = pi * raio * altura;
	double potencia1 = Math.Pow(raio, 3);
	double potencia2 = Math.Pow(raio, 3);
	double calcular = potencia1 + potencia2;
	return calcular;
}

double total = CalcularVolumeCilindro(3.14, 3, 2);
total
// 54
```


## 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=
string ExtrairNome (string nome)
{
	string nomecompleto = nome;
	string nomeCompleto = "Leticia Rodrigues da Silva";
	string extrair = nomeCompleto.Substring(0,7);
	return extrair;
}

string nome = ExtrairNome("Leticia Rodrigues da silva");
nome
// Leticia
```


### Exercício 2
Faça uma função ÚNICA que a partir de um nome completo de uma pessoa, extraia o último nome.

```csharp=
string ExtrairUltimoNome (string nome)
{
	string nomecompleto = nome;
	int letras = nomecompleto.LastIndexOf(" ");
	string posicao = nomecompleto.Substring(letras);
	return posicao;
}

string nome = ExtrairUltimoNome("Leticia Rodrigues da silva");
nome
// Silva
```


### 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=
bool ValidarEmail (string email)
{
	bool validar = email.Contains("@");
	return validar;
}

bool result = ValidarEmail("soulinda@gmail.com");
result
// True
```


### 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=
bool ValidarCEP (string cep)
{
	bool validar = cep.Length == 9 & cep.Contains("-");
	return validar;
}

bool result = ValidarCEP("05987-310");
result
// True
```


## Nível IV

### 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 data)
{
	DateTime ProxMes = new DateTime(data.Year, data.Month, 1);
	DateTime proximo = ProxMes.AddMonths(1);
	DateTime ultimodia = proximo.AddDays(-1);
	return ultimodia;
}

DateTime d = new DateTime(2021, 06, 28);
DateTime result = UltimoDiaMes(d);
result
// 6/30/2021 12:00:00 AM
```


### 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)
{
    int mes = data.Month;
    bool m = mes <= 6 && mes >= 4;
    return m;
}

DateTime t = new DateTime(2021,8,15);
bool s = SegundoTrimestre(t);
s
```

### 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 Maior18 (DateTime nascimento)
{
	DateTime limitedata = DateTime.Now.AddYears(-18);
	bool maior = nascimento <= limitedata;
	return maior;
}

DateTime m = new DateTime(1982, 10, 08);
bool result = Maior18(m);
result
// 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 PrimeiraQuinzena (DateTime data)
{
    int dias = data.Day;
    bool d = dias <= 15;
    return d;
}

DateTime q = new DateTime(2021,8,15);
bool p = PrimeiraQuinzena(q);
p
// True
```


## Nível V

### 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 bool MesmaFamilia (string nome1, string nome2)

{

string sobrenome1 = UltimoNome(nome1);
string sobrenome2 = UltimoNome(nome2);
bool nomecompleto = sobrenome1 == sobrenome2;

return nomecompleto;
}

public string UltimoNome (string nome1)

{

int espaco = nome1.LastIndexOf(" ");
int nome = nome1.Length;

string sobrenome1 = nome1.Substring(espaco,nome-espaco);

string n = sobrenome1.Trim();

return n;
}

string nome1= "Henry Zarlenga Viana";
string n1 = "Josefina Rodrigues Fina";
bool nomE = MesmaFamilia(nome1,n1);

nomE
// False
```

### 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 pessoa1 = nascimento.Month == 9 && nascimento.Day > 22;
	bool pessoa2 = nascimento.Month == 10 && nascimento.Day < 23;
	bool libra = pessoa1 == true || pessoa2 == true; 
	return libra;
}


public bool Signo(DateTime pessoa1, DateTime pessoa2)
{
	bool p1 = Libra(pessoa1);
	bool p2 = Libra(pessoa2);
	bool result = p1 == p2;
	return result;
}
		

bool s = Signo(new DateTime(2003, 08, 20), new DateTime(1992, 10, 1));
s
// False
```

### 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 double ValorX (int a, int b , int c)
{
    double potencia = Math.Pow ( -b, 2);
    double raizB = Math.Sqrt ( potencia - 4 * a * c);
    return raizB;
}

public string Bhaskara (int a, int b, int c)
{
    double calcularbhaskara1 = (-b + ValorX(a, b, c)) / 2 * a;
    double calcularbhaskara2 = (-b - ValorX(a, b, c)) / 2 * a;
    string e = "segundograu = " + calcularbhaskara1+ ", " + calcularbhaskara2 + "";
    return e;
}

string result = Bhaskara (10, 06, -05);
result
// segundograu = 46.8114574786861, -106.811457478686
```


### Exercício 3
```csharp=
public double CalcularPG (double q, double n) 
{
    double progressao = (n-1);
    return Math.Pow(q, progressao);
}

public double ProgressaoGeometrica (double total, double q, double n)
{
    double p = total * CalcularPG(q, n);
    return p;
}

double result = ProgressaoGeometrica (5.7, 8, 2);
result
// 45.6
```