---
# System prepended metadata

title: Session One Fundamentos da Lógica | Recomeçar

---

# Session One Fundamentos da Lógica | Recomeçar

Autor: Luigi da silva coelho

[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 nota)
	{
		return (nota.nota1 + nota.nota2 + nota.nota3 + nota.nota4) / 4;
	}

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

	double x = CalcularMedia(alunos);
	Console.WriteLine(x)
    // 8 
```

## Exercício 2
Crie uma função que implemente a lógica para
calcular a área do Retângulo.

```csharp=
        public class Retangulo 
	{
		    public double altura;
		    public double basee;
	}

	public double AreaRetangulo (Retangulo ret)
	{
	            return ret.basee * ret.altura;	
	}

	Retangulo ret = new Retangulo();
		ret.altura = 5;
		ret.basee = 10;

	double x = AreaRetangulo(ret);
	Console.WriteLine(x)
    // 50
```
## 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 altura;
	public double basee;
    }

public bool AreaTriangulo (Triangulo tri1, Triangulo tri2)
    {
	double Areatri1 = (tri1.basee * tri1.altura) / 2;
	double Areatri2 = (tri2.basee * tri2.altura) / 2;
	return Areatri1 == Areatri2;
    }

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

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

bool x = AreaTriangulo (tri1, tri2);
Console.WriteLine(x)
// 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 Pedidos
	{
		public double Pequeno;
		public double Medios;
		public double Grandes;
	}

public double VendaAcai (Pedidos acai)
	{
		double Total = acai.Pequeno * 10 + acai.Medios * 12 + acai.Grandes * 14;
		return Total;
	}

Pedidos acai = new Pedidos();
	acai.Pequeno = 2;
	acai.Medios = 1;
	acai.Grandes = 1;

double x = VendaAcai (acai);
Console.WriteLine(x)
//  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 vlCarro;
	public int parcelas;
}

public double CalcularTotalVeiculo (CompraVeiculo carro)
{
	double juros = carro.vlCarro * carro.parcelas * 5 / 100; 
	double vltotal = carro.vlCarro + juros;
	return vltotal;
}

CompraVeiculo carro = new CompraVeiculo();
    carro.parcelas = 12;
    carro.vlCarro = 25000;

double x = CalcularTotalVeiculo(carro);
Console.WriteLine("O preço total do Veiculo é " + x);
// O preço total do Veiculo é 40000
```

## 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 validarCep = end.cep.Length == 9; 
	bool validarCep2 = end.cep.Contains("-");
	bool validar = validarCep == true && validarCep2 == true;
	return end.NomePessoa + ", o resultado da validação de seu CEP é: " + validar;
}

Endereco end = new Endereco();
end.NomePessoa = "Michael Jordan";
end.cep = "13165-000";

string x = ValidarCep(end);
Console.WriteLine(x)
// Michael Jordan, 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 Extrair (string name)
{
	int espaco = name.LastIndexOf(" ");
	string extrair = name.Substring(espaco);
	return extrair;
}

public bool MesmaFamila (Pessoa p1, Pessoa p2, Pessoa p3)
{
	bool familia = Extrair(p1.NomeCompleto) ==  Extrair(p2.NomeCompleto) && Extrair(p1.NomeCompleto) == Extrair(p3.NomeCompleto);
	return familia;
}

Pessoa p1 = new Pessoa();
p1.NomeCompleto = "Michael Jordan";

Pessoa p2 = new Pessoa();
p2.NomeCompleto = "Lebron James";

Pessoa p3 = new Pessoa();
p3.NomeCompleto = "Bruno Jordan";


bool x = MesmaFamila (p1, p2, p3);
Console.WriteLine(x)
// false
```

## 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 xa;
	public double xb;
}

public double Delta (Equacao termo)
{
	double delta =  Math.Pow(termo.b,2) - 4 * termo.a * termo.c;
	return delta;
}

public Resultado Bhaskara (Equacao termo)
{
	double x1 = (-termo.b + Math.Sqrt(Delta(termo))) / 2 * termo.a;
	double x2 = (-termo.b - Math.Sqrt(Delta(termo))) / 2 * termo.a;
	Resultado x = new Resultado();
	x.xa = x1;
	x.xb = x2;
	return x;
}

Equacao termo = new Equacao();
termo.a = 1;
termo.b = 12;
termo.c = -13;

Resultado x = Bhaskara(termo);
Console.WriteLine("x1 é igual a " + x.xa + "  e x2 é igual " + x.xb)
// x1 é igual a 1  e x2 é igual -13
```

## 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 pessoa1;
	public DateTime pessoa2;
}

public bool MaiorIdade (DateTime nasc)
{
	DateTime hoje = DateTime.Now; 
	TimeSpan idadeParcial = hoje - nasc;
	double anos = idadeParcial.TotalDays / 365;
	bool maior = anos >= 18;
	return maior;
}

public bool Libra (DateTime nasc)
{
	bool possibilidade1 = nasc.Month == 9 && nasc.Day >= 23;
	bool possibilidade2 = nasc.Month == 10 && nasc.Day <= 22;
	return possibilidade1 == true || possibilidade2 == true;
}

public bool EntradaCasal (Casal namorados)
{
	bool entrada1 = Libra(namorados.pessoa1) &&  MaiorIdade (namorados.pessoa1);
	bool entrada2 = Libra(namorados.pessoa2) &&  MaiorIdade (namorados.pessoa2);
	bool entrada = entrada1 == true && entrada2 == true;
	return entrada;
}

Casal namorados = new Casal();
namorados.pessoa1 = new DateTime(2000, 09, 23);
namorados.pessoa2 = new DateTime(2000, 09, 23);

bool x = EntradaCasal(namorados);
Console.WriteLine(x)
// 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 Trajeto
{
	public double IdaComum;
	public double VoltaComum;
}

public double GastoMensal (Trajeto comum, Trajeto rodizio, double consumo)
{
	double Normal = (comum.IdaComum + comum.VoltaComum) * 4;
	double Rodizio = rodizio.IdaComum + rodizio.VoltaComum;
	double mes = (Normal + Rodizio) * 4;
	double Consumo = mes / consumo;
	double litros = Consumo * 3.8;
	return litros;
}

Trajeto comum = new Trajeto();
comum.IdaComum = 10;
comum.VoltaComum = 12;

Trajeto rodizio = new Trajeto();
rodizio.IdaComum = 15;
rodizio.VoltaComum = 16;

double x = GastoMensal (comum, rodizio, 10);
Console.WriteLine(x)
// 180.88
```

