# Session Recomeçar
autor: Guilherme Oliveira Verissimo
turma: InfoC
número: 21
[toc]
### Exercício 1
Crie uma função que implemente a lógica para calcular a média de 4 notas de um aluno.
```csharp=
public class NotasAluno
{
public double nota1;
public double nota2;
public double nota3;
}
public double Media (NotasAluno notas)
{
return (notas.nota1 + notas.nota2 + notas.nota3) / 3;
}
NotasAluno nova = new NotasAluno();
nova.nota1 = 5;
nova.nota2 = 8;
nova.nota3 = 9;
double Teste = Media (nova);
Teste
// 7.33333333333333
```
### Exercício 2
Crie uma função que implemente a lógica para calcular a área do Retângulo.
```csharp=
public class Retangulo
{
public int basee;
public int altura;
}
public int AreaRetangulo (Retangulo ret)
{
return (ret.basee * ret.altura);
}
Retangulo nova = new Retangulo();
nova.altura = 10;
nova.basee = 15;
int Teste = AreaRetangulo(nova);
Teste
// 150
```
### Exercício 3
Crie uma função que a partir da base e altura de dois triângulos diferentes, crie uma função que verifique se o [Triângulo-1] possui a área igual ao [Triângulo-2], retorne verdadeiro se forem iguais e falso se forem diferentes.
```csharp=
public class Triangulo
{
public int basee;
public int altura;
}
public bool AreasIguais (Triangulo tri1, Triangulo tri2)
{
double triangulo1 = tri1.basee * tri1.altura / 2;
double triangulo2 = tri2.basee * tri2.altura / 2;
return triangulo1 == triangulo2;
}
Triangulo tri1 = new Triangulo();
tri1.altura = 10;
tri1.basee = 20;
Triangulo tri2 = new Triangulo();
tri2.altura = 20;
tri2.basee = 10;
bool Teste = AreasIguais (tri1, tri2);
Teste
// True
```
### Exercício 4
Crie uma função que a partir da quantidade de açaí pequenos, médios e grandes comprados por um cliente, calcule o total a pagar sabendo que os valores do açaí são R$ 10,00, R$ 12,00 e R$ 14,00 respectivamente e não sofrerão alteração de preço.
```csharp=
public class PedidoAcai
{
public int qtdpequeno;
public int qtdmedio;
public int qtdgrande;
}
public int VendaAcai (PedidoAcai pedido)
{
int pequeno = pedido.qtdpequeno * 10;
int medio = pedido.qtdmedio * 12;
int grande = pedido.qtdgrande * 14;
return pequeno + medio + grande;
}
PedidoAcai pedido = new PedidoAcai();
pedido.qtdpequeno = 2;
pedido.qtdmedio = 3;
pedido.qtdgrande = 1;
int Teste = VendaAcai (pedido);
Teste
// 70
```
### Exercício 5
Crie uma função que a partir do preço de um veículo e o total de parcelas que será financiado, calcule o valor final pago considerando uma taxa de 5% por mês.
```csharp=
public class CompraVeiculo
{
public double preco;
public int parcelas;
}
public double CalcularTotalVeiculo (CompraVeiculo compra)
{
double valortaxa = compra.preco / 100 * 5 * compra.parcelas;
return compra.preco + valortaxa;
}
CompraVeiculo compra = new CompraVeiculo();
compra.preco = 32000;
compra.parcelas = 12;
double Teste = CalcularTotalVeiculo (compra);
Teste
// 51200
```
### Exercício 6
Crie uma função que a partir do nome de uma pessoa e um CEP, verifique se o CEP contém o caractere hífen (-) e possui um total de 9 caracteres.
Se o CEP for válido, retorne:
“XXX, o resultado da validação de seu CEP é: true”
ou
“XXX, o resultado da validação de seu CEP é: false”.
```csharp=
public class Endereco
{
public string nomePessoa;
public string cep;
}
public string ValidarCep (Endereco end)
{
bool hifen = end.cep.Contains("-");
bool caract = end.cep.Length == 9;
bool valido = hifen && caract;
return end.nomePessoa + " o resultado da validação de seu CEP é: " + valido;
}
Endereco end = new Endereco();
end.nomePessoa = "Guilherme";
end.cep = "05665-198";
string Teste = ValidarCep (end);
Teste
// Guilherme o resultado da validação de seu CEP é: True
```
### Exercício 7
Crie uma função composta que a partir de três nomes completos, retorne verdadeiro/falso se as pessoas são da mesma família, comparando o último nome das três pessoas
```csharp=
public class Pessoa
{
public string nomeCompleto;
}
public string ExtrairSobrenome (string nome)
{
return nome.Substring(nome.LastIndexOf(" "));
}
public bool MesmaFamilia (Pessoa p1, Pessoa p2, Pessoa p3)
{
string P1 = ExtrairSobrenome(p1.nomeCompleto);
string P2 = ExtrairSobrenome(p2.nomeCompleto);
string P3 = ExtrairSobrenome(p3.nomeCompleto);
return P1 == P2 && P1 == P3;
}
Pessoa p1 = new Pessoa();
p1.nomeCompleto = "Gustavo Ferreira Sousa";
Pessoa p2 = new Pessoa();
p2.nomeCompleto = "Pedro Ferreira Sousa";
Pessoa p3 = new Pessoa();
p3.nomeCompleto = "Lucas Oliveira Ferreira Sousa";
bool Teste = MesmaFamilia (p1, p2, p3);
Teste
// true
```
### Exercício 8
Crie uma função que implemente a lógica para calcular a média de 4 notas de um aluno.
* pedi ajuda nessa com o erick, ficou bem parecida com a dele
```csharp=
using System;
public class Equacao
{
public int a;
public int b;
public int c;
}
public class Resultado
{
public double x1;
public double x2;
}
public double Delta (Equacao termo)
{
return Math.Pow(termo.b, 2) - (4 * termo.a * termo.c);
}
public Resultado EquacaoSegundoGrau (Equacao termo)
{
double X1 = (-termo.b + Math.Sqrt(Delta(termo))) / (2 * termo.a);
double X2 = (-termo.b - Math.Sqrt(Delta(termo))) / (2 * termo.a);
n.x1 = X1;
n.x2 = X2;
return n;
}
Resultado n = new Resultado();
Equacao termo = new Equacao();
termo.a = 1;
termo.b = 4;
termo.c = 2;
Resultado Teste = EquacaoSegundoGrau (termo);
Console.WriteLine(n.x1);
Console.WriteLine(n.x2);
// -0.585786437626905
// -3.41421356237309
```
### Exercício 9
Crie uma função composta que implemente a lógica da seguinte situação: Em uma festa temática de Astrologia, só podem entrar pessoas que são de libra e maiores de 18 anos. Você deve retornar se um casal que irá a festa poderão entrar.
```csharp=
using System;
public class Casal
{
public DateTime nascPessoa1;
public DateTime nascPessoa2;
}
public bool Libra (DateTime nascimento)
{
DateTime Setembro = new DateTime(nascimento.Year,09,23);
DateTime Outubro = new DateTime(nascimento.Year,10,22);
return nascimento >= Setembro && Outubro >= nascimento;
}
public bool Maior18 (DateTime nascimento)
{
return nascimento.AddYears(18) < System.DateTime.Now;
}
public bool PermitirEntradaCasal (Casal crushes)
{
bool MaiorIdade1 = Maior18 (crushes.nascPessoa1);
bool MaiorIdade2 = Maior18 (crushes.nascPessoa2);
bool SaoMaiores = MaiorIdade1 && MaiorIdade2;
bool DeLibra1 = Libra (crushes.nascPessoa1);
bool DeLibra2 = Libra (crushes.nascPessoa1);
bool SaoLibra = DeLibra1 && DeLibra2;
return SaoMaiores && SaoLibra;
}
Casal crushes = new Casal();
crushes.nascPessoa1 = new DateTime(2000,09,25);
crushes.nascPessoa1 = new DateTime(2001,10,12);
bool Teste = PermitirEntradaCasal (crushes);
Teste
// true
```
### Exercício 10
Crie uma função que implemente a lógica da seguinte situação: Para ir e voltar do trabalho uma pessoa abastece o carro semanalmente. A distância percorrida na ida e volta são diferentes, já que ele percorre caminhos diferentes para fugir do trânsito...
```csharp=
public class Trajeto
{
public double distanciaida;
public double distanciavolta;
}
public double GastoMensalAbastecimento (Trajeto comum, Trajeto rodizio, double consumo)
{
double C = (comum.distanciaida + comum.distanciavolta) * 4;
double R = rodizio.distanciaida + rodizio.distanciavolta;
double Totalandado = C + R;
return Totalandado / consumo * 4.50;
}
Trajeto comum = new Trajeto();
comum.distanciaida = 12;
comum.distanciavolta = 10;
Trajeto rodizio = new Trajeto();
rodizio.distanciaida = 15;
rodizio.distanciavolta = 11;
double Teste = GastoMensalAbastecimento (comum, rodizio, 9.5);
Teste
// 54
```