---
# System prepended metadata

title: Session four | Fund.Logica | 2° bimestre

---

# Session four | Fund.Logica | 2° bimestre
**Nome** Kevin Ribeiro de Andrade
**Número** 27
**Turma** INFO A


## Exercício 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 bool AreasIguais(double a1, double b1, double a2, double b2)

{

  double ret1 = a1 * b1;

  double ret2 = a2 * b2;

  bool comparando = ret1 == ret2;

  if (comparando == true)

  {

    Console.WriteLine("São iguais");

  }

  else 

  {

    Console.WriteLine("Não são iguais");

  }

  return comparando;

}

  

bool resulAreasiguais = AreasIguais(2, 2, 2, 2);

Console.WriteLine(resulAreasiguais);

```
## Exercício 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 string AreasIguais(double a1, double b1, double a2, double b2)

{

  double ret1 = AreaRetangulo(a1, b1);

  double ret2 = AreaRetangulo(a2, b2);

  bool comparacao = ret1 == ret2;

    string texto = "";

  if (comparacao == true)

  {

    texto = "Retângulos são iguais";

  }

  else if (ret1 > ret2)

  {

    texto = "Retângulo1 é maior que o retângulo 2";

  }

    else 

  {

    texto = "Retângulo 2 é maior que o retângulo 1";

  }

    return texto;

}

  

public double AreaRetangulo(double a, double b)

{

  return a * b;

}

  

string resulAreasIguais = AreasIguais(2, 2, 4, 4);

Console.WriteLine(resulAreasIguais);

```

## Exercício 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;}

}

public string AreasIguais(Retangulo ret1, Retangulo ret2, Retangulo ret3)

{

  double retangulo1 = AreaRetangulo(ret1.Basee, ret1.Altura);

  double retangulo2 = AreaRetangulo(ret2.Basee, ret2.Altura);

    double retangulo3 = AreaRetangulo(ret3.Basee, ret3.Altura);

  bool comparacao = retangulo1 == retangulo2 && retangulo2 == retangulo3 && retangulo1 == retangulo3;

    string texto = "";

  if (comparacao == true)

  {

    texto = "Retângulos são iguais";

  }

  else if (retangulo1 > retangulo2 && retangulo1 > retangulo3)

  {

    texto = "Retângulo1 é maior que o retângulo 2";

  }

  else if (retangulo3 > retangulo2 && retangulo3 > retangulo1)

  {

    texto = "Retangulo 3 é maior";

  }

    else 

  {

    texto = "Retângulo 2 é maior que o retângulo 1";

  }

    return texto;

}

  

public double AreaRetangulo(double a, double b)

{

  return a * b;

}

  

Retangulo ret1 = new Retangulo ();

ret1.Basee = 2;

ret1.Altura = 2;

  

Retangulo ret2 = new Retangulo();

ret2.Basee = 2;

ret2.Altura = 2;

  

Retangulo ret3 = new Retangulo();

ret3.Basee = 10;

ret3.Altura = 10;

  

string resulAreasIguais = AreasIguais(ret1, ret2, ret3);

Console.WriteLine(resulAreasIguais);

```

## Exercício 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=
public class Retangulo

{

   public double Basee {get; set;}

   public double Altura {get; set;}

}

public string AreasIguais(Retangulo ret1, Retangulo ret2, Retangulo ret3)

{

  double retangulo1 = AreaRetangulo(ret1.Basee, ret1.Altura);

  double retangulo2 = AreaRetangulo(ret2.Basee, ret2.Altura);

    double retangulo3 = AreaRetangulo(ret3.Basee, ret3.Altura);

  bool comparacao = retangulo1 == retangulo2 && retangulo2 == retangulo3 && retangulo1 == retangulo3;

    string texto = "";

  if (comparacao == true)

  {

    texto = "Retângulos são iguais";

  }

  else if (retangulo1 > retangulo2 && retangulo1 > retangulo3)

  {

    texto = "Retângulo1 é maior que o retângulo 2";

  }

  else if (retangulo3 > retangulo2 && retangulo3 > retangulo1)

  {

    texto = "Retangulo 3 é maior";

  }

    else 

  {

    texto = "Retângulo 2 é maior que o retângulo 1";

  }

    return texto;

}

  

public double AreaRetangulo(double a, double b)

{

  return a * b;

}

  

Retangulo ret1 = new Retangulo ();

ret1.Basee = 2;

ret1.Altura = 2;

  

Retangulo ret2 = new Retangulo();

ret2.Basee = 2;

ret2.Altura = 2;

  

Retangulo ret3 = new Retangulo();

ret3.Basee = 10;

ret3.Altura = 10;

  

string resulAreasIguais = AreasIguais(ret1, ret2, ret3);

Console.WriteLine(resulAreasIguais);

```

