# Session Two: Getting Better | Fund. Lógica
autor: Alan Oliveira Rocha Santiago
turma: InfoB
número: 02
[TOC]
## Exercicio 1
Crie uma função que implemente a lógica para calcular o valor total a ser
pago na compra de ingressos do Cinemark. A partir do total de ingressos
inteiras, meias e o preço cheio do ingresso, realize o cálculo.
A função deve retornar uma mensagem no seguinte formato:
“O valor da compra de XXX ingressos referente ao filme XXX é R$ XXX”
```csharp=
public class IngressoCinemark
{
public int QtdInteira { get; set; }
public int QtdMeia { get; set; }
public double Preco { get; set; }
public string Filme { get; set; }
}
public string CalcularIngressos(IngressoCinemark Ingresso)
{
int TotalIngressos = Ingresso.QtdInteira + Ingresso.QtdMeia;
double inteiras = Ingresso.QtdInteira * Ingresso.Preco;
double meias = Ingresso.QtdMeia * (Ingresso.Preco / 2);
double total = meias + inteiras;
string mensagem = $"O valor da compra de {TotalIngressos} ingressos referente ao filme {Ingresso.Filme} é R${total}";
return mensagem;
}
private const string V = "papel";
IngressoCinemark cine = new IngressoCinemark();
cine.QtdInteira = 2;
cine.QtdMeia = 2;
cine.Preco = 30;
cine.Filme = "Nascido Para Matar";
String ic = CalcularIngressos(cine);
Console.WriteLine(ic);
```
## Exercicio 2
Crie uma função que implemente a lógica do jogo Jokenpo
entre 2 jogadores e retorne verd/falso se o jogador 1 venceu.
As possibilidades de jogada são “Papel”, “Pedra” e “Tesoura”.
```csharp=
public class Partida
{
public string Jogador1 { get; set; }
public string Jogador2 { get; set; }
}
public bool Jokenpo(Partida partida)
{
bool x = partida.Jogador1 == "papel" && partida.Jogador2 == "pedra";
bool y = partida.Jogador1 == "pedra" && partida.Jogador2 == "tesoura";
bool z = partida.Jogador1 == "tesoura" && partida.Jogador2 == "papel";
bool venceu = x == true || y == true || z == true;
return venceu;
}
Partida jk = new Partida();
jk.Jogador1 = "papel";
jk.Jogador2 = "pedra";
bool pj = Jokenpo(jk);
Console.WriteLine("o Jogador 1 venceu? " + pj);
```
## Exercicio 3
Crie uma função composta que a partir das datas de checkin (entrada)
e checkout (saída) em um hotel, considerando a quantidade de pessoas
que serão hospedadas, calcule o valor total a ser pago, sendo que o
valor da diária é R$ 120,00.
```csharp=
public class EstadiaHotel
{
public DateTime Checkin { get; set; }
public DateTime Checkout { get; set; }
public int QtdPessoas { get; set; }
}
public double TotalDias(DateTime entrada, DateTime saida)
{
TimeSpan x = saida - entrada;
double y = x.TotalDays + 1;
return y;
}
public double HospedagemHotel(EstadiaHotel hotel)
{
double x = TotalDias(hotel.Checkin, hotel.Checkout);
double y = x * hotel.QtdPessoas * 120;
return y;
}
EstadiaHotel estadia = new EstadiaHotel();
estadia.Checkin = new DateTime(2021,5,7);
estadia.Checkout = new DateTime(2021,5,9);
estadia.QtdPessoas = 4;
double ho = HospedagemHotel (estadia);
Console.WriteLine ("o valor total da hospedagem será de: " + ho);
```
## Exercicio 4
Crie uma função composta que implemente a lógica para calcular
o valor total de uma compra de passagem aérea. A companhia de
viagem está com uma promoção que independente do destino,
os passageiros serão cobrados por dia de viagem, onde cada dia
custa R$ 200,00. Crianças são cobradas pela metade.
```csharp=
public class PassagemAerea
{
public DateTime Ida{get; set;}
public DateTime Volta{get; set;}
public int QtdAdultos{get; set;}
public int QtdCriancas{get; set;}
public string Origem{get; set;}
public string Destino{get; set;}
}
public double TotalDias2(DateTime ida,DateTime volta)
{
TimeSpan x = volta - ida;
double y = x.TotalDays + 1;
return y;
}
public double PassagemAviao(PassagemAerea passagem)
{
double dias = TotalDias2(passagem.Ida,passagem.Volta);
double adultos = passagem.QtdAdultos * 200;
double meias = passagem.QtdCriancas * (200/2);
double total = (adultos + meias) * dias;
return total;
}
PassagemAerea p = new PassagemAerea();
p.Ida = new DateTime(2021,05,18);
p.Volta = new DateTime(2021,05,20);
p.QtdAdultos = 2;
p.QtdCriancas = 2;
p.Origem = "SP";
p.Destino = "Miami";
double pa = PassagemAviao(p);
Console.WriteLine ("a viagem custará " + pa);
```
## Exercicio 5
Crie uma função composta que implemente a lógica da compra de um Pacote de Viagem em Família. Esse pacote é composto pela viagem aérea e hospedagem em
um hotel. Utilize as mesmas regras descritas nos exercícios anteriores e retorne um comprovante da compra do pacote contendo os totais do hotel, passagem e o
valor final da compra. O comprovante deve ter uma mensagem que segue o template abaixo:
“A compra do Pacote de XXX dias para o destino XXX foi finalizado com sucesso! O total incluindo todas despesas é de R$ XXX”
```csharp=
public class PassagemAerea3
{
public DateTime Ida{get; set;}
public DateTime Volta{get; set;}
public int QtdAdultos{get; set;}
public int QtdCriancas{get; set;}
public string Origem{get; set;}
public string Destino{get; set;}
}
public class EstadiaHotel3
{
public DateTime Checkin { get; set; }
public DateTime Checkout { get; set; }
public int QtdPessoas { get; set; }
}
public class Comprovante3
{
public double Total{get; set;}
public double TotalHotel{get;set;}
public double TotalPassagem{get; set;}
public string Mensagem{get; set;}
}
public double TotalDias3(DateTime ida, DateTime volta)
{
TimeSpan x = volta - ida;
double y = x.TotalDays + 1;
return y;
}
public double HospedagemHotel3(EstadiaHotel3 hotel)
{
double x = TotalDias3(hotel.Checkin, hotel.Checkout);
double y = x * hotel.QtdPessoas * 120;
return y;
}
public double PassagemAviao3(PassagemAerea3 passagem)
{
double dias = TotalDias3(passagem.Ida,passagem.Volta);
double adultos = passagem.QtdAdultos * 200;
double meias = passagem.QtdCriancas * (200/2);
double total = (adultos + meias) * dias;
return total;
}
public Comprovante3 PacoteViagem(PassagemAerea3 passagem,EstadiaHotel3 hospedagem)
{
double pass = PassagemAviao3(passagem);
double hosp = HospedagemHotel3(hospedagem);
double dias = TotalDias3(passagem.Ida, passagem.Volta);
Comprovante3 c = new Comprovante3();
c.TotalHotel = hosp;
c.TotalPassagem = pass;
c.Total = hosp + pass;
c.Mensagem = $"A compra do Pacote de {dias} dias para o destino {passagem.Destino} foi finalizado com sucesso! O total incluindo todas despesas é de R${c.Total}";
return c;
}
PassagemAerea3 p3 = new PassagemAerea3();
p3.Ida = new DateTime(2021,05,18);
p3.Volta = new DateTime(2021,05,20);
p3.QtdAdultos = 2;
p3.QtdCriancas = 2;
p3.Origem = "SP";
p3.Destino = "Miami";
EstadiaHotel3 e3 = new EstadiaHotel3();
e3.Checkin = new DateTime(2021,5,7);
e3.Checkout = new DateTime(2021,5,9);
e3.QtdPessoas = 4;
Comprovante3 pv = PacoteViagem(p3,e3);
Console.WriteLine(pv.TotalHotel);
Console.WriteLine(pv.TotalPassagem);
Console.WriteLine(pv.Total);
Console.WriteLine(pv.Mensagem);
```
{"metaMigratedAt":"2023-06-16T00:37:04.780Z","metaMigratedFrom":"Content","title":"Session Two: Getting Better | Fund. Lógica","breaks":true,"contributors":"[{\"id\":\"1ac86fe9-aad5-49b4-b562-fee077af4a56\",\"add\":7172,\"del\":8}]"}