# Final Session | Fundamentos da Lógica
**Autor**: Vitório Trindade Santana
**Turma**: Informática C
**Número**: 50
[toc]
## Nível 1
### 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 areaT, double baseT)
{
double calc = areaT * baseT;
double calc2 = calc / 2;
return calc2;
}
double n1q1 = AreaTriangulo (2, 5);
//5
```
### Exercício 2
Faça uma função ÚNICA que a partir do lado, calcule o perímetro do octógono.
```csharp=
public int PerimetroOctogono (int lado)
{
int calculo = lado * 8;
return calculo;
}
int n1q2 = PerimetroOctogono (9);
//72
```
### 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 int CalculoAreaTrapezio (int bmenor, int bmaior, int altura)
{
int calculo = ((bmenor + bmaior) * altura) / 2;
return calculo;
}
int n1q3 = CalculoAreaTrapezio (3, 4, 8);
//28
```
### 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 CalculoAreaLosango (int diagonalmenor, int diagonalmaior)
{
return (diagonalmenor * diagonalmaior) / 2;
}
int n1q4 = CalculoAreaLosango (4, 10);
//20
```
## Nível 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 CalculoImc (double peso, double altura)
{
double altura2 = Math.Pow(altura, 2);
double calcimc = peso / altura2;
double calcimc2 = Math.Round(calcimc, 2);
return calcimc2;
}
double n2q2 = CalculoImc (68, 1.76);
//21.95
```
### 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 CalculoJurosComposto (double capital, int parcelas, double juros)
{
double taxa = 1 + juros / 100;
double taxa2 = Math.Pow(taxa, parcelas);
double montante = capital * taxa2;
double montante2 = Math.Round(montante, 2);
return montante2;
}
double n2q3 = CalculoJurosComposto (19000, 7, 2);
//21825.02
```
### 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 CalculoEnergiaCinetica (double massa, double velocidade)
{
double velocidade2 = Math.Pow(velocidade, 2);
double calculoenergia = (massa * velocidade2) / 2;
return calculoenergia;
}
double n2q4 = CalculoEnergiaCinetica (10, 3);
//45
```
### 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 (double altura, double raio)
{
double raioc = Math.Pow (raio, 2);
double calcvolume = 3.14 * raioc * altura;
return calcvolume;
}
double n2q5 = VolumeCilindro(4, 2);
//50.24
```
## 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, string sobrenome, string ultimonome)
{
string completo = nome + sobrenome + ultimonome;
int tamanho = nome.Length;
string recorte = completo.Substring(0, tamanho);
return recorte;
}
string n3q1 = PrimeiroNome ("Gabriel ", "Silva ", "Santos");
//Gabriel
```
### 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, string sobrenome, string ultimonome)
{
string completo = nome + sobrenome + ultimonome;
int posicao = completo.LastIndexOf(" ");
int tamanho = ultimonome.Length;
string recorte = completo.Substring(posicao + 1, tamanho);
return recorte;
}
string n3q2 = UltimoNome ("Ednaldo ", "Pereira ", "Santos");
//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 DominioEmail (string email)
{
int posicao = email.IndexOf("@");
return email.Substring(posicao, 10);
}
string n3q3 = DominioEmail ("garbmil10@gmail.com");
//@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 VerificarCep (string cep)
{
bool verificacao = cep.Contains("-") && cep.Length == 9;
return verificacao;
}
bool n3q4 = VerificarCep ("25789-987");
//true
```
## Nível 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 PrimeiroDia (DateTime data)
{
DateTime a = new DateTime(data.Year, data.Month, 1);
DateTime b = a.AddMonths(1);
return b;
}
DateTime x = DateTime.Now;
DateTime n4q2 = PrimeiroDia (x);
// 5/1/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.
```csharp=
public bool SegundoTrimestre (DateTime data)
{
int mes = data.Month;
bool sera = mes >= 4 && mes <= 6;
return sera;
}
DateTime d = new DateTime(2021, 04, 16);
bool n4q3 = SegundoTrimestre (d);
//true
```
### 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 VerificarMaiordeIdade (DateTime nascimento)
{
DateTime a = DateTime.Now;
DateTime b = a.AddYears(-18);
bool confere = nascimento <= b;
return confere;
}
DateTime minhadata = new DateTime(2004, 12, 26);
bool sera = VerificarMaiordeIdade (minhadata);
//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.
```csharp=
public bool PrimeiraQuinzenaDoMes (DateTime data)
{
int a = data.Day;
bool verificar = a >= 1 && 15 >= a;
return verificar;
}
DateTime b = DateTime.Now;
bool n4q5 = PrimeiraQuinzenaDoMes (b);
//false
```
## Nível 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 double CalculoEquacao2Grau (double a ,double b , double c)
{
double b2 = Math.Pow(b, 2);
double equacao = EquacaoDo2Grau (a , c);
double x = b2 + equacao;
return x;
}
public double EquacaoDo2Grau (double a, double c )
{
double x = -4 * a * c;
return x ;
}
double n5q1 = CalculoEquacao2Grau (1, -4, -12);
//64
//obs = Se colocar o sinal de subtração na double x da função CalculoEquacao2Grau o cálculo fica errado porque a máquina vai somar o sinal de subtração e o que veio na variavel equacao.
```
### 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 CalculoPA (int a1, int razao, int an)
{
int n = InicioCalculoPa (razao, an);
int calculofinal = a1 + n;
return calculofinal;
}
public int InicioCalculoPa (int razao, int an)
{
return (an -1) * razao;
}
int n5q2 = CalculoPA (5, 5, 25);
//125
```
### 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 double CalculoPG (int a1, int razao, int an)
{
double An = InicioCalculoPg (razao, an);
double finalcalculo = a1 * An;
return finalcalculo;
}
public double InicioCalculoPg (int razao, int an)
{
double razao2 = Math.Pow(razao, an - 1);
return razao2;
}
double n5q3 = CalculoPG (3, 4, 5);
//768
```
### 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 ConferirParentesco (string nome1, string sobrenome1, string ultimonome1, string nome2, string sobrenome2, string ultimonome2)
{
string nomec1 = NomeCompleto1 (nome1, sobrenome1, ultimonome1);
string nomec2 = NomeCompleto2 (nome2, sobrenome2, ultimonome2);
bool confere = nomec1 == nomec2;
return confere;
}
public string NomeCompleto1 (string nome1, string sobrenome1, string ultimonome1)
{
string nome = nome1 + sobrenome1 + ultimonome1;
int posicao1 = nome.LastIndexOf(" ");
int tamanho = ultimonome1.Length;
string nomef = nome.Substring(posicao1, tamanho);
return nomef;
}
public string NomeCompleto2 (string nome2, string sobrenome2, string ultimonome2)
{
string nome = nome2 + sobrenome2 + ultimonome2;
int posicao = nome.LastIndexOf(" ");
int tamanho = ultimonome2.Length;
string nomef = nome.Substring(posicao, tamanho);
return nomef;
}
bool n5q4 = ConferirParentesco ("Gustavo ", "Henrique ", "Silveira", "João ", "Guilherme ", "Silva");
//false
```
{"metaMigratedAt":"2023-06-15T22:55:07.175Z","metaMigratedFrom":"Content","title":"Final Session | Fundamentos da Lógica","breaks":true,"contributors":"[{\"id\":\"052c8e10-b233-429a-a1e0-0d8df7864830\",\"add\":12300,\"del\":3427}]"}