## Exercício 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=
public class Ingresso

{

  public long QtdIngresso {get; set;}

  public bool Meia {get; set;}

  public double Preco {get; set;}

  public string Filme {get; set;}

}

  

public class Cinemark

{

  public double calcTotal1(Ingresso ingresso)

  {

    double ing = ingresso.Preco * ingresso.QtdIngresso;

    bool meia = ingresso.Meia;

    if (meia == true)

      {

      ing = (ingresso.Preco / 2) * ingresso.QtdIngresso;

    }

    return ing;

  }

  public string calcTotal2(Ingresso ingresso)

  {

    bool meia = ingresso.Meia;

       string meiaounao = "";

    if (meia == true)

      {

      meiaounao = $"Compra concluída! A compra de {ingresso.QtdIngresso} ingressos meia para o filme {ingresso.Filme} é de R${calcTotal1(ingresso)}";

    }

    else 

    {

      meiaounao = $"Compra concluída! A compra de {ingresso.QtdIngresso} ingressos Inteira para o filme {ingresso.Filme} é de R${calcTotal1(ingresso)}";

    }

    return meiaounao;

  }

}

  

Ingresso ingresso = new Ingresso ();

ingresso.QtdIngresso = 2;

ingresso.Meia = false;

ingresso.Preco = 35;

ingresso.Filme = "Seishun buta yarou";

  

Ingresso ingresso2 = new Ingresso ();

ingresso2.QtdIngresso = 3;

ingresso2.Meia = true;

ingresso2.Preco = 35;

ingresso2.Filme= "Viúva Negra";

  
  

Ingresso ingresso3 = new Ingresso ();

ingresso3.QtdIngresso = 3;

ingresso3.Meia = true;

ingresso3.Preco = 35;

ingresso3.Filme = "Jujutsu kaisen";

  

Cinemark Cine = new Cinemark ();

  

Console.WriteLine();

Console.WriteLine(Cine.calcTotal1(ingresso2));

  

Console.WriteLine();

Console.WriteLine(Cine.calcTotal2(ingresso));

```


## Exercício 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=
public class Ingresso

{

  public long QtdIngresso {get; set;}

  public bool Meia {get; set;}

  public double Preco {get; set;}

  public string Filme {get; set;}

}

Ingresso k = new Ingresso ();

public class Cinemark

{

  public double calcTotal(Ingresso ingresso, double Cupom)

  {

    double ing = ingresso.Preco * ingresso.QtdIngresso;

    bool meia = ingresso.Meia;

    if (meia == true)

      {

      ing = (ingresso.Preco / 2) * ingresso.QtdIngresso;

    }

    return AplicarCupom(ing, Cupom);

  }

  public double AplicarCupom(double Total, double Cupom)

  {

    return  Total - ((Cupom) * (Total) / 100);

  }

}

  

Ingresso ingresso = new Ingresso ();

ingresso.QtdIngresso = 2;

ingresso.Meia = false;

ingresso.Preco = 35;

ingresso.Filme = "Seishun buta yarou";

  

Ingresso ingresso2 = new Ingresso ();

ingresso2.QtdIngresso = 3;

ingresso2.Meia = true;

ingresso2.Preco = 35;

ingresso2.Filme= "Viúva Negra";

  
  

Ingresso ingresso3 = new Ingresso ();

ingresso3.QtdIngresso = 3;

ingresso3.Meia = true;

ingresso3.Preco = 35;

ingresso3.Filme = "Jujutsu kaisen";

  

Cinemark Cine = new Cinemark ();

  

Console.WriteLine();

Console.WriteLine(Cine.calcTotal(ingresso2, 10));

  

Console.WriteLine();

//Console.WriteLine(Cine.calcTotal2(ingresso));

```

## Exercício 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=
public class Ingresso

{

  public long QtdIngresso {get; set;}

  public bool Meia {get; set;}

  public double Preco {get; set;}

  public string Filme {get; set;}

}

