# Condição | Fund. Lógica **Author:** Matheus Rafael Morato Rocha **Turma:** InfoC **Número:** 40 [TOC] ## Nível 1 Crie uma função simples que verifique se dois retângulos são iguais baseado em suas áreas. - Se forem iguais, retorne: “Os retângulos são iguais” - Se forem diferentes, retorne: “Os retângulos são diferentes” ```csharp= public string RetangulosIguais (double a1,double b1,double a2,double b2) { double area1 = b1 * a1; double area2 = b2 * a2; bool iguais = area1 == area2; string a; if (iguais == true) { a = "Os retângulos são iguais"; } else { a = "Os retângulos são diferentes"; } return a; } string x = RetangulosIguais (10,5,10,5); Console.WriteLine(x); // Os retângulos são iguais ``` ## Nível 2 Crie uma função compostas que verifique se dois retângulos são iguais baseado em suas áreas. - Se forem iguais, retorne: “Os retângulos são iguais” - Se o primeiro for maior, retorne: “O primeiro retângulo é maior.” - Se o segundo for maior, retorne: “O segundo retângulo é maior.” ```csharp= public double AreasRetangulos (double a,double b) { double area = b * a; return area; } public string RetangulosIguais (double a1,double b1,double a2,double b2) { double area1 = AreasRetangulos(a1,b1); double area2 = AreasRetangulos(a2,b2); bool iguais = area1 == area2; string a = ""; if (iguais == true) { a = "Os retângulos são iguais"; } if (area1 > area2) { a = "O primeiro retângulo é maior."; } if (area1 < area2) { a = "O segundo retângulo é maior."; } return a; } string x = RetangulosIguais (10,10,10,5); Console.WriteLine(x); // O primeiro retângulo é maior. ``` ## Nível 3 Crie uma função compostas que verifique se três retângulos são iguais baseado em suas áreas. - Se forem iguais, retorne: “Os retângulos são iguais” - Se o primeiro for o maior, retorne: “O primeiro retângulo é maior.” - Se o segundo for o maior, retorne: “O segundo retângulo é maior.” - Se o terceiro for o maior, retorne: “O terceiro retângulo é maior.” - Se todos testes acima forem falsos, retorne: “Existem 2 maiores retângulos” ```csharp= public class Retangulo { public double Basee {get;set;} public double Altura {get;set;} } Retangulo ret1 = new Retangulo(); ret1.Basee = 10; ret1.Altura = 5; Retangulo ret2 = new Retangulo(); ret2.Basee = 10; ret2.Altura = 5; Retangulo ret3 = new Retangulo(); ret3.Basee = 10; ret3.Altura = 10; public double AreasRetangulos (Retangulo ret) { double area = ret.Basee * ret.Altura; return area; } public string MaiorRetangulo (Retangulo ret1,Retangulo ret2,Retangulo ret3) { double area1 = AreasRetangulos(ret1); double area2 = AreasRetangulos(ret2); double area3 = AreasRetangulos(ret3); bool iguais = area1 == area2 && area3 == area1; string a = ""; if (iguais == true) { a = "Os retângulos são iguais"; }else { bool iguais1 = area1 == area2 || area3 == area1; if (iguais1 == true) { a = "Existem 2 maiores retângulos"; } }; if (area1 > area2 && area1 > area3) { a = "O primeiro retângulo é maior."; } if (area2 > area1 && area2 > area3) { a = "O segundo retângulo é maior."; } if (area3 > area1 && area3 > area2) { a = "O terceiro retângulo é maior."; } return a; } string x = MaiorRetangulo (ret1,ret2,ret3); Console.WriteLine(x); // O terceiro retângulo é maior. ``` ## Nível 4 Crie a(s) classe(s) representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas: ▪ Calcular o valor total a pagar referente a compra de um ingresso do Cinemark considerando se o ingresso é meia ou inteira. ▪ Realize a lógica acima, mas no retorno você deve seguir o padrão abaixo: “Compra concluída! O ingresso para o filme XXX é de R$ XXXX” ▪ Realize a lógica da primeira função, mas considerando a compra de dois ingressos ```csharp= using System; public class Ingressos { public bool Meia {get;set;} public double Preco {get;set;} public string Filme {get;set;} } public class Cinemark { public double CalcularTotal1 (Ingressos Ing) { double a = 2; if(Ing.Meia == true) { a = Ing.Preco / 2; } if(Ing.Meia == false) { a = Ing.Preco; } return a; } public string CalcularTotal2 (Ingressos Ing) { string a = ""; if(Ing.Meia == true) { a = $"Compra concluída! O ingresso para o filme {Ing.Filme} éde R$ {Ing.Preco / 2}"; } if(Ing.Meia == false) a = $"Compra concluída! O ingresso para o filme {Ing.Filme} éde R$ {Ing.Preco}"; return a; } public double CalcularTotal3 (Ingressos Ing1,Ingressos Ing2) { double a = 0; if(Ing1.Meia == true && Ing2.Meia == false) { a = (Ing1.Preco / 2) + Ing2.Preco; } else if (Ing1.Meia == false && Ing2.Meia == false) { a = Ing1.Preco + Ing2.Preco; } else if (Ing1.Meia == true && Ing2.Meia == true) { a = (Ing2.Preco / 2) + (Ing1.Preco / 2); } else if (Ing1.Meia == false && Ing2.Meia == true) { a = Ing1.Preco + (Ing2.Preco / 2); } return a; } } Ingressos x = new Ingressos(); x.Meia = false; x.Preco = 30; x.Filme = "Avengers"; Ingressos x1 = new Ingressos(); x1.Meia = true; x1.Preco = 30; x1.Filme = "Interstelar"; Cinemark a = new Cinemark(); double a1 = a.CalcularTotal1(x); string b1 = a.CalcularTotal2(x); double c1 = a.CalcularTotal3(x,x1); Console.WriteLine(a1); Console.WriteLine(b1); Console.WriteLine(c1); // 30 // Compra concluída! O ingresso para o filme Avengers éde R$ 30 // 45 Ingressos x = new Ingressos(); x.Meia = false; x.Preco = 30; x.Filme = "Avengers"; Ingressos x1 = new Ingressos(); x1.Meia = false; x1.Preco = 30; x1.Filme = "Interstelar"; // 30 // Compra concluída! O ingresso para o filme Avengers éde R$ 30 //60 Ingressos x = new Ingressos(); x.Meia = true; x.Preco = 30; x.Filme = "Avengers"; Ingressos x1 = new Ingressos(); x1.Meia = true; x1.Preco = 30; x1.Filme = "Interstelar"; // 15 // Compra concluída! O ingresso para o filme Avengers éde R$ 15 //30 Ingressos x = new Ingressos(); x.Meia = true; x.Preco = 30; x.Filme = "Avengers"; Ingressos x1 = new Ingressos(); x1.Meia = false; x1.Preco = 30; x1.Filme = "Interstelar"; // 15 // Compra concluída! O ingresso para o filme Avengers éde R$ 15 // 45 ``` ## Nível 5 Crie a(s) classe(s) representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas: ▪ Calcular o valor total a pagar referente a compra de ingressos do Cinemark considerando se os ingressos são meia ou inteira. ▪ Realize a lógica acima, mas no retorno você deve seguir o padrão abaixo: “Compra concluída! A compra de XXXX ingressos XXXX para o filme XXX é de R$ XXXX” Ex1. Compra concluída! A compra de 2 ingressos INTEIRA para o filme Avengers é de R$ 50,00 Ex2. Compra concluída! A compra de 2 ingressos MEIA para o filme Avengers é de R$ 25,00 ```csharp= using System; public class Ingresos { public int QtdIngressos {get;set;} public bool Meia {get;set;} public double Preco {get;set;} public string Filme {get;set;} } public class Cinemark { public double CalcularTotal (Ingresos Ing) { double a = 1; if (Ing.Meia == true) { a = Ing.QtdIngressos * (Ing.Preco / 2); } else { a = Ing.QtdIngressos * Ing.Preco; } return a; } public string CalcularTotal2 (Ingresos Ing) { double x = CalcularTotal(Ing); string a = ""; if (Ing.Meia == true) { a = $"Compra concluída! A compra de {Ing.QtdIngressos} ingressos MEIA para o filme {Ing.Filme} é de R$ {x}"; } else { a = $"Compra concluída! A compra de {Ing.QtdIngressos} ingressos INTEIRA para o filme {Ing.Filme} é de R$ {x}"; } return a; } } Ingresos x = new Ingresos(); x.QtdIngressos = 3; x.Meia = false; x.Preco = 20; x.Filme = "Interstelar"; Cinemark z = new Cinemark(); double k = z.CalcularTotal(x); string a = z.CalcularTotal2(x); Console.WriteLine(a); // Compra concluída! A compra de 3 ingressos INTEIRA para o filme Interstelar é de R$ 60 Ingresos x = new Ingresos(); x.QtdIngressos = 2; x.Meia = true; x.Preco = 30; x.Filme = "Avengers"; // Compra concluída! A compra de 2 ingressos MEIA para o filme Avengers é de R$ 30 ``` ## Nível 6 Crie a(s) classe(s) representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas: ▪ Calcular o valor total a pagar referente a compra de ingressos do Cinemark considerando se os ingressos são meia ou inteira e o cupom de desconto. ▪ Aplicar o cupom de desconto que vem em porcentagem em cima do valor total dos ingressos. A função deve retornar o valor já com o desconto aplicado. ```csharp= using System; public class Ingressos { public int QtdIngressos {get;set;} public bool Meia {get;set;} public double Preco {get;set;} public string Filme {get;set;} } Ingressos x = new Ingressos(); x.QtdIngressos = 3; x.Meia = false; x.Preco = 30; x.Filme = "Avengers"; Cinemark z = new Cinemark(); double k = z.CalcularTotal(x,20); Console.WriteLine(k); public class Cinemark { public double CalcularTotal (Ingressos Ing,double cupom) { double a = 0; if (Ing.Meia == true) { a = Ing.QtdIngressos * (Ing.Preco / 2); } else { a = Ing.QtdIngressos * Ing.Preco; } double b = AplicarCupom(a,cupom); return b; } private double AplicarCupom (double total,double cupom) { double a = total - cupom; return a; } } using System; public class Ingressos { public int QtdIngressos {get;set;} public bool Meia {get;set;} public double Preco {get;set;} public string Filme {get;set;} } Ingressos x = new Ingressos(); x.QtdIngressos = 3; x.Meia = false; x.Preco = 30; x.Filme = "Avengers"; Cinemark z = new Cinemark(); double k = z.CalcularTotal(x,20); Console.WriteLine(k); public class Cinemark { public double CalcularTotal (Ingressos Ing,double cupom) { double a = 0; if (Ing.Meia == true) { a = Ing.QtdIngressos * (Ing.Preco / 2); } else { a = Ing.QtdIngressos * Ing.Preco; } double b = AplicarCupom(a,cupom); return b; } private double AplicarCupom (double total,double cupom) { double a = total - cupom; return a; } } // 70 Ingressos x = new Ingressos(); x.QtdIngressos = 3; x.Meia = true; x.Preco = 30; x.Filme = "Avengers"; // 25 ``` ## Nível 7 Crie a(s) classe(s) representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas: ▪ Calcular o valor total a pagar referente a compra de ingressos do Cinemark considerando se os ingressos são meia ou inteira e o cupom de desconto. Além do cupom de desconto você deve aplicar as seguintes regras: ➢ Se o total da compra de ingressos for maior que R$ 100,00 após a aplicação do desconto, aplicar mais 10% de desconto. ▪ Aplicar o cupom de desconto que vem em porcentagem em cima do valor total dos ingressos. A função deve retornar o valor já com o desconto aplicado. ```csharp= using System; public class Ingressos { public int QtdIngressos {get;set;} public bool Meia {get;set;} public double Preco {get;set;} public string Filme {get;set;} } Ingressos x = new Ingressos(); x.QtdIngressos = 3; x.Meia = true; x.Preco = 25; x.Filme = "Avengers"; Cinemark z = new Cinemark(); double k = z.CalcularTotal(x,10); Console.WriteLine(k); public class Cinemark { public double CalcularTotal (Ingressos Ing,double cupom) { double total = 0; double desconto = 0; if (Ing.Meia == true ) { total = Ing.QtdIngressos * (Ing.Preco / 2); } else { total = Ing.QtdIngressos * Ing.Preco; } if (total >= 100) { desconto = AplicarCupom(total,cupom); } else { desconto = total; } return desconto; } private double AplicarCupom (double total,double cupom) { double desconto = (total / 100) * cupom; double a = total - desconto; return a; } } // 94,5 Ingressos x = new Ingressos(); x.QtdIngressos = 3; x.Meia = true; x.Preco = 35; x.Filme = "Avengers"; // 52,5 Ingressos x = new Ingressos(); x.QtdIngressos = 10; x.Meia = true; x.Preco = 35; x.Filme = "Avengers"; // 157,5 ``` ## Nível 8 Crie a(s) classe(s) representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas: ▪ Calcular o valor total a pagar referente a compra de ingressos do Cinemark considerando se os ingressos são meia ou inteira e o cupom de desconto. Além do cupom de desconto você deve aplicar as seguintes regras: ➢ Se o dia atual for uma quarta-feira aplicar desconto de 50% no valor da compra após aplicar o desconto. ➢ Se o total da compra de ingressos for maior que R$ 100,00 após a verificação de quarta-feira, aplicar mais 10% de desconto. ▪ Aplicar o cupom de desconto que vem em porcentagem em cima do valor total dos ingressos. A função deve retornar o valor já com o desconto aplicado. ** Você pode incluir outras funções compostas que não estejam presentes no diagrama ao lado. ```csharp= using System; public class Ingressos { public int QtdIngressos { get; set; } public bool Meia { get; set; } public double Preco { get; set; } public string Filme { get; set; } } Ingressos x = new Ingressos(); x.QtdIngressos = 2; x.Meia = false; x.Preco = 25; x.Filme = "Avengers"; Cinemark z = new Cinemark(); double k = z.CalcularTotal(x, 10); Console.WriteLine(k); public class Cinemark { public double CalcularTotal(Ingressos Ing, double cupom) { double total = 0; double desconto = 0; if (Ing.Meia) { total = Ing.QtdIngressos * (Ing.Preco / 2); } else { total = Ing.QtdIngressos * Ing.Preco; } if (total >= 100) { desconto = AplicarCupom(total, cupom); } if (DateTime.Now.DayOfWeek == DayOfWeek.Wednesday) { total = (total-desconto)*0.5; } return total; } private double AplicarCupom(double total, double cupom) { double desconto = (total / 100) * cupom; return desconto; } } // 50 Ingressos x = new Ingressos(); x.QtdIngressos = 10; x.Meia = true; x.Preco = 25; x.Filme = "Avengers"; // 125 Ingressos x = new Ingressos(); x.QtdIngressos = 10; x.Meia = true; x.Preco = 25; x.Filme = "Avengers"; // 37.5 // simulei uma data que cai na quarta ``` ## Nível 9 Crie a(s) classe(s) representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas: ▪ Calcular o valor total a pagar referente a compra de ingressos do Cinemark considerando se os ingressos são meia ou inteira e o cupom de desconto. Além do cupom de desconto você deve aplicar as seguintes regras: ➢ Se o gênero for ‘NACIONAL’ o valor de cada ingresso será R$ 5,00 independente de qualquer valor e todas as regras abaixo serão desconsideradas. ➢ Se o dia atual for uma quarta-feira aplicar desconto de 50% no valor da compra após aplicar o desconto. ➢ Se o total da compra de ingressos for maior que R$ 100,00 após a verificação de quarta-feira, aplicar mais 10% de desconto. ▪ Aplicar o cupom de desconto que vem em porcentagem em cima do valor total dos ingressos. A função deve retornar o valor já com o desconto aplicado. ** Você pode incluir outras funções compostas que não estejam presentes no diagrama ao lado. ```csharp= using System; public class Ingressos { public int QtdIngressos { get; set; } public bool Meia { get; set; } public double Preco { get; set; } public string Filme { get; set; } public string Genero {get;set;} } Ingressos x = new Ingressos(); x.QtdIngressos = 3; x.Meia = false; x.Preco = 25; x.Filme = "Avengers"; x.Genero = "Nacional"; Cinemark z = new Cinemark(); double k = z.CalcularTotal(x, 10); Console.WriteLine(k); public class Cinemark { public double CalcularTotal(Ingressos Ing, double cupom) { double total = 0; double desconto = 0; if (Ing.Genero == "Nacional") { total = 5 * Ing.QtdIngressos; } else { if (Ing.Meia) { total = Ing.QtdIngressos * (Ing.Preco / 2); } else { total = Ing.QtdIngressos * Ing.Preco; } if (total >= 100) { desconto = AplicarCupom(total, cupom); } if (DateTime.Now.DayOfWeek == DayOfWeek.Wednesday) { total = (total-desconto)*0.5; } } return total; } private double AplicarCupom(double total, double cupom) { double desconto = (total / 100) * cupom; return desconto; } } using System; public class Ingressos { public int QtdIngressos { get; set; } public bool Meia { get; set; } public double Preco { get; set; } public string Filme { get; set; } public string Genero {get;set;} } Ingressos x = new Ingressos(); x.QtdIngressos = 3; x.Meia = false; x.Preco = 25; x.Filme = "Avengers"; x.Genero = "Nacional"; Cinemark z = new Cinemark(); double k = z.CalcularTotal(x, 10); Console.WriteLine(k); public class Cinemark { public double CalcularTotal(Ingressos Ing, double cupom) { double total = 0; double desconto = 0; QtdIngressostotal = 5 * Ing.QtdIngressos; } else { if (Ing.Meia) { total = Ing.QtdIngressos * (Ing.Preco / 2); } else { total = Ing.QtdIngressos * Ing.Preco; } if (total >= 100) { desconto = AplicarCupom(total, cupom); } if (DateTime.Now.DayOfWeek == DayOfWeek.Wednesday) { total = (total-desconto)*0.5; } } return total; } private double AplicarCupom(double total, double cupom) { double desconto = (total / 100) * cupom; return desconto; } } // 15 Ingressos x = new Ingressos(); x.QtdIngressos = 3; x.Meia = false; x.Preco = 25; x.Filme = "Avengers"; x.Genero = "Romace"; // 75 Ingressos x = new Ingressos(); x.QtdIngressos = 5; x.Meia = true; x.Preco = 25; x.Filme = "Avengers"; x.Genero = "Romace"; // 62,5 ``` ## Nível 10 Faça uma função que implemente a lógica que identifique o vencedor de uma partida de Jokenpo dizendo se quem ganhou foi o jogador1, jogador2 ou empate. ```csharp= using System; public class Jokenpo { public string NomeJogador1 {get;set;} public string NomeJogador2 {get;set;} public string Jogador1 {get;set;} public string Jogador2 {get;set;} } Jokenpo x = new Jokenpo(); x.NomeJogador1 = "Pedro"; x.NomeJogador2 = "Carlos"; x.Jogador1 = "Tesoura"; x.Jogador2 = "Pedra"; JokenpoJogo z = new JokenpoJogo(); string k = z.Jogo (x); Console.WriteLine(k); public class JokenpoJogo { public string Jogo (Jokenpo game) { string a = "a"; if (game.Jogador1 == "Pedra" && game.Jogador2 == "Tesoura") { a = $"o Jogador {game.NomeJogador1} Venceu esta rodada"; } if (game.Jogador1 == "Tesoura" && game.Jogador2 == "Pedra") { a = $"o Jogador {game.NomeJogador2} Venceu esta rodada"; } if (game.Jogador1 == "Papel" && game.Jogador2 == "Pedra") { a = $"o Jogador {game.NomeJogador1} Venceu esta rodada"; } if (game.Jogador1 == "Pedra" && game.Jogador2 == "Papel") { a = $"o Jogador {game.NomeJogador2} Venceu esta rodada"; } if (game.Jogador1 == "Pedra" && game.Jogador2 == "Pedra") { a = $"Empate, Nenhum jogador venceu esta rodada "; } if (game.Jogador1 == "Papel" && game.Jogador2 == "Papel") { a = $"Empate, Nenhum jogador venceu esta rodada "; } if (game.Jogador1 == "Tesoura" && game.Jogador2 == "Tesoura") { a = $"Empate, Nenhum jogador venceu esta rodada "; } return a; } } ``` ## Nível 11 ```csharp= using System; public class ImparOuPar { public string Nome1; public string Nome2; public string Jogada1; public string Jogada2; public int Numero1; public int Numero2; } ImparOuPar zap = new ImparOuPar(); zap.Nome1 = "Pedro"; zap.Nome2 = "Gabriel"; zap.Jogada1 = "Par"; zap.Jogada2 = "Impar"; zap.Numero1 = 5; zap.Numero2 = 10; Jogo zap2 = new Jogo(); string x = zap2.Game(zap); Console.WriteLine(x); public class Jogo { public string Game (ImparOuPar game) { string Mensagem = "a"; double Resultado = game.Numero1 + game.Numero2; if (Resultado % 2 == 0) { if (game.Jogada1 == "Par") { Mensagem = $"Parabéns {game.Nome1} Você venceu esta rodada, Resultado: Par"; } else { Mensagem = $"Parabéns {game.Nome2} Você venceu esta rodada, Resultado: Par"; } } else { if (game.Jogada1 == "Impar") { Mensagem = $"Parabéns {game.Nome1} Você venceu essa rodada, Resultado: Impar"; } else { Mensagem = $"Parabéns {game.Nome2} Você venceu esta rodada, Resultado: Impar"; } } return Mensagem; } } // Parabéns Gabriel Você venceu esta rodada, Resultado: Impar ImparOuPar zap = new ImparOuPar(); zap.Nome1 = "Pedro"; zap.Nome2 = "Gabriel"; zap.Jogada1 = "Par"; zap.Jogada2 = "Impar"; zap.Numero1 = 5; zap.Numero2 = 10; // Parabéns Pedro Você venceu essa rodada, Resultado: Impar ImparOuPar zap = new ImparOuPar(); zap.Nome1 = "Pedro"; zap.Nome2 = "Gabriel"; zap.Jogada1 = "Impar"; zap.Jogada2 = "Par"; zap.Numero1 = 4; zap.Numero2 = 4; // Parabéns Gabriel Você venceu esta rodada, Resultado: Par ImparOuPar zap = new ImparOuPar(); zap.Nome1 = "Pedro"; zap.Nome2 = "Gabriel"; zap.Jogada1 = "Impar"; zap.Jogada2 = "Par"; zap.Numero1 = 3; zap.Numero2 = 4; // Parabéns Pedro Você venceu essa rodada, Resultado: Impar ```
{"metaMigratedAt":"2023-06-16T00:40:26.894Z","metaMigratedFrom":"Content","title":"Condição | Fund. Lógica","breaks":true,"contributors":"[{\"id\":\"0ba297e4-eafa-413a-9b17-c3ef1702e693\",\"add\":23660,\"del\":555}]"}
Expand menu