# Final Session/ Fund. Lógica
**Autor:** Elias de Freitas Cavalcante
**Número:** 12
**Turma:** INFO C
[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.
```charp=
public int areatri ( int alt, int bas)
{
int r = alt * bas;
int area = r/2;
return area;
}
int resu = areatri(10,5);
//25
```
### Exercicio 2
Faça uma função ÚNICA que a partir do lado, calcule o perímetro do
octógono.
```charp=
public double perimetro(double L)
{
double p = L*8;
return p;
}
double resultado = perimetro(2);
//16
```
### Exercicio 3
Faça uma função ÚNICA que a partir da base maior, base menor e altura,
calcule a área do trapézio.
```charp=
public int area( int B, int b, int alt)
{
int cal = (B + b * alt)/2;
return cal;
}
int resul = area(10,5,2);
//10
```
### Exercicio 4
Faça uma função ÚNICA que a partir da diagonal maior e menor, calcule a
área do losango.
```charp=
public int arealo( int DIA, int dia)
{
int cal = (DIA + dia)/2;
return cal;
}
int resultado = arealo(10,20);
//15
```
## Nível II
### 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.
```charp=
public double hipute( double cat, double adj)
{
double cal = (cat * cat) + (adj * adj);
return cal;
}
double re = hipute(5,4);
//41
```
### Exercicio 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.
```charp=
public double IMC( double peso, double alt)
{
double cal = peso/alt;
return cal;
}
double r = IMC(3.64,1.0);
// 3.64
```
### 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.
```charp=
public double eneci( double velo, double mass)
{
double energia = velo * mass;
double energi = Math.Pow(energia,2);
return energi;
}
double r = eneci(53.0,1.0);
//2809
```
### Exercicio 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.
```charp=
public double cilindro( double raio, double altura)
{
double cal = (raio * raio) * altura;
double call = Math.Pow(cal,2);
return call;
}
double r = cilindro(1.0,7.00);
//49
```
## 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.
```charp=
public string NAME( string Nomecom)
{
string extra = Nomecom.Substring(0,5);
return extra;
}
string r = NAME("Elias Cavalcante");
//Elias
```
### Exercício 2
Faça uma função ÚNICA que a partir de um nome completo de uma
pessoa, extraia o último nome.
```charp=
public string NAME( string Nomecom)
{
string extra = Nomecom.Substring(6,10);
return extra;
}
string r = NAME("Elias Cavalcante")
//Cavalcante
```
### 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.
```charp=
string Dominio( string email)
{
string extra = email.Substring(2,10);
return extra;
}
string r = Dominio("El@gmail.com");
//@gmail.com
```
### Exercício 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.
```charp=
public string n ( string número)
{
string vali = número.Replace("("," ");
string val =vali.Replace(")", " ");
string va =val.Replace("-", " ");
string v = va.Replace(" ", String.Empty);
return v;
}
string r = n("(11) 97368-8778");
//11973688778
```
## 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.
```charp=
public DateTime ultimo(DateTime data)
{
DateTime fi = data.AddMonths(1);
int x = data.Day;
DateTime cal = fi.AddDays(-x);
return cal;
}
DateTime nova = new DateTime(2021,4,13);
DateTime resultado = ultimo(nova);
//4/30/2021
```
### 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.
```charp=
public bool pertencesegun(DateTime dat)
{
int mes = dat.Month;
bool call = mes == 4 && mes == 6;
return call;
}
bool resu = pertencesegun(new DateTime(2022,01,01));
//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.
```charp=
public bool aparti(string pass)
{
DateTime r = Convert.ToDateTime(pass);
bool x = r.AddYears(18) > DateTime.Now;
return x;
}
bool resu = aparti("2001-01-01");
//false
```
### 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.
```charp=
public bool primeira(DateTime dat)
{
int neww = dat.Day;
bool call = neww >= 1 && neww <= 15;
return call;
}
DateTime cert = new DateTime(2021,04,08);
bool resu = primeira(cert);
//True
```
## Nível V
### Exercicio 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.
```charp=
public int equa( int a , int b)
{
int r = (a * a) + b;
return r;
}
public int equa2( int A, int B, int C)
{
int cal = equa(A,B);
int call = cal/C;
return call;
}
int resu = equa2(2,4,2);
// 4
```
### 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.
```charp=
public int pime (int n)
{
int m = (n - 1)*2;
return m;
}
public int enco( int N)
{
int m = pime(N);
int r = m + 2;
return r;
}
int resultado = enco(100);
//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.
```charp=
public int pime (int n, int q)
{
int m = (n - 1)*q;
return m;
}
public int enco( int N, int Q)
{
int m = pime(N,Q);
int r = m / 2;
return r;
}
int resultado = enco(10,5);
```
### 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.
```charp=
public bool sobrenomeigual(string nomee, string nomer)
{
string sobrenome = ultimo(nomee);
string sobrenomee = ultimo(nomer);
bool s = sobrenome == sobrenomee;
return s;
}
public string ultimo (string nome)
{
int espaco = nome.LastIndexOf(" ");
int todas = nome.Length;
string sobrenome = nome.Substring(espaco,todas-espaco);
string resu = sobrenome.Trim();
return resu;
}
string nome1= "Elias Cavalcante";
string nome2 = "Valeria Cavalcante";
bool resultado = sobrenomeigual(nome1,nome2);
//True
```