Ingresso k = new Ingresso ();

public class Cinemark

{

  public double calcTotal(Ingresso ingresso, double Cupom)

  {

    double ing = ingresso.Preco * ingresso.QtdIngresso;

    bool meia = ingresso.Meia;

    if (meia == true)

      {

      ing = (ingresso.Preco / 2) * ingresso.QtdIngresso;

    }

    double aplic = AplicarCupom(ing, Cupom);

    if (aplic > 100)

    {

      double calc = aplic;

      double desc = AplicarCupom(calc, Cupom);

      return desc;

    }

    return aplic;

  }

  public double AplicarCupom(double Total, double Cupom)

  {

    return  Total - ((Cupom) * (Total) / 100);

  }

}

  

Ingresso ingresso = new Ingresso ();

ingresso.QtdIngresso = 2;

ingresso.Meia = false;

ingresso.Preco = 35;

ingresso.Filme = "Seishun buta yarou";

  

Ingresso ingresso2 = new Ingresso ();

ingresso2.QtdIngresso = 1;

ingresso2.Meia = true;

ingresso2.Preco = 500;

ingresso2.Filme= "Viúva Negra";

  
  

Ingresso ingresso3 = new Ingresso ();

ingresso3.QtdIngresso = 1;

ingresso3.Meia = true;

ingresso3.Preco = 203;

ingresso3.Filme = "Jujutsu kaisen";

  

Cinemark Cine = new Cinemark ();

  

Console.WriteLine();

Console.WriteLine(Cine.calcTotal(ingresso2, 10));

  

Console.WriteLine();

//Console.WriteLine(Cine.calcTotal2(ingresso));

```

## Exercício 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=
public class Ingresso

{

  public long QtdIngresso {get; set;}

  public bool Meia {get; set;}

  public double Preco {get; set;}

  public string Filme {get; set;}

}

public class Cinemark

{

  public double calcTotal(Ingresso ingresso, double Cupom)

  {

    DateTime atual = DateTime.Today;

    String Atual = atual.DayOfWeek.ToString();

    double ing = ingresso.Preco * ingresso.QtdIngresso;

    bool meia = ingresso.Meia;

    if (meia == true)

      {

      ing = (ingresso.Preco / 2) * ingresso.QtdIngresso;

    }

    double aplic = AplicarCupom(ing, Cupom);

    if (Atual == "Wednesday")

      if (aplic > 100)

    {

      double aplicando = AplicarCupom(aplic, 50);

      double desc = AplicarCupom(aplicando, 10);

            aplic = desc;

      return aplic;

      }

    if (aplic > 100)

    {

      double desct = AplicarCupom(aplic, 10);

      return desct; 

    }

    return aplic;

  }

  private double AplicarCupom(double Total, double Cupom)

  {

    return  Total - ((Cupom) * (Total) / 100);

  }

}

  

Ingresso ingresso = new Ingresso ();

ingresso.QtdIngresso = 2;

ingresso.Meia = false;

ingresso.Preco = 35;

ingresso.Filme = "Seishun buta yarou";

  

Ingresso ingresso2 = new Ingresso ();

ingresso2.QtdIngresso = 1;

ingresso2.Meia = true;

ingresso2.Preco = 500;

ingresso2.Filme= "Viúva Negra";

  
  

Ingresso ingresso3 = new Ingresso ();

ingresso3.QtdIngresso = 1;

ingresso3.Meia = true;

ingresso3.Preco = 203;

ingresso3.Filme = "Jujutsu kaisen";

  

Cinemark Cine = new Cinemark ();

  

Console.WriteLine();

Console.WriteLine(Cine.calcTotal(ingresso2, 10));

  

Console.WriteLine();

//Console.WriteLine(Cine.calcTotal2(ingresso));

```

