# Session Two: Getting Better - Fundamentos de Lógica Autor: Jonathan Fernando Costa Galo. [toc] # Exercícios Tipos Compostos II - Exercícios no C# ## 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. ```csharp= public string IngressosCinema (int qtdInteira, int qtdMeia, double preco, string filme) { double ing1 = qtdInteira * preco; double ing2 = (qtdMeia * preco)/2 ; double tot = ing1 + ing2; int qtdIng = qtdInteira + qtdMeia; string text = "O valor da compra de " + qtdIng + " ingressos referente ao filme " + filme + " é de R$ " + tot + "."; return text; } string x = IngressosCinema(2, 1, 20, "Velozes e Furiosos"); Console.WriteLine(x); ``` ## Crie uma função que implemente a lógica do jogo Jokenpo entre 2 jogadores e retorne verdadeiro ou falso se o jogador 1 venceu. ```csharp= public class Partida { public string Jogador1 { get; set; } public string Jogador2 { get; set; } } public bool Jokenpo(Partida partida) { bool jogador1Venceu = (partida.Jogador1 == "Papel" && partida.Jogador2 == "Pedra") || (partida.Jogador1 == "Pedra" && partida.Jogador2 == "Tesoura") || (partida.Jogador1 == "Tesoura" && partida.Jogador2 == "Papel"); return jogador1Venceu; } Partida p = new Partida(); p.Jogador1 = "Papel"; p.Jogador2 = "Tesoura"; bool x2 = Jokenpo(p); Console.WriteLine("Jogador Venceu: " + x2); Console.WriteLine(); Console.WriteLine(); ``` ## 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 valor da diária é R$ 120,00 ```csharp= public class EstadioHotel { public DateTime Checkin { get; set; } public DateTime Checkout { get; set; } public int QtdPessoas { get; set; } } public double TotalDias1(DateTime ida, DateTime volta) { TimeSpan dif = volta - ida; double dias = dif.TotalDays + 1; return dias; } public double HospedagemHotel(EstadioHotel hotel) { double dias = TotalDias1(hotel.Checkin, hotel.Checkout); double total = dias * hotel.QtdPessoas * 120; return total; } EstadioHotel estadia = new EstadioHotel(); estadia.Checkin = new DateTime(2021, 5, 7); estadia.Checkout = new DateTime(2021, 5, 9); estadia.QtdPessoas = 4; double x3 = HospedagemHotel(estadia); Console.WriteLine("Hospedagem ficou: " + x3); Console.WriteLine(); Console.WriteLine(); ``` ## 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 dif = volta - ida; double dias = dif.TotalDays + 1; return dias; } public double CalcularPassagemAerea(PassagemAerea passagem) { double dias = TotalDias2(passagem.Ida, passagem.Volta); double total = (dias * passagem.QtdAdultos * 200) + (dias * passagem.QtdCriancas * 100); return total; } PassagemAerea passagem = new PassagemAerea(); passagem.Ida = new DateTime(2021, 5, 7); passagem.Volta = new DateTime(2021, 5, 9); passagem.QtdAdultos = 2; passagem.QtdCriancas = 2; passagem.Origem = "SP"; passagem.Destino = "Dublin"; double x4 = CalcularPassagemAerea(passagem); Console.WriteLine("Total da Viagem: " + x4); Console.WriteLine(); Console.WriteLine(); ``` ## 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. ```csharp= public class EstadioHotel2 { public DateTime Checkin { get; set; } public DateTime Checkout { get; set; } public int QtdPessoas { get; set; } } public class PassagemAerea2 { 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 TotalDias3(DateTime ida, DateTime volta) { TimeSpan dif = volta - ida; double dias = dif.TotalDays + 1; return dias; } public double CalcularPassagemAerea(PassagemAerea2 passagem) { double dias = TotalDias3(passagem.Ida, passagem.Volta); double total = (dias * passagem.QtdAdultos * 200) + (dias * passagem.QtdCriancas * 100); return total; } public double HospedagemHotel(EstadioHotel2 hotel) { double dias = TotalDias3(hotel.Checkin, hotel.Checkout); double total = dias * hotel.QtdPessoas * 120; return total; } public Comprovante PacoteViagem(PassagemAerea2 passagem, EstadioHotel2 estadia) { double totalHotel = HospedagemHotel(estadia); double totalPassagem = CalcularPassagemAerea(passagem); double dias = TotalDias3(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; } PassagemAerea2 passagem2 = new PassagemAerea2(); passagem2.Ida = new DateTime(2021, 5, 7); passagem2.Volta = new DateTime(2021, 5, 9); passagem2.QtdAdultos = 2; passagem2.QtdCriancas = 2; passagem2.Origem = "SP"; passagem2.Destino = "Dublin"; EstadioHotel2 estadia2 = new EstadioHotel2(); estadia2.Checkin = new DateTime(2021, 5, 7); estadia2.Checkout = new DateTime(2021, 5, 9); estadia2.QtdPessoas = 4; Comprovante comprovante = PacoteViagem(passagem2, estadia2); Console.WriteLine(comprovante.Total); Console.WriteLine(comprovante.TotalPassagem); Console.WriteLine(comprovante.TotalHotel); Console.WriteLine(comprovante.Mensagem); Console.WriteLine(); Console.WriteLine(); ```
{"metaMigratedAt":"2023-06-15T23:59:51.432Z","metaMigratedFrom":"Content","title":"Session Two: Getting Better - Fundamentos de Lógica","breaks":true,"contributors":"[{\"id\":\"f59e6c25-3cb1-4556-be8b-0ad8b709be8c\",\"add\":6906,\"del\":0}]"}
Expand menu