# Session four: Programs also choose!
autora: Isabela Silva Sousa
[toc]
## Exercício 1
```csharp=
using System;
public double AreaRetangulo(double a, double b)
{
double area = a * b;
return area;
}
public string RetangulosIguais(double a1, double b1, double a2, double b2)
{
bool iguais = AreaRetangulo(a1, b1) == AreaRetangulo(a2, b2);
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.
string x = RetangulosIguais(50, 2, 10, 4);
Console.WriteLine(x);
// Os retângulos são diferentes.
````
## Exercício 2
```csharp=
using System;
public double AreaRetangulo(double a, double b)
{
double area = a * b;
return area;
}
public string MaiorRetangulo(double a1, double b1, double a2, double b2)
{
double area1 = AreaRetangulo(a1, b1);
double area2 = AreaRetangulo(a2, b2);
string a = "";
if (area1 == area2)
{
a = "Os retângulos são iguais";
}
else if (area1 > area2)
{
a = "O primeiro retângulo é maior";
}
else if (area2 > area1)
{
a = "O segundo retângulo é maior";
}
return a;
}
string x = MaiorRetangulo(10, 5, 10, 5);
Console.WriteLine(x);
// Os retângulos são iguais.
string x = MaiorRetangulo(50, 5, 10, 4);
Console.WriteLine(x);
// O primeiro retângulo é maior.
string x = MaiorRetangulo(10, 6, 20, 4);
Console.WriteLine(x);
// O segundo retângulo é maior.
````
## Exercício 3
```csharp=
using System;
public double AreaRetangulo(double a, double b)
{
double area = a * b;
return area;
}
public string MaiorRetangulo(double a1, double b1, double a2, double b2, double a3, double b3)
{
double area1 = AreaRetangulo(a1, b1);
double area2 = AreaRetangulo(a2, b2);
double area3 = AreaRetangulo(a3, b3);
string a = "";
if (area1 == area2 && area1 == area3)
{
a = "Os retângulos são iguais";
}
else if (area1 > area2 && area1 > area3)
{
a = "O primeiro retângulo é maior";
}
else if (area2 > area1 && area2 > area3)
{
a = "O segundo retângulo é maior";
}
else if (area3 > area1 && area3 > area2)
{
a = "O terceiro retângulo é maior";
}
return a;
}
string x = MaiorRetangulo(250, 2, 10, 50, 5, 100);
Console.WriteLine(x);
// Os retângulos são iguais
string x = MaiorRetangulo(50, 5, 20, 10, 10, 5);
Console.WriteLine(x);
// O primeiro retângulo é maior.
string x = MaiorRetangulo(10, 7, 35, 35, 15, 35);
Console.WriteLine(x);
// O segundo retângulo é maior.
string x = MaiorRetangulo(10, 7, 45, 42, 90, 35);
Console.WriteLine(x);
// O terceiro retângulo é maior.
````
## Exercício 4
```csharp=
using System;
public class Ingresso
{
public bool Meia {get; set;}
public double Preco {get; set;}
public string Filme {get; set;}
}
public class Cinemark
{
public double CalcularTotal1 (Ingresso ingresso)
{
double t = 0;
if (ingresso.Meia == true )
{
t = ingresso.Preco / 2;
}
else
{
t= ingresso.Preco;
}
return t;
}
public string CalcularTotal2 (Ingresso ingresso)
{
string t2 = "";
if (ingresso.Meia == true)
{
t2 ="Compra concluída! O ingresso para o filme " + ingresso.Filme + " é de R$ " + ingresso.Preco / 2;
}
else
{
t2= "Compra concluída! O ingresso para o filme " + ingresso.Filme + " é de R$ " + ingresso.Preco;
}
return t2;
}
public double CalcularTotal3 (Ingresso ing1, Ingresso ing2)
{
double t = 0;
if (ing1.Meia == true && ing2.Meia == true)
{
t = (ing1.Preco / 2) + (ing2.Preco / 2);
}
else if (ing1.Meia == false && ing2.Meia == false)
{
t = ing1.Preco + ing2.Preco;
}
else if (ing1.Meia == false && ing2.Meia == true)
{
t = ing1.Preco + (ing2.Preco / 2);
}
else
{
t = (ing1.Preco / 2) + ing2.Preco;
}
return t;
}
}
Cinemark a = new Cinemark ();
Ingresso b = new Ingresso ();
b.Meia = false;
b.Preco = 25.30;
double c = a.CalcularTotal1 (b);
Console.WriteLine(c);
Ingresso d = new Ingresso ();
d.Meia = true;
d.Preco = 15.70;
d.Filme = "Minha mãe é uma peça";
string e = a.CalcularTotal2 (d);
Console.WriteLine(e);
double f = a.CalcularTotal3 (b, d);
Console.WriteLine(f);
// 20.30
// Compra concluída! O ingresso para o filme Milagre na cela 7 é de R$ 11.75
// 32.05
````
## Exercício 5
```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 class Cinemark
{
private double AplicarDesconto (double total, double cupom)
{
return total - (total * cupom / 100);
}
public double CalcularTotal (Ingressos ingressos, double cupom)
{
double total = 0;
if (ingressos.Meia == true)
{
total = ingressos.QtdIngressos * (ingressos.Preco / 2);
}
else
{
total = ingressos.QtdIngressos * ingressos.Preco;
}
total = AplicarDesconto(total, cupom);
if (total > 100)
{
total = AplicarDesconto (total, 10);
}
return total;
}
}
Cinemark a = new Cinemark ();
Ingressos b = new Ingressos ();
b.Meia = true;
b.Preco = 40.00;
b.QtdIngressos = 2;
double x = a.CalcularTotal (b, 20);
Console.WriteLine(x);
// 32.
Cinemark a = new Cinemark ();
Ingressos b = new Ingressos ();
b.Meia = false;
b.Preco = 40.00;
b.QtdIngressos = 2;
double x = a.CalcularTotal (b, 20);
Console.WriteLine(x);
// 64.
````
## Exercício 6
```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 class Cinemark
{
private double AplicarDesconto (double total, double cupom)
{
return total - (total * cupom / 100);
}
public double CalcularTotal(Ingressos ingressos, double cupom)
{
double total = 0;
if (ingressos.Meia == true)
{
total = ingressos.QtdIngressos * (ingressos.Preco / 2);
}
else
{
total = ingressos.QtdIngressos * ingressos.Preco;
}
return AplicarDesconto(total, cupom);
}
}
Cinemark a = new Cinemark ();
Ingressos b = new Ingressos ();
b.Meia = true;
b.Preco = 20.00;
b.QtdIngressos = 2;
double x = a.CalcularTotal (b, 20);
Console.WriteLine(x);
// 16.
Cinemark a = new Cinemark ();
Ingressos b = new Ingressos ();
b.Meia = false;
b.Preco = 20.00;
b.QtdIngressos = 2;
double x = a.CalcularTotal (b, 20);
Console.WriteLine(x);
// 32.
````
## Exercício 7
```csharp=
using System;
public class Ingresso
{
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 CalcularTotal1 (Ingresso ingressos)
{
double t = 0;
if (ingressos.Meia == true )
{
t = (ingressos.Preco* ingressos.QtdIngressos) / 2;
}
else
{
t= ingressos.Preco*ingressos.QtdIngressos;
}
return t;
}
public string CalcularTotal2 (Ingresso ingressos)
{
string t = "";
if (ingressos.Meia == true)
{
t = "Compra concluída! A compra de " + ingressos.QtdIngressos + " MEIA para o filme " + ingressos.Filme + " é de R$ " + (ingressos.Preco*ingressos.QtdIngressos) / 2;
}
else
{
t = "Compra concluída! A compra de " + ingressos.QtdIngressos + " INTEIRA para o filme " + ingressos.Filme + " é de R$ " + ingressos.Preco*ingressos.QtdIngressos;
}
return t;
}
}
Cinemark a= new Cinemark();
Ingresso b = new Ingresso();
b.QtdIngressos = 2;
b.Meia = false;
b.Preco = 20.00;
b.Filme = "Por lugares incriveis";
double x = a.CalcularTotal1(b);
Console.WriteLine(x);
Ingresso c = new Ingresso ();
c.QtdIngressos = 2;
c.Meia = true;
c.Preco = 21.50;
c.Filme = "Minha mãe é uma peça";
string y = a.CalcularTotal2(c);
Console.WriteLine(y);
// 40.
// Compra concluída! A compra de 2 MEIA para o filme Minha mãe é uma peça é de R$ 21.50.
Cinemark a= new Cinemark();
Ingresso b = new Ingresso();
b.QtdIngressos = 3;
b.Meia = true;
b.Preco = 20.00;
b.Filme = "Por lugares incriveis";
double x = a.CalcularTotal1(b);
Console.WriteLine(x);
Ingresso c = new Ingresso ();
c.QtdIngressos = 2;
c.Meia = false;
c.Preco = 21.50;
c.Filme = "Minha mãe é uma peça";
string y = a.CalcularTotal2(c);
Console.WriteLine(y);
// 30.
// Compra concluída! A compra de 2 INTEIRA para o filme Minha mãe é uma peça é de R$ 43.
````
## Exercício 8
```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 class Cinemark
{
private double AplicarDesconto (double total, double cupom)
{
return total - (total * cupom / 100);
}
public double CalcularTotal (Ingressos ingressos, double cupom)
{
double total = 0;
if (ingressos.Meia == true)
{
total = ingressos.QtdIngressos * (ingressos.Preco / 2);
}
else
{
total = ingressos.QtdIngressos * ingressos.Preco;
}
total = AplicarDesconto(total, cupom);
if (DateTime.Now.DayOfWeek == DayOfWeek.Wednesday)
{
total = AplicarDesconto (total, 50);
}
if (total > 100)
{
total = AplicarDesconto (total, 10);
}
return total;
}
}
Cinemark a = new Cinemark ();
Ingressos b = new Ingressos ();
b.Meia = true;
b.Preco = 35.00;
b.QtdIngressos = 3;
double x = a.CalcularTotal (b, 20);
Console.WriteLine(x);
// 42.
Cinemark a = new Cinemark ();
Ingressos b = new Ingressos ();
b.Meia = false;
b.Preco = 35.00;
b.QtdIngressos = 3;
double x = a.CalcularTotal (b, 20);
Console.WriteLine(x);
// 84.
````
## Exercício 9
```csharp=
using System;
public double CalcularIngresso(string filme, string genero, double preço, int qtd, bool meia, double cupom)
{
double total;
if (genero.Contains("Nacional"))
{
total = 5.5;
}
else
{
if (meia == true)
{
total = qtd * (preço / 2);
}
else
{
total = qtd * preço;
}
double desconto = total * cupom / 100;
total = total - desconto;
if (DateTime.Now.DayOfWeek == DayOfWeek.Wednesday)
{
double descontoQuartaFeira = total * total * 0.5;
total = total - descontoQuartaFeira;
}
}
return total;
}
double x = CalcularIngresso("Por lugares incriveis", "Romance", 25.0, 4, false, 20);
Console.WriteLine(x);
// 50.
double x = CalcularIngresso("Minha mãe é uma peça", "Comédia", 27.50, 2, false, 20);
Console.WriteLine(x);
// 44.
````
## Exercício 10
```csharp=
using System;
public class Jogador
{
public string Jogador1 {get; set;}
public string Jogador2 {get; set;}
public string Jogada {get; set;}
}
public string Jokenpo(Jogador j1, Jogador j2)
{
string mensagem = "";
if (j1.Jogada == "Papel" && j2.Jogada == "Pedra")
{
mensagem = $"{j1.Jogador1} venceu!";
}
else if (j1.Jogada == "Pedra" && j2.Jogada == "Tesoura")
{
mensagem = $"{j1.Jogador1} venceu!";
}
else if (j1.Jogada == "Tesoura" && j2.Jogada == "Papel")
{
mensagem = $"{j1.Jogador1} venceu!";
}
else if (j2.Jogada == "Papel" && j1.Jogada == "Pedra")
{
mensagem = $"{j2.Jogador2} venceu!";
}
else if (j2.Jogada == "Pedra" && j1.Jogada == "Tesoura")
{
mensagem = $"{j2.Jogador2} venceu!";
}
else if (j2.Jogada == "Tesoura" && j1.Jogada == "Papel")
{
mensagem = $"{j2.Jogador2} venceu!";
}
else
{
mensagem = "Deu empate!";
}
return mensagem;
}
Jogador jog1 = new Jogador();
jog1.Jogador1 = "João";
jog1.Jogada = "Tesoura";
Jogador jog2 = new Jogador();
jog2.Jogador2 = "Ana";
jog2.Jogada = "Papel";
string x = Jokenpo(jog1, jog2);
Console.WriteLine(x);
// João venceu!
Jogador jog1 = new Jogador();
jog1.Jogador1 = "João";
jog1.Jogada = "Papel";
Jogador jog2 = new Jogador();
jog2.Jogador2 = "Ana";
jog2.Jogada = "Tesoura";
string x = Jokenpo(jog1, jog2);
Console.WriteLine(x);
// Ana venceu!
Jogador jog1 = new Jogador();
jog1.Jogador1 = "João";
jog1.Jogada = "Pedra";
Jogador jog2 = new Jogador();
jog2.Jogador2 = "Ana";
jog2.Jogada = "Pedra";
string x = Jokenpo(jog1, jog2);
Console.WriteLine(x);
// Deu empate!
```
## Exercício 11
```csharp=
using System;
public class Jogador
{
public string Nome {get; set;}
public int Numero {get; set;}
public string Jogada {get; set;}
}
public string ParOuImpar(Jogador j1, Jogador j2)
{
int soma = j1.Numero + j2.Numero;
string mensagem = "";
if (soma % 2 == 0 && j1.Jogada == "Par")
{
mensagem = $"Deu Par! {j1.Nome} venceu!";
}
else if (soma % 2 != 0 && j1.Jogada == "Ímpar")
{
mensagem = $"Deu Ímpar! {j1.Nome} venceu!";
}
else if (soma % 2 == 0 && j2.Jogada == "Par")
{
mensagem = $"Deu Par! {j2.Nome} venceu!";
}
else if (soma % 2 != 0 && j2.Jogada == "Ímpar")
{
mensagem = $"Deu Ímpar! {j2.Nome} venceu!";
}
else
{
mensagem = "Deu empate!";
}
return mensagem;
}
Jogador jog1 = new Jogador();
jog1.Nome = "Hanna";
jog1.Numero = 2;
jog1.Jogada = "Par";
Jogador jog2 = new Jogador();
jog2.Nome = "Julia";
jog2.Numero = 2;
jog2.Jogada = "Ímpar";
string x = ParOuImpar(jog1, jog2);
Console.WriteLine(x);
// Deu Par! Hanna venceu!
Jogador jog1 = new Jogador();
jog1.Nome = "Hanna";
jog1.Numero = 6;
jog1.Jogada = "Par";
Jogador jog2 = new Jogador();
jog2.Nome = "Julia";
jog2.Numero = 5;
jog2.Jogada = "Ímpar";
string x = ParOuImpar(jog1, jog2);
Console.WriteLine(x);
// Deu Ímpar! Julia venceu!
Jogador jog1 = new Jogador();
jog1.Nome = "Hanna";
jog1.Numero = 2;
jog1.Jogada = "Ímpar";
Jogador jog2 = new Jogador();
jog2.Nome = "Julia";
jog2.Numero = 2;
jog2.Jogada = "Ímpar";
string x = ParOuImpar(jog1, jog2);
Console.WriteLine(x);
// Deu empate!
````
{"metaMigratedAt":"2023-06-16T07:38:24.872Z","metaMigratedFrom":"Content","title":"Session four: Programs also choose!","breaks":true,"contributors":"[{\"id\":\"efa8ac71-fa69-4ab5-8a89-20016d037e45\",\"add\":13360,\"del\":0}]"}