***NOME*** João Gabriel Camargo Ramos
***TURMA*** INFO C
***NUMERO*** 23
# c# pipipi popopo
### Exercício 1
*Crie uma função que implemente a lógica para
calcular a média de 4 notas de um aluno.*
>
```csharp=
using System;
public class NotasAluno
{
public double nota1;
public double nota2;
public double nota3;
public double nota4;
}
public double CalcularMedia (NotasAluno notas)
{
return (notas.nota1 + notas.nota2 + notas.nota3 + notas.nota4)/4;
}
NotasAluno h = new NotasAluno();
h.nota1 = 10;
h.nota2 = 9;
h.nota3 = 8;
h.nota4 = 10;
double k = CalcularMedia(h);
Console.WriteLine(k);
//9.25
```
### Exercício 2
*Crie uma função que implemente a lógica para
calcular a área do Retângulo.*
>
```csharp=
using System;
public class Retangulo
{
public int basee;
public int altura;
}
public int AreaRetangulo (Retangulo ret)
{
return ret.altura * ret.basee;
}
Retangulo s = new Retangulo();
s.altura = 10;
s.basee = 5;
int area = AreaRetangulo(s);
Console.WriteLine(area);
//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=
using System;
public class Triangulo
{
public double basee;
public double altura;
}
public bool AreasIguais (Triangulo tri1,Triangulo tri2)
{
double x = (tri1.altura*tri1.basee)/2;
double z = (tri2.altura*tri2.basee)/2;
return x == z;
}
Triangulo a = new Triangulo();
a.altura = 5;
a.basee = 4;
Triangulo d = new Triangulo();
d.altura = 10;
d.basee = 2;
bool g = AreasIguais(a,d);
Console.WriteLine(g);
//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=
using System;
public class PedidoAcai
{
public int qtdPequeno;
public int qtdMedio;
public int qtdGrande;
}
public double VendaAcai (PedidoAcai pedido)
{
double pq = pedido.qtdPequeno * 10;
double md = pedido.qtdMedio * 12;
double gd = pedido.qtdGrande * 14;
double f = pq+md+gd;
return f;
}
PedidoAcai a = new PedidoAcai();
a.qtdPequeno = 2;
a.qtdMedio = 4;
a.qtdGrande = 1;
double d = VendaAcai(a);
Console.WriteLine(d);
//82
```
### 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=
using System;
public class CompraVeiculo
{
public double preco;
public int parcelas;
}
public double CompraTotalVeiculo (CompraVeiculo compra)
{
return compra.preco + (compra.preco * compra.parcelas * 0.05);
}
CompraVeiculo w = new CompraVeiculo();
w.parcelas = 8;
w.preco = 20000;
double j = CompraTotalVeiculo (w);
Console.WriteLine(j);
//28000
```
### 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”.*
> https://dotnetfiddle.net/SuFCSy
```csharp=
using System;
public class Endereco
{
public string nomePessoa;
public string cep;
}
public bool ValidarCep (Endereco end)
{
bool z = end.cep.Contains("-");
int s = end.cep.Length;
bool k = s == 9 && z;
return k;
}
Endereco a = new Endereco();
a.nomePessoa = "Karina Souza Santos";
a.cep = "04833-001";
bool k = ValidarCep(a);
Console.WriteLine(a.nomePessoa + ", o resultado da validação do seu CEP é: " + k);
//Karina Souza Santos, o resultado da validação do 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=
using System;
public class Pessoa
{
public string nomeCompleto;
}
public string ExtrairSobrenome (string nome)
{
int k = nome.LastIndexOf(" ");
int b = nome.Length;
string h = nome.Substring(k,b-k);
return h;
}
public bool MesmaFamilia (Pessoa p1, Pessoa p2, Pessoa p3)
{
return ExtrairSobrenome(p1.nomeCompleto) == ExtrairSobrenome(p2.nomeCompleto)
&& ExtrairSobrenome(p1.nomeCompleto) == ExtrairSobrenome(p3.nomeCompleto);
}
Pessoa a = new Pessoa ();
a.nomeCompleto = "Maria Diana Santos";
Pessoa b = new Pessoa ();
b.nomeCompleto = "Karina Lima Santos";
Pessoa c = new Pessoa ();
c.nomeCompleto = "Bruno Oliveira Santos";
bool j = MesmaFamilia(a,b,c);
Console.WriteLine(j);
//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=
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 k = (-termo.b + Math.Sqrt(Delta(termo)))/2 * termo.a;
double w = (-termo.b - Math.Sqrt(Delta(termo)))/2 * termo.a;
Resultado a = new Resultado();
a.x1 = k;
a.x2 = w;
return a;
}
Equacao j = new Equacao();
j.a = 1;
j.b = 2;
j.c = -15;
Resultado f = EquacaoSegundoGrau(j);
Console.WriteLine("Os valores de x1 e x2 são, respectivamente " + f.x1 + " e " + f.x2);
//Os valores de x1 e x2 são, respectivamente 3 e -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=
using System;
public class Casal
{
public DateTime nascPessoa1;
public DateTime nascPessoa2;
}
public bool Maior18 (DateTime nascimento)
{
DateTime x = DateTime.Now;
DateTime u = new DateTime(x.Year - 18, x.Month, x.Day);
bool k = u >= nascimento;
return k;
}
public bool Libra (DateTime nascimento)
{
DateTime u = new DateTime(nascimento.Year,09,23);
DateTime z = new DateTime(nascimento.Year,10,22);
bool k = nascimento >= u && nascimento <= z;
return k;
}
public bool PermitirEntradaCasal (Casal crushes)
{
bool s = Libra(crushes.nascPessoa1) && Maior18(crushes.nascPessoa1);
bool d = Libra(crushes.nascPessoa2) && Maior18(crushes.nascPessoa2);
return s && d;
}
Casal a = new Casal();
a.nascPessoa1 = new DateTime(2000,09,30);
a.nascPessoa2 = new DateTime(1998,10,20);
bool i = PermitirEntradaCasal(a);
Console.WriteLine("O casal poderá entrar? " + i);
//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=
using System;
public class Trajeto
{
public double distanciaIda;
public double distanciaVolta;
}
public double GastoMensalAbastecimento (Trajeto comum, Trajeto rodizio, double consumo)
{
double h = (comum.distanciaIda + comum.distanciaVolta)* 4;
double s = (rodizio.distanciaIda + rodizio.distanciaVolta);
double k = (h + s) * 4;
double l = k/consumo;
return l * 3.8;
}
Trajeto a = new Trajeto();
a.distanciaIda = 10;
a.distanciaVolta = 12;
Trajeto b = new Trajeto();
b.distanciaIda = 15;
b.distanciaVolta = 16;
double k = GastoMensalAbastecimento(a,b,10);
Console.WriteLine("O total do abastecimento mensal será de " + k);
//O total do abastecimento mensal será de 180.88
```