# Session Four: Programs also choose!
**Autor**: Elias de Freitas Cavalcante
**Número**: 12
**Turma**: INFO C
[toc]
## Exercicios
### Exercicio 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”
```charp=
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 r;
if (iguais == true)
{
r = "Os retangulos são iguais";
}
else
{
r = "Os retangulos são diferentes";
}
return r;
}
string resu = RetangulosIguais(11, 4, 11, 4);
// Os retangulos são iguais
```
### Ecercicio 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.”
```charp=
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 n;
if (area1 == area2)
{
n = "Os retangulos são iguais";
}
else if ( area1 > area2)
{
n = "O primeiro retangulos é o maior";
}
else if ( area2 > area1)
{
n = "O segundo retangulos é o maior";
}
return n;
}
string resu = MaiorRetangulo(10, 9, 10, 8);
// O primeiro retangulos é o maior
```
### Exercicio 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”
```charp=
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 n;
if (area1 == area2)
{
n = "Os retangulos são iguais";
}
else if ( area1 > area2)
{
n = "O primeiro retangulos é o maior";
}
else if ( area2 > area1)
{
n = "O segundo retangulos é o maior";
}
else if ( area3 > area1)
{
n = "O terceiro retangulos é o maior";
}
else if ( area3 > area2 && area1 > area2)
{
n = "Existem 2 maiores retângulos";
}
return n;
}
string resu = MaiorRetangulo(10, 9, 10, 8, 10, 10);
// Existem 2 maiores retângulos
```
### Exercicio 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.
```charp=
public class Ingresso
{
bool meia;
double preco;
string Filme;
}
public double Calcular(string Filme, double Preco, bool meia)
{
double total = 0;
if (meia == true)
{
total = Preco / 2;
}
return total;
}
double resu = Calcular("Sete Homens e Um Destino", 20.0, true);
Console.WriteLine("Compra Concluida o valor é :" + resu);
// Compra Concluida o valor é : 10
```
### Exercicio 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
```charp=
public class Ingresso
{ bool meia;
double preco;
string Filme;
}
public double Calcular(string Filme, double Preco, bool meia, int qtd)
{ double total = 0;
if (meia == true)
{
total = qtd * (Preco / 2);
}
return total;
}
public double Calcular2(string Filme, double Preco, bool meia, int qtd)
string total2;
if (total2 == true)
{
total2 = "Compra concluída! A compra de 2 ingressos para o filme Avengers é de R$ 40.0”;
}
return total2
}
double resu = Calcular("Avengers", 20.0, true, 2);
double res = Calcular2("Avengers", 20.0, true, 2);
// Compra concluída! A compra de 2 ingressos para o filme Avengers é de R$ 40.0
```
### Exercicio 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.
```charp=
public class Ingresso
{ bool Meia;
double Preco;
string Filme;
}
public double Calcular(string Filme, double Preco, bool Meia, int qtd, double cupom)
{
double total = 0;
if (Meia == true)
{
total = qtd * (Preco / 2);
}
else
{
total = qtd * Preco;
}
double Desconto = total * cupom / 100;
total = total - Desconto;
return total;
}
double resu = Calcular("Avengers", 20.0, true, 2, 10);
// 18
```
### Exercicio 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.
```charp=
public class Ingresso
{ bool Meia;
double Preco;
string Filme;
}
public double Calcular(string Filme, double Preco, bool Meia, int qtd, double cupom)
{
double total = 0;
if (Meia == true)
{
total = qtd * (Preco / 2);
}
else
{
total = qtd * Preco;
}
double Desconto = total * cupom / 100;
total = total - Desconto;
return total;
}
double resu = Calcular("Indiana Jones", 100.0, true, 2, 10);
// 90
```
### Exercicio 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.
```charp=
public class Ingresso
{ bool Meia;
double Preco;
string Filme;
}
public double Calcular(string Filme, double Preco, bool Meia, int qtd, double cupom)
{
double total = 0;
if (Meia == true)
{
total = qtd * (Preco / 2);
}
else
{
total = qtd * Preco;
}
double Desconto = total * cupom / 100;
total = total - Desconto;
return total;
}
double resu = Calcular("Avengers", 50.0, true, 2, 10);
// 45
```
### Exercicio 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.
```charp=
public class Ingresso
{ bool Meia;
double Preco;
string Filme;
}
public double Calcular(string Filme, string genero, double Preco, bool Meia, int qtd, double cupom)
{
double total = 0;
if(genero.Contains("Nacional"))
{
total = 5.5;
}
else
{
if (Meia == true)
{
total = qtd * (Preco / 2);
}
else
{
total = qtd * Preco;
}
double Desconto = total * cupom / 100;
total = total - Desconto;
if(DateTime.Now.DayOfWeek == DayOfWeek.Wednesday)
{
double descontoQuartaFeira = total * 0.5;
total = total - descontoQuartaFeira;
}
}
return total;
}
double resu = Calcular("Os Dez Mandamentos", "Nacional", 50.0, true, 2, 10);
```
### Exercicio 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.
```charp=
```
### Exercicio 11
Faça uma função que implemente a lógica que identifique o vencedor de uma partida
de Par ou Ímpar dizendo se quem ganhou foi o jogador1, jogador2 ou empate.
```charp=
```
{"metaMigratedAt":"2023-06-16T00:53:57.940Z","metaMigratedFrom":"Content","title":"Session Four: Programs also choose!","breaks":true,"contributors":"[{\"id\":\"330b3204-61c5-4231-8ab3-e59d5589a829\",\"add\":11013,\"del\":393}]"}