# Super Bônus | Csharp
autor: Lucas Bezerra Sampaio
[TOC]
## Nivel 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 base1, double altura1){
return (base1 * altura1) / 2;
}
double teste = AreaTriangulo(10, 2);
teste
10
```
### 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){
return lado * 8;
}
double teste1 = PerimetroOctogono(10);
teste1
80
```
### 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 double AreaTrapezio ( double baseMenor, double baseMaior, double Altura ){
return (((baseMenor * baseMaior) * Altura) / 2);
}
double teste2 = AreaTrapezio (2, 3, 7);
teste2
21
```
### 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 AreaDoLosango ( double diagonal1, double diagonal2 ){
return ((diagonal1 * diagonal2) / 2);
}
double teste3 = AreaDoLosango (10, 12);
teste3
60
```
### Exercício 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 ){
return b * h;
}
double teste4 = AreaParalelogramo (2, 5);
teste4
10
```
## Nivel II
### Exercício 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 Hipotenusa (double catetoAdjacente, double catetoOposto) {
double soma = Math.Pow(catetoAdjacente, 2) + Math.Pow(catetoOposto, 2);
double soma2 = (Math.Round(soma, 1));
double raiz = Math.Sqrt(soma2);
return Math.Pow(raiz, 1);
}
double teste5 = Hipotenusa (4 ,3);
teste5
5.0
```
### 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
calcule o IMC. Arredonde a resposta para duas casas decimais
```csharp=
public double IMC (double peso, double altura ){
double pesoPoraltura = (peso / (Math.Pow(altura, 2)));
return Math.Round(pesoPoraltura, 2);
}
double teste6 = IMC (54, 1.70);
teste6
18.69
```
### 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 JurosCompostos (double capital, int parcelas, double taxa){
double juros = capital * Math.Pow(1 + taxa / 100, parcelas);
double novo = capital + juros;
return Math.Round(novo, 2);
}
}
double teste7 = JurosCompostos (1000, 12, 3);
teste7
2425.76
```
### 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 EnergiaCinetica (double massa, double velocidade) {
double Ec1 = Math.Pow(velocidade, 2);
double Ec2 = ((massa * Ec1) / 2);
return Ec2;
}
double teste8 = EnergiaCinetica(1000, 3);
teste8
4500
```
### 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 r, double h){
return 3.14 * (Math.Pow(r, 2)) * h;
}
double Teste9 = 3Cilindro (4, 20);
Console.WriteLine(x +" m³");
1004.8 m³
```
## 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=
public string PrimeiroNome (string NomeCompleto) {
int espacamento = NomeCompleto.IndexOf(" ");
string Recorte = NomeCompleto.Substring(0, espacamento );
return Recorte;
}
string teste10 = PrimeiroNome ("Lucas Bezerra Sampaio");
teste10
Lucas
```
### 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 nomecompleto){
int recorte = nomecompleto.LastIndexOf(" ");
string xx = nomecompleto.Substring(recorte);
return xx;
}
string teste11 = UltimoNome("Lucas Bezerra Sampaio");
teste11
Sampaio
```
### 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 ExtrairDominio (string email){
int extrair = email.IndexOf("@");
string result = email.Substring(extrair);
return result;
}
string teste12 = ExtrairDominio("Lucas@lucas.Org");
teste12
@lucas.Org
```
### 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 CEP (string cep ){
bool contem = cep.Contains("-");
int caracter = cep.Length;
bool valido = caracter == 9 && contem == true;
return valido;
}
bool teste13 = CEP("04841030-30");
teste13
true
```
### 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.
```csharp=
public string ExtrairTelefone (string telefone){
return telefone.Replace(" ", "").Replace("(", "").Replace(")", "").Replace("-", "");
}
string teste14 = ExtrairTelefone ("(11) 94343-0808");
teste14
11943430808
```
## Nivel 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 ultimoDiaDoMes = new DateTime(data.Year,data.Month, DateTime.DaysInMonth(data.Year, data.Month));
return ultimoDiaDoMes;
}
DateTime novadata = New DateTime(2021,12,12);
DateTime Teste15 = UltimoDiaMes(novadata);
teste15
12/31/2021 12:00:00 AM
```
### Exercício 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 PrimeiroDiaProximoMes (DateTime data){
DateTime e = new DateTime(data.Year, data.Month, 1);
DateTime proximo = e.AddMonths(1);
return proximo;
}
DateTime a = new DateTime(2021,06,09);
DateTime Teste = PrimeiroDiaProximoMes(a);
teste16
7/1/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 PertenceSegundoTrimestre (DateTime data){
int mes = data.Month;
bool z = mes == 4 || mes == 5 || mes == 6;
return z;
}
bool Teste16 = PertenceSegundoTrimestre (new DateTime(2021,01,01));
Teste17
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.
**ESSA QUESTÃO EU PULO**
### 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 x = data.Day;
bool resposta = x >= 1 && x <= 15;
return resposta;
}
DateTime opa = new DateTime(2021,04,17);
bool Teste18 = PrimeiraQuinzenaDoMes (opa);
Teste18
false
```
## Nível V
### 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 do primeiro grau.
```csharp=
public double Conta (double a, double b, double c){
double z = primeiro (b, c);
double y = z/a;
return y;
}
public double primeiro (double b, double c){
return (c-b);
}
double Teste19 = Conta (4,2,10);
Teste19
2
```
### Exercício 2
Faça uma função COMPOSTA que encontre um termo de uma PA, a partir do primeiro termo, razão e posição do termo que deseja econtrar.
```csharp=
public double TermoGeralPA (double primeiroTermo, double razao, double posicao){
return primeiroTermo + (Conta2(posicao, razao));
}
public double Conta2 (double posicao, double razao) {
return (posicao - 1) * razao;
}
double teste20 = TermoGeralPA(2, 2, 102);
teste20
204
```
### Exercício 3
Faça uma função COMPOSTA que encontre um termo de uma PG, a partir do primeiro termo, razão e posição do termo que deseja encontrar.
```csharp=
public double TermoGeralPG (double PrimeiroTermo, double razao, double posicaoDoTermo){
double calculoRazao = Math.Pow(razao, CalculoPosicao(posicaoDoTermo));
double calculoTotal = PrimeiroTermo * calculoRazao;
return calculoTotal;
}
public double CalculoPosicao (double posicaoDoTermo){
return posicaoDoTermo - 1;
}
double teste21 = TermoGeralPG(3, 3, 4);
teste21
81
```
### 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 Familiar (string pessoa1, string pessoa2){
bool ultimosNomes = UltimoNome(pessoa1) == UltimoNome(pessoa2);
return ultimosNomes;
}
public string UltimoNome (string nomecompleto){
int posicao = nomecompleto.LastIndexOf(" ");
string recorte = nomecompleto.Substring(posicao);
return recorte;
}
string nome1 = "Lucas Bezerra Sampaio";
string nome2 = "Gabriel Ferreira silva";
bool teste22 = Familiar(nome1, nome2);
teste22
false
```