# Session two: Getting Better | Fundamentos da Lógica **Autor**: Vitório Trindade Santana **Turma**: Informática C **Número**: 50 [toc] ## Exercício 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 CalcularIngresso (IngressoCinemark ingresso) { int totalIngresso = ingresso.QtdInteira + ingresso.QtdMeia; double totalM = (ingresso.QtdMeia * ingresso.Preco) / 2; double totalI = ingresso.QtdInteira * ingresso.Preco; double totalPago = totalM + totalI; string frase = $"O valor da compra de {totalIngresso} ingressos referente ao filme {ingresso.Filme} é R$ {totalPago}"; return frase; } IngressoCinemark x1 = new IngressoCinemark (); x1.QtdInteira = 2; x1.QtdMeia = 3; x1.Preco = 17.99; x1.Filme = "John Wick"; string q1 = CalcularIngresso (x1); Console.WriteLine(q1); // O valor da compra de 5 ingressos referente ao filme John Wick é R$ 62.965 ``` ## 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 { get; set; } public string Jogador2 { get; set; } } public bool Jokenpo(Partida jogada) { bool jogador1Vence = (jogada.Jogador1 == "Papel" && jogada.Jogador2 == "Pedra") || (jogada.Jogador1 == "Pedra" && jogada.Jogador2 == "Tesoura") || (jogada.Jogador1 == "Tesoura" && jogada.Jogador2 == "Papel"); return jogador1Vence; } Partida x2 = new Partida (); x2.Jogador1 = "Papel"; x2.Jogador2 = "Tesoura"; bool q2 = Jokenpo (x2); Console.WriteLine("O jogador 1 venceu? " + q2); //O jogador 1 venceu? False ``` ## 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= public class EstadiaHotel { public DateTime Checkin { get; set; } public DateTime Checkout { get; set; } public int QtdPessoas { get; set; } } public double TotalDias1 (DateTime ida, DateTime volta) { TimeSpan dias = volta - ida; return dias.TotalDays + 1; } public double HospedagemHotel (EstadiaHotel x3) { double totalDias = TotalDias1 (x3.Checkin, x3.Checkout); double preço = totalDias * x3.QtdPessoas * 120 ; return preço; } EstadiaHotel x3 = new EstadiaHotel (); x3.Checkin = new DateTime(2021, 09, 23); x3.Checkout = new DateTime(2021, 10, 2); x3.QtdPessoas = 4; double q3 = HospedagemHotel (x3); Console.WriteLine("O valor total da hospedagem é R$ " + q3); //O valor total da hospedagem é R$ 4800 ``` ## 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= 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 dias = volta - ida; return dias.TotalDays + 1; } public double TotalPassagemAerea (PassagemAerea passagem) { double totalDias = TotalDias2 (passagem.Ida, passagem.Volta); double valorDias = totalDias * 200; double valorCriancas = (valorDias * passagem.QtdCriancas) / 2; double valorAdultos = valorDias * passagem.QtdAdultos; return valorCriancas + valorAdultos; } PassagemAerea x4 = new PassagemAerea (); x4.Ida = new DateTime(2021, 07, 15); x4.Volta = new DateTime(2021, 07, 22); x4.QtdAdultos = 3; x4.QtdCriancas = 1; x4.Destino = "Oslo"; x4.Origem = "São Paulo"; double q4 = TotalPassagemAerea (x4); Console.WriteLine("O valor total da passagem aérea é R$ " + q4); //O valor total da passagem aérea é R$ 5600 ``` ## 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= public class EstadiaHotel { public DateTime Checkin { get; set; } public DateTime Checkout { get; set; } public int QtdPessoas { get; set; } } 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 class Comprovante { public double Total { get; set; } public double TotalHotel { get; set; } public double TotalPassagem { get; set; } public string Mensagem { get; set; } } public double TotalDias (DateTime ida, DateTime volta) { TimeSpan dias = volta - ida; return dias.TotalDays + 1; } public double HospedagemHotel (EstadiaHotel x) { double totalDias = TotalDias (x.Checkin, x.Checkout); double preço = totalDias * x.QtdPessoas * 120 ; return preço; } public double TotalPassagemAerea (PassagemAerea passagem) { double totalDias = TotalDias (passagem.Ida, passagem.Volta); double valorDias = totalDias * 200; double valorCriancas = (valorDias * passagem.QtdCriancas) / 2; double valorAdultos = valorDias * passagem.QtdAdultos; return valorCriancas + valorAdultos; } public Comprovante PacoteViagem (PassagemAerea passagem, EstadiaHotel hospedagem) { double dias = TotalDias (passagem.Volta, passagem.Ida); Comprovante comprovante = new Comprovante(); comprovante.TotalPassagem = TotalPassagemAerea (passagem); comprovante.TotalHotel = HospedagemHotel (hospedagem); comprovante.Total = comprovante.TotalHotel + comprovante.TotalPassagem; comprovante.Mensagem = $"A compra do Pacote de {dias} dias para o destino {passagem.Destino} foi finalizada com sucesso! O total incluindo todas despesas é de R$ {comprovante.Total}"; return comprovante; } EstadiaHotel eH = new EstadiaHotel (); eH.Checkin = new DateTime(2021, 09, 23); eH.Checkout = new DateTime(2021, 10, 2); eH.QtdPessoas = 4; PassagemAerea pg = new PassagemAerea (); pg.Ida = new DateTime(2021, 09, 23); pg.Volta = new DateTime(2021, 10, 2); pg.QtdAdultos = 3; pg.QtdCriancas = 1; pg.Destino = "Oslo"; pg.Origem = "São Paulo"; Comprovante q5 = PacoteViagem (pg, eH); Console.WriteLine(q5.Mensagem); //A compra do Pacote de 8 dias para o destino Oslo foi finalizada com sucesso! O total incluindo todas despesas é de R$ 11800 ```
{"metaMigratedAt":"2023-06-16T00:10:16.260Z","metaMigratedFrom":"Content","title":"Session two: Getting Better | Fundamentos da Lógica","breaks":true,"contributors":"[{\"id\":\"052c8e10-b233-429a-a1e0-0d8df7864830\",\"add\":11998,\"del\":4462}]"}
Expand menu