# Super Bônus | Csharp
autor: Guilherme Oliveira Verissimo
turma: InfoC
número: 21
[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 AreaDoTriangulo (double Base, double Altura)
{
return Base * Altura / 2;
}
double Teste = AreaDoTriangulo (10, 20);
Teste
// 100
```
### Exercício 2
Faça uma função ÚNICA que a partir do lado, calcule o perímetro do octógono.
```csharp=
public double PerimetroDoOctogono (double Lado)
{
return Lado * 8;
}
double Teste = PerimetroDoOctogono (10);
Teste
// 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 AreaDoTrapezio (double BaseA, double BaseB, double Altura)
{
return (BaseA + BaseB) * Altura / 2;
}
double Teste = AreaDoTrapezio (10, 20, 10);
Teste
// 150
```
### 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 DiagonalMaior, double DiagonalMenor)
{
return DiagonalMaior * DiagonalMenor / 2;
}
double Teste = AreaDoLosango (5, 10);
Teste
// 25
```
### Exercício 5
Faça uma função ÚNICA que a partir da base e altura, calcule a área do paralelogramo.
```csharp=
public double AreaDoParalelogramo (double Base, double Altura)
{
return Base * Altura;
}
double Teste = AreaDoParalelogramo (10, 20);
Teste
// 200
```
## Nível 2
### 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=
using System;
public double Hipotenusa (double CatetoO, double CatetoA)
{
return Math.Round (Math.Sqrt(Math.Pow(CatetoA,2) - Math.Pow(CatetoO,2)),1);
}
double Teste = Hipotenusa (10, 20);
Teste
// 17.3
```
### 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=
using System;
public double IMC (double Peso, double Altura)
{
return Math.Round(Peso / (Altura * Altura),2);
}
double Teste = IMC (60, 1.65);
Teste
// 22.04
```
### 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=
using System;
public double EnergiaCinetica (double Massa, double Velocidade)
{
return Massa * Math.Pow(Velocidade, 2) / 2;
}
double Teste = EnergiaCinetica (8, 9);
Teste
// 324
```
### Exercício 5
```csharp=
using System;
public double VolumeDoCilindro (double Altura, double Raio)
{
return Altura * 3.14 * (Math.Pow(Raio,2));
}
double Teste = VolumeDoCilindro (10, 12);
Teste
// 4521.6
```
## 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)
{
return Nome.Substring(0,Nome.IndexOf(" "));
}
string Teste = PrimeiroNome ("Guilherme Oliveira Verissimo");
Teste
// Guilherme
```
### 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)
{
int A = Nome.LastIndexOf(" ");
int B = Nome.Length;
return Nome.Substring(A,B - A);
}
string Teste = UltimoNome ("Guilherme Oliveira Verissimo");
Teste
// Verissimo
```
### 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 DominioDoEmail (string Email)
{
int E = Email.IndexOf("@");
int D = Email.Length;
return Email.Substring(E,D - E);
}
string Teste = DominioDoEmail ("ra48430534814@acaonsfatima.org.br");
Teste
// @acaonsfatima.org.br
```
### 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 ApenasOsNumeros (string Numero)
{
return Numero.Substring(1,2) + Numero.Substring(5,5) + Numero.Substring(11,4);
}
string Teste = ApenasOsNumeros ("(11) 94343-0808");
Teste
// 11943430808
```
## 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=
using System;
public DateTime UltimoDiaDoMes (DateTime Data)
{
return new DateTime(Data.Year, Data.Month, DateTime.DaysInMonth(Data.Year, Data.Month));
}
DateTime DataTeste = new DateTime(2017,12,10);
DateTime Teste = UltimoDiaDoMes(DataTeste);
Teste
// 12/31/2017
```
### 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=
using System;
public DateTime PrimeiroDiaDoMes (DateTime Data)
{
DateTime UltimoDia = new DateTime(Data.Year, Data.Month, DateTime.DaysInMonth(Data.Year, Data.Month));
return UltimoDia.AddDays(1);
}
DateTime DataTeste = new DateTime(2017,12,10);
DateTime Teste = PrimeiroDiaDoMes(DataTeste);
Teste
// 1/1/2018
```
### 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=
using System;
public bool SegundoTrimestre (DateTime Data)
{
int ExtrairMes = Data.Month;
return ExtrairMes >= 4 && ExtrairMes <= 6;
}
DateTime DataTeste = new DateTime(2017,12,10);
bool Teste = SegundoTrimestre(DataTeste);
Teste
// 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=
using System;
public bool PrimeiraQuinzena (DateTime Data)
{
return Data.Day <= 15;
}
DateTime DataTeste = new DateTime(2017,12,15);
bool Teste = PrimeiraQuinzena(DataTeste);
Teste
// True
```
## Nível 5
### 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 double PrimeiroMaisRazao (double N, double R)
{
return (N - 1) * R;
}
public double TermoGeralDaPA (double A, double N, double R)
{
double B = PrimeiroMaisRazao(N, R);
return A + B;
}
double Teste = TermoGeralDaPA (10, 12, 15);
Teste
// 175
```
### Exercício 3
```csharp=
using System;
public double PrimeiroMenosUm (double R, double N)
{
return Math.Pow(R, (N-1));
}
public double TermoGeralDaPG (double A, double R, double N)
{
double B = PrimeiroMenosUm (R, N);
return A * B;
}
double Teste = TermoGeralDaPG (10, 12, 15);
Teste
// 1.28391846454886E+16
```
### 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 int NomeDaPrimeiraPessoa (string Nome)
{
int q = Nome.Length;
int x = Nome.LastIndexOf(" ");
return q - x;
}
public int NomeDaSegundaPessoa (string Nome)
{
int q = Nome.Length;
int x = Nome.LastIndexOf(" ");
return q - x;
}
public bool PertencemAMesmaFamilia (string NomeDaPrimeira, string NomeDaSegunda)
{
int Nome1 = NomeDaPrimeiraPessoa (NomeDaPrimeira);
int Nome2 = NomeDaSegundaPessoa (NomeDaSegunda);
int q = NomeDaPrimeira.Length;
int t = NomeDaSegunda.Length;
int s = NomeDaPrimeira.LastIndexOf(" ");
int k = NomeDaSegunda.LastIndexOf(" ");
string Primeira = NomeDaPrimeira.Substring(s,Nome1);
string Segunda = NomeDaSegunda.Substring(k,Nome2);
return Primeira == Segunda;
}
bool Teste = PertencemAMesmaFamilia ("João Pedro Ferreira", "José Pedro Ferreira");
Teste
// True
```
### 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=
using System;
public bool PertenceAoSigno (DateTime Data)
{
DateTime Setembro = new DateTime(Data.Year,09,23);
DateTime Outubro = new DateTime(Data.Year,10,22);
return Data >= Setembro && Outubro >= Data;
}
public bool mesmosigno (DateTime DataPrimeiraPessoa, DateTime DataSegundaPessoa)
{
bool PrimeiraPessoa = PertenceAoSigno (DataPrimeiraPessoa);
bool SegundaPessoa = PertenceAoSigno (DataSegundaPessoa);
return PrimeiraPessoa && SegundaPessoa;
}
DateTime DataPrimeiraPessoa = new DateTime(2005,10,12);
DateTime DataSegundaPessoa = new DateTime(2017,10,21);
bool Teste = mesmosigno (DataPrimeiraPessoa, DataSegundaPessoa);
Teste
// True
```
{"metaMigratedAt":"2023-06-15T22:58:48.618Z","metaMigratedFrom":"Content","title":"Super Bônus | Csharp","breaks":true,"contributors":"[{\"id\":\"31e7052c-d777-4fb0-b189-63fab945e035\",\"add\":9187,\"del\":776}]"}