---
# System prepended metadata

title: 'F.L Session One: Recomeçar'

---

### INFO B - Caroline Campos Lima, 04

# F.L Session One: Recomeçar

[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 nota4;
}

public double CalcularMedia(NotasAluno notas)
{
	double media = (notas.nota1 + notas.nota2 + notas.nota3 + notas.nota4) / 4;
	return media;
}

NotasAluno n = new NotasAluno();
n.nota1 = 9;
n.nota2 = 7;
n.nota3 = 8;
n.nota4 = 10;

double a = CalcularMedia (n);
Console.WriteLine("A média do aluno é: " + a);
// A média do aluno é: 8.5
```

## 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)
{
	int area = ret.basee * ret.altura;
	return area;
}

Retangulo r = new Retangulo();
r.basee = 7;
r.altura = 5;

double a = AreaRetangulo(r);
Console.WriteLine("A área do retângulo é: " + a);
// A área do retângulo é: 35
```

## 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 double basee;
	public double altura;
}

public bool AreasIguais(Triangulo tri1, Triangulo tri2)
{
	double a1 = (tri1.altura * tri1.basee) / 2;
	double a2 = (tri1.altura * tri1.basee) / 2;
	return a1 == a2;
}

Triangulo t1 = new Triangulo ();
t1.altura = 5;
t1.basee = 4;

Triangulo t2 = new Triangulo ();
t2.altura = 10;
t2.basee = 2;

bool a = AreasIguais(t1, t2);
Console.WriteLine("As áreas dos triângulos 1 e 2 são iguais? " + a);
// As áreas dos triângulos 1 e 2 são iguais? 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 double VendaAcai(PedidoAcai pedido)
{
	double acaiP = pedido.qtdPequeno * 10.00;
	double acaiM = pedido.qtdMedio * 12.00;
	double acaiG = pedido.qtdGrande * 14.00;
	return acaiP + acaiM + acaiG;
}

PedidoAcai acai = new PedidoAcai ();
acai.qtdPequeno = 2;
acai.qtdMedio = 1;
acai.qtdGrande = 1;

double a = VendaAcai(acai);
Console.WriteLine("Total a pagar: " + a);
// Total a pagar: 46
```

## 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 taxa = 5;
	double juros = compra.preco * compra.parcelas * (taxa / 100);
	double total = compra.preco + juros;
	return total;
}

CompraVeiculo v = new CompraVeiculo();
v.preco = 42000;
v.parcelas = 15;

double a = CalcularTotalVeiculo(v);
Console.WriteLine("Valor do veículo: " + a);
// Valor do veículo: 73500
```

## 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 bool ValidarCEP(Endereco end)
{
	bool numeros = end.cep.Length == 9;
	bool hifen = end.cep.Contains("-");
	return numeros == true && hifen == true; 
}

Endereco e = new Endereco();
e.nomePessoa = "Solange Martins";
e.cep = "48295-358";

bool a = ValidarCEP(e);
Console.WriteLine(e.nomePessoa + ", o resultado da validação de seu CEP é: " + a);
// Solange Martins, 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)
{
	int posicao = nome.LastIndexOf(" ");
	string sobrenome = nome.Substring(posicao);
	return sobrenome;
}

public bool MesmaFamilia(Pessoa p1, Pessoa p2, Pessoa p3)
{
	bool iguais = ExtrairSobrenome(p1.nomeCompleto) == ExtrairSobrenome(p2.nomeCompleto) && ExtrairSobrenome(p1.nomeCompleto) == ExtrairSobrenome(p3.nomeCompleto);
	return iguais;
}

Pessoa p1 = new Pessoa();
p1.nomeCompleto = "José Antônio Lacerda";

Pessoa p2 = new Pessoa();
p2.nomeCompleto = "Bianca Guimarães Lacerda";

Pessoa p3 = new Pessoa();
p3.nomeCompleto = "Pedro Borges Lacerda";