## Exercício 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 Ingresso
{
	public long QtdIngresso        {get; set;}
	public bool Meia               {get; set;}
	public double Preco            {get; set;}
	public string Filme            {get; set;}
	public string Genero           {get; set;}
}
public class Cinemark
{
	public double calcTotal(Ingresso ingresso, double Cupom)
	{
		double aplic;
		
		if (ingresso.Genero.Contains("Nacional"))
			
			{
				aplic = 5 * ingresso.QtdIngresso;
			}
		
		else 
		{
			if (ingresso.Meia == true)
			{
				aplic = (ingresso.Preco / 2) * ingresso.QtdIngresso;
			}
			else
			{
				aplic = ingresso.Preco * ingresso.QtdIngresso;
			}
			aplic = AplicarCupom (aplic, 10);
			if (DateTime.Today.DayOfWeek == DayOfWeek.Wednesday)
			{
				aplic = AplicarCupom (aplic, 50);
			}
			if (aplic > 100)
			{
				aplic = AplicarCupom (aplic, 10);
			}
		}
		return aplic;
	}
	private double AplicarCupom(double Total, double Cupom)
	{
		
		return  Total - ((Cupom) * (Total) / 100);
	}
	
}

Ingresso ingresso = new Ingresso ();
ingresso.QtdIngresso = 2;
ingresso.Meia = false;
ingresso.Preco = 35;
ingresso.Filme = "Seishun buta yarou";

Ingresso ingresso2 = new Ingresso ();
ingresso2.QtdIngresso = 1;
ingresso2.Meia = true;
ingresso2.Preco = 500;
ingresso2.Filme= "Viúva Negra";
ingresso2.Genero = "acional";


Ingresso ingresso3 = new Ingresso ();
ingresso3.QtdIngresso = 1;
ingresso3.Meia = true;
ingresso3.Preco = 203;
ingresso3.Filme = "Jujutsu kaisen";

Cinemark Cine = new Cinemark ();

Console.WriteLine();
Console.WriteLine(Cine.calcTotal(ingresso2, 10));

Console.WriteLine();
//Console.WriteLine(Cine.calcTotal2(ingresso));
```


## Exercício 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=
public class Jokenpo

{

  public string Jogador1 {get; set;}

  public string Jogador2 {get; set;}

}

  

public class Partida

{

  public string Vencedor(Jokenpo Jk)

  {

      string vencedores;

     if (Jk.Jogador2 == "Pedra" && Jk.Jogador1 == "Tesoura"

                            ||

  Jk.Jogador2 == "Papel" && Jk.Jogador1 == "Pedra" 

                           ||

  Jk.Jogador2 == "Tesoura" && Jk.Jogador1 == "Papel")

  {

    vencedores = "O segundo saiu como vencedor";

    return vencedores;

  }

    else if (Jk.Jogador2 == "Pedra" && Jk.Jogador1 == "Papel"

                          ||

  Jk.Jogador2 == "Papel" && Jk.Jogador1 == "Tesoura" 

                        ||

  Jk.Jogador2 == "Tesoura" && Jk.Jogador1 == "Pedra")

    {

      vencedores = "O Primeiro jogador saiu como vencedor";

            return vencedores;

    }

    else

    {

      vencedores = "Ambos jogadores saíram empatados";

      return vencedores;

    }

    return vencedores;

  }

  }

  
  

Jokenpo Jk =new Jokenpo ();

Jk.Jogador1 = "Pedra";

Jk.Jogador2 = "Tesoura";

  

Partida Part = new Partida();

Console.WriteLine(Part.Vencedor(Jk));

```



## exercício 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.
```csharp=
public class ParImpar

{

  public string Jogador {get; set;}

  //public string Jogador2 {get; set;}

  public bool Par        {get; set;}

  public double Numero   {get; set;}

}

  

public class Vencedores

{

  public string Vencedor(ParImpar J1, ParImpar J2)

  {

    double somar = J1.Numero + J2.Numero;

    string venc;

    if (somar % 2 == 0)

    {

      if (J1.Par)

      {

      venc = $"O resultado foi par {J1.Jogador} venceu";   

      }

      else 

      {

        venc = $"O resultado foi par {J2.Jogador} venceu";

      }

    }

    else

    {

      if (J1.Par == false)

      {

        venc = $"O resultado deu impar {J1.Jogador} venceu";

      }

      else

      {

        venc = $"O resultado deu impar {J2.Jogador} venceu";

      }

    }

    return venc;

  }

}

  

ParImpar Partida = new ParImpar();

  Partida.Jogador = "Cleytin";

    Partida.Par = true;

    Partida.Numero = 2;

  

ParImpar Partida2 = new ParImpar();

Partida2.Jogador = "Gabeil";

Partida2.Par = false;

Partida2.Numero = 5;

  

Vencedores Vencer = new Vencedores();

  

Console.WriteLine(Vencer.Vencedor(Partida, Partida2));

```