---
# System prepended metadata

title: Session Recomeçar

---

# 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
```