bool a = MesmaFamilia(p1, p2, p3);
Console.WriteLine("São da mesma família? " + a);
// São da mesma família? True
```

## Exercício 8
Crie uma função composta que a partir dos valores 'a', 'b' e 'c', calcule o valor de xi e xii baseado na equação de segundo grau.
```csharp=
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 eq)
{
	double d = Math.Pow(eq.b, 2) - 4 * eq.a * eq.c;
	return d;
}

public Resultado EquacaoSegundoGrau (Equacao eq)
{
	double respx1 = (-eq.b + Math.Sqrt(delta(eq))) / 2 * eq.a;
	double respx2 = (-eq.b - Math.Sqrt(delta(eq))) / 2 * eq.a;
	Resultado res = new Resultado();
	res.x1 = respx1;
	res.x2 = respx2;
	return res;
}

Equacao valoreseq = new Equacao();
valoreseq.a = 1;
valoreseq.b = 3;
valoreseq.c = -10;


Resultado r = EquacaoSegundoGrau(valoreseq);
Console.WriteLine("x1 é igual a: " + r.x1);
Console.WriteLine("x2 é igual a: " + r.x2);
// x1 é igual a: 2
// x2 é igual a: -5
```

## 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=
public class Casal
{
	public DateTime nascPessoa1;
	public DateTime nascPessoa2;
}

public bool Maior18(DateTime nascimento)
{
	DateTime hoje = DateTime.Now;
	return nascimento <= hoje.AddYears(-18);
}

public bool Libra(DateTime nascimento)
{
	bool passo1 = nascimento.Month == 9 && nascimento.Day > 22;
	bool passo2 = nascimento.Month == 10 && nascimento.Day < 23;
	return passo1 == true || passo2 == true;
}

public bool PermitirEntradaCasal (Casal crushes)
{
	bool maior18 = Maior18(crushes.nascPessoa1) == true && Maior18(crushes.nascPessoa2);
	bool libras = Libra(crushes.nascPessoa1) == true && Libra(crushes.nascPessoa2);
	return maior18 == true || libras == true;
}

Casal nasc = new Casal();
nasc.nascPessoa1 = (2005, 10, 17);
nasc.nascPessoa2 = (2000, 2, 4);

bool a = PermitirEntradaCasal(nasc);
Console.WriteLine("O casal poderá entrar? " + a);
// O casal poderá entrar? 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. No dia do rodízio, ele ainda percorre outros caminhos de ida e volta para não levar multa. Sabendo que a pessoa trabalha apenas de segunda a sexta e que o carro será abastecido com gasolina, calcule o total que será gasto no mês considerando que um mês possui 4 semanas. Crie uma função para calcular o total gasto a partir das quilometragens de ida e volta, considerando o dia de rodízio e o consumo por litro do veículo.
```csharp=
public class TrajetoNormal
{
	public double distanciaIda;
	public double distanciaVolta;
}

public class TrajetoRodizio
{
	public double rodizioIda;
	public double rodizioVolta;
}

public class Consumo
{
	public double consumo;
}

public double GastoMensalAbastecimento(TrajetoNormal comum, TrajetoRodizio rodizio, Consumo consumo)
{
	double percursoComum  = (comum.distanciaIda + comum.distanciaVolta) * 4;
	double percursoRodizio = rodizio.rodizioIda + rodizio.rodizioVolta;
	double totalPercurso = percursoComum + percursoRodizio;
	double totalKmMes = totalPercurso * 4;
	double consumoMes = totalKmMes / consumo.consumo;
	double AbastecimentoMes = consumoMes * 3.8;
	return AbastecimentoMes;
}

TrajetoNormal tn = new TrajetoNormal();
tn.distanciaIda = 11;
tn.distanciaVolta = 14;

TrajetoRodizio tr = new TrajetoRodizio();
tr.rodizioIda = 15;
tr.rodizioVolta = 17;

Consumo c = new Consumo();
c.consumo = 12;

double a = GastoMensalAbastecimento(tn, tr, c);
Console.WriteLine("O gasto mensal de Abastecimento é: " + a);
// O gasto mensal de Abastecimento é: 167.2
```
