# Session Two
autor: Felipe Oliveira Verissimo
turma: Info C
número: 16
[toc]
### Exercício 1
Faça uma função ÚNICA que a partir da base e altura, calcule a área do triângulo.
```csharp=
public class IngressoCinemark
{
public int QtdInteira;
public int QtdMeia;
public double Preco;
public string Filme;
}
public string CalcularIngresso(IngressoCinemark ingresso)
{
int totalIngressos = ingresso.QtdInteira + ingresso.QtdMeia;
double totalInteira = ingresso.QtdInteira * ingresso.Preco;
double totalMeia = ingresso.QtdMeia * (ingresso.Preco / 2);
double total = totalInteira + totalMeia;
string final = "O valor da compra de " + totalIngressos + " ingressos referente ao filme " + ingresso.Filme + " é: r$" + total;
return final;
}
IngressoCinemark ingresso = new IngressoCinemark();
ingresso.QtdInteira = 2;
ingresso.QtdMeia = 2;
ingresso.Preco = 10;
ingresso.Filme = "Gigantes de aço";
string x = CalcularIngresso (ingresso);
x
// O valor da compra de 4 ingressos referente ao filme Gigantes de aço é: r$30
```
### Exercício 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;
public string Jogador2;
}
public bool Jokenpo(Partida partida)
{
bool jokenpo = (partida.Jogador1 == "Papel" && partida.Jogador2 == "Pedra") || (partida.Jogador1 == "Pedra" && partida.Jogador2 == "Tesoura") || (partida.Jogador1 == "Tesoura" && partida.Jogador2 == "Papel");
return jokenpo;
}
Partida partida = new Partida();
partida.Jogador1 = "Papel";
partida.Jogador2 = "Pedra";
bool x = Jokenpo (partida);
x
// True
```
### Exercício 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=
using System;
public class EstadioHotel
{
public DateTime Checkin;
public DateTime Checkout;
public int QtdPessoas;
}
public double TotalDias(DateTime ida, DateTime volta)
{
TimeSpan dif = volta - ida;
double dias = dif.TotalDays + 1;
return dias;
}
public double HospedagemHotel(EstadioHotel hotel)
{
double dias = TotalDias(hotel.Checkin, hotel.Checkout);
double valorfinal = dias * hotel.QtdPessoas * 120;
return valorfinal;
}
//
EstadioHotel estadia = new EstadioHotel();
estadia.Checkin = new DateTime(2021, 01, 13);
estadia.Checkout = new DateTime(2021, 02, 01);
estadia.QtdPessoas = 1;
double x = HospedagemHotel(estadia);
x
// Valor total da estadia: R$2400
```
### Exercício 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=
using System;
public class PassagemAerea
{
public DateTime Ida;
public DateTime Volta;
public int QtdAdultos;
public int QtdCriancas;
public string Origem;
public string Destino;
}
public double TotalDias(DateTime ida, DateTime volta)
{
TimeSpan dif = volta - ida;
double dias = dif.TotalDays + 1;
return dias;
}
public double CalcularPassagemAerea(PassagemAerea passagem)
{
double dias = TotalDias(passagem.Ida, passagem.Volta);
double valorfinal = (dias * passagem.QtdAdultos * 200) + (dias * passagem.QtdCriancas * 100);
return valorfinal;
}
PassagemAerea passagem = new PassagemAerea();
passagem.Ida = new DateTime(2021, 01, 13);
passagem.Volta = new DateTime(2021, 01, 14);
passagem.QtdAdultos = 2;
passagem.QtdCriancas = 1;
passagem.Origem = "PI";
passagem.Destino = "CE";
double x = CalcularPassagemAerea (passagem);
x
// O valor total da compra de passagem é: R$1000
```
### Exercício 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=
using System;
public class EstadiaHotel
{
public DateTime Checkin;
public DateTime Checkout;
public int QtdPessoas;
}
public class PassagemAerea
{
public DateTime Ida;
public DateTime Volta;
public int QtdAdultos;
public int QtdCriancas;
public string Origem;
public string Destino;
}
public class Comprovante
{
public double Total;
public double TotalHotel;
public double TotalPassagem;
public string Mensagem;
}
public double TotalDias(DateTime ida, DateTime volta)
{
TimeSpan dif = volta - ida;
double dias = dif.TotalDays + 1;
return dias;
}
public double PassagemAereaa(PassagemAerea passagem)
{
double dias = TotalDias(passagem.Ida, passagem.Volta);
double total = (dias * passagem.QtdAdultos * 200) + (dias * passagem.QtdCriancas * 100);
return total;
}
public double HospedagemHotel(EstadiaHotel hotel)
{
double dias = TotalDias(hotel.Checkin, hotel.Checkout);
double total = dias * hotel.QtdPessoas * 120;
return total;
}
public Comprovante PacoteViagem(PassagemAerea passagem, EstadiaHotel estadia)
{
double totalHotel = HospedagemHotel(estadia);
double totalPassagem = PassagemAereaa(passagem);
double dias = TotalDias(passagem.Ida, passagem.Volta);
Comprovante comprovante = new Comprovante();
comprovante.TotalHotel = totalHotel;
comprovante.TotalPassagem = totalPassagem;
comprovante.Total = totalHotel + totalPassagem;
comprovante.Mensagem = "A compra do Pacote de " + dias + " dias para o destino " + passagem.Destino + " foi finalizado com sucesso! O total incluindo todas despesas é de R$ " + comprovante.Total;
return comprovante;
}
PassagemAerea passagem = new PassagemAerea();
passagem.Ida = new DateTime(2021, 01, 13);
passagem.Volta = new DateTime(2021, 02, 01);
passagem.QtdAdultos = 2;
passagem.QtdCriancas = 1;
passagem.Origem = "PI";
passagem.Destino = "CE";
EstadiaHotel estadia = new EstadiaHotel();
estadia.Checkin = new DateTime(2021, 01, 13);
estadia.Checkout = new DateTime(2021, 02, 01);
estadia.QtdPessoas = 3;
Comprovante comprovante = PacoteViagem (passagem, estadia);
Console.WriteLine(comprovante.Total);
Console.WriteLine(comprovante.TotalPassagem);
Console.WriteLine(comprovante.TotalHotel);
Console.WriteLine(comprovante.Mensagem);
// 17200
// 10000
// 7200
A compra do Pacote de 20 dias para o destino CE foi finalizado com sucesso! O total incluindo todas despesas é de R$ 17200.
```