# Recomeçar | Fund. Lógica
**Author:** Matheus Rafael Morato Rocha
**Turma:** InfoC
**Número:** 40
[TOC]
## Nível 1
Crie uma função que implemete a lógica para calcular a média de 4 notas de um aluno.
```csharp=
public class notas
{
public double nota1;
public double nota2;
public double nota3;
public double nota4;
}
public double NOTAS(notas Final)
{
return (Final.nota1 + Final.nota2 + Final.nota3 + Final.nota4) /4;
}
notas a = new notas ();
a.nota1 = 5;
a.nota2 = 10;
a.nota3 = 6;
a.nota4 = 7;
double x = NOTAS(a);
x
// 7
```
## Nível 2
Crie uma função que implemente a lógica para calcular a área do retangulo
```csharp=
public class Retangulo
{
public double altura;
public double bas;
}
public double AreaRetangulo (Retangulo zap)
{
return zap.altura * zap.bas;
}
Retangulo a = new Retangulo();
a.altura = 50;
a.bas = 70;
double x = AreaRetangulo (a);
x
// 3500
```
## Nível 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 bas;
}
public bool AreaTriangulo (triangulo tri1,triangulo tri2)
{
double Y = (tri1.altura * tri1.bas) /2;
double X = (tri2.altura * tri2.bas) /2;
bool M = X == Y;
return M;
}
triangulo tri1 = new triangulo();
tri1.altura = 10;
tri1.bas = 5;
triangulo tri2 = new triangulo();
tri2.altura = 10;
tri2.bas = 5;
bool a = AreaTriangulo (tri1,tri2);
a
// True
```
## Nível 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 double qtdPequeno;
public double qtdMedio;
public double qtdGrande;
}
public double VendaAcai (PedidoAcai zap2)
{
double venda = (zap2.qtdPequeno * 10) + (zap2.qtdMedio * 12) + (zap2.qtdGrande * 14);
return venda;
}
PedidoAcai zap = new PedidoAcai();
zap.qtdPequeno = 3;
zap.qtdMedio = 4;
zap.qtdGrande = 2;
double X = VendaAcai (zap);
X
// 106
```
## Nível 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=
using System;
public class CarroZap
{
public double Carro;
public double Parcela;
}
public double VendaCarro (CarroZap zap1)
{
double taxa = 5;
double juros = zap1.Carro * zap1.Parcela * (taxa/100);
return juros = zap1.Carro + juros;
}
CarroZap a = new CarroZap();
a.Carro = 25000;
a.Parcela = 12;
double X = VendaCarro(a);
X
// 40000
```
## Nível 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 Verificar
{
public string CEP;
public string Nome;
}
public bool CEP (Verificar end)
{
bool valido = end.CEP.Contains("-");
bool caractere = end.CEP.Length == 9;
bool x = caractere || valido;
return x;
}
Verificar a = new Verificar();
a.Nome= "Matheus";
Verificar b = new Verificar();
b.CEP= "988-959-659";
Console.Write(a.Nome);
Console.Write(" o resultado da validação de seu CEP é:");
Console.Write(CEP(b));
// Matheus o resultado da validação de seu CEP é:True
```
## Nível 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 Familia
{
public string Nome1;
public string Nome2;
public string Nome3;
}
public bool Verificar (Familia Membros)
{
bool Y = GrandeFamilia(Membros.Nome1) == GrandeFamilia(Membros.Nome3);
bool X = GrandeFamilia(Membros.Nome1) == GrandeFamilia(Membros.Nome2);
return X;
}
public string GrandeFamilia (string Familia)
{
int localizar = Familia.LastIndexOf(" ");
string recortar = Familia.Substring(localizar);
return recortar;
}
Familia Membros = new Familia();
Membros.Nome1= "Roberto Silva Cabral";
Membros.Nome2 = "Roberto Silva Cabral";
Membros.Nome3 = "Roberto Silva Cabral";
bool Y = Verificar(Membros);
Y
// True
```
## Nível 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 EncontraX
{
public double x1;
public double x2;
}
Equacao Y = new Equacao();
Y.a = 10;
Y.b = 20;
Y.c = 10;
EncontraX X = new EncontraX();
X.x1 = 10;
X.x2 = 20;
public double EncontrarX1 (Equacao Numero)
{
double x1 = (-Numero.b + Math.Sqrt(DELTA(Numero))) / (2 * Numero.a);
return x1;
}
public double EncontrarX2 (Equacao Numero)
{
double x2 = (-Numero.b - Math.Sqrt(DELTA(Numero))) / (2 * Numero.a);
return x2;
}
public double DELTA (Equacao Numero)
{
double delta = Math.Pow(Numero.b,2) - (4) * (Numero.a) * (Numero.b);
return delta;
}
System.Console.WriteLine(EncontrarX1(Y));
System.Console.WriteLine(EncontrarX2(Y));
// -20 -20
```
## Nível 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 Pessoa
{
public System.DateTime NascPessoa1;
public System.DateTime NascPessoa2;
}
public bool PodeEntrar (Pessoa Niver)
{
bool x = MaiorDeIdade(Niver) || Signo(Niver);
return x;
}
public bool MaiorDeIdade (Pessoa Niver)
{
System.DateTime a = Niver.NascPessoa1;
bool y = a.AddYears(18) <= System.DateTime.Now;
return y;
}
public bool Signo (Pessoa Niver)
{
System.DateTime a = Niver.NascPessoa1;
bool x = a.Month == 9 && a.Day > 22;
return x;
}
Pessoa Casal = new Pessoa();
Casal.NascPessoa1 = new System.DateTime (2002-10-04);
Casal.NascPessoa2 = new System.DateTime (2002-20-10);
bool a = PodeEntrar (Casal);
a
// True
```
## Nível 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 DistanciaIda;
public double DistanciaVolta;
}
public double GastoMensalAbastecimento (Trajeto comum,Trajeto rodizio,double Consumo)
{
double Ida = (comum.DistanciaIda * Consumo) / 5.50;
double Volta = (comum.DistanciaVolta * Consumo) / 5.50;
double calculo = (Ida + Volta) * 4;
double rodizioIda = (rodizio.DistanciaIda * Consumo) / 5.50;
double rodizioVolta = (rodizio.DistanciaVolta * Consumo) / 5.50;
double calculoRodizio = rodizioIda + rodizioVolta;
double total = (calculo + calculoRodizio) * 4;
return total;
}
Trajeto comum = new Trajeto();
comum.DistanciaIda = 50;
comum.DistanciaVolta = 60;
Trajeto Rodizio = new Trajeto();
Rodizio.DistanciaIda = 60;
Rodizio.DistanciaVolta = 80;
System.Console.Write(GastoMensalAbastecimento(comum,Rodizio,7.4));
// 3121.45454545455
```