---
# System prepended metadata

title: 'Session four: Programs also choose | Fundamentos da Lógica'

---

# Session four: Programs also choose | Fundamentos da Lógica
**Autor**: Vitório Trindade Santana
**Turma**: Informática C
**Número**: 50

[toc]

## Exercício 1 


```csharp=
public string RetangulosIguais (double b1, double a1, double b2, double a2)
{
  double areaRet = b1 * a1;
  double areaRet2 = b2 * a2;
  string m;

  if (areaRet == areaRet2)
  {
    m = "Os Retângulos são iguais";
  }

  else 
  {
    m = "Os Retângulos não são iguais";
  }

  return m;
}


string q1 = RetangulosIguais(5, 4, 10, 2);
Console.WriteLine(q1);
//Os Retângulos são iguais
```

## Exercício 2

```csharp=
public double AreaRetangulo (double a, double b)
{
  return a * b;
}

public string MaiorRetangulo (double b1, double a1, double b2, double a2)
{
  string m;

  if (AreaRetangulo(a1, b1) > AreaRetangulo(a2, b2))
  {
    m = "O primeiro retângulo é maior";
  }

  else if (AreaRetangulo(a1, b1) < AreaRetangulo(a2, b2))
  {
    m = "O segundo retângulo é maior.";
  }
	
  else 
  {
	 m = "Os retângulos são iguais";
  }
	
  return m;
}

string q1 = MaiorRetangulo(5, 5, 10, 2);
Console.WriteLine(q1);
//O primeiro retângulo é maior
```

## Exercício 3

```csharp=
public class Retangulo
{
  public double Altura {get;set;}
  public double Base {get;set;}
}

public double AreaRetangulo (double basee, double altura)
{
  return altura * basee;
}

public string MaiorRetangulo (Retangulo ret1, Retangulo ret2, Retangulo ret3)
{
  string m;

  if (AreaRetangulo(ret1.Altura, ret1.Base) == AreaRetangulo(ret2.Altura, ret2.Base) && AreaRetangulo(ret2.Altura, ret2.Base) == AreaRetangulo(ret3.Altura, ret3.Base))
  {
    m = "Os retângulos são iguais.";
  }
 
  else if (AreaRetangulo(ret1.Altura, ret1.Base) > AreaRetangulo(ret2.Altura, ret2.Base) && AreaRetangulo(ret1.Altura, ret1.Base) > AreaRetangulo(ret3.Altura, ret3.Base))
  {
    m = "O primeiro retângulo é maior";
  }

  else if (AreaRetangulo(ret2.Altura, ret2.Base) > AreaRetangulo(ret1.Altura, ret1.Base) && AreaRetangulo(ret2.Altura, ret2.Base) > AreaRetangulo(ret3.Altura, ret3.Base))
  {
    m = "O segundo retângulo é maior.";
  }

  else if (AreaRetangulo(ret3.Altura, ret3.Base) > AreaRetangulo(ret1.Altura, ret1.Base) && AreaRetangulo(ret3.Altura, ret3.Base) > AreaRetangulo(ret2.Altura, ret2.Base))
  {
    m = "O terceiro retângulo é maior.";
  }

  else 
  {
    m = "Existem dois maiores retângulos";
  }

  return m;
}

Retangulo ret1 = new Retangulo();
ret1.Altura = 3;
ret1.Base = 7;

Retangulo ret2 = new Retangulo();
ret2.Altura = 5;
ret2.Base = 9;

Retangulo ret3 = new Retangulo();
ret3.Altura = 9;
ret3.Base = 10;

string q1 = MaiorRetangulo(ret1, ret2, ret3);
Console.WriteLine(q1);
//O terceiro retângulo é maior.
```

## Exercício 4
```csharp=

class MainClass {
  public static void Main (string[] args) {
  Ingresso x1 = new Ingresso ();
  x1.Meia = 1;
  x1.QtdIngresso = 1;
  x1.Preço = 15;
  x1.Filme = "John Wick 3";

  Cinemark cin = new Cinemark();
  string q4 = cin.CalcularTotal2(x1);
  Console.WriteLine(q4);
  }
}

public class Ingresso
{
  public int QtdIngresso {get;set;}
  public int Meia {get;set;}
  public double Preço {get;set;}
  public string Filme {get;set;}
}

public class Cinemark 
{
  public double CalcularTotal1 (Ingresso ingresso)
  {
    double inteiras = ingresso.QtdIngresso * ingresso.Preço;
    double meia = (ingresso.Meia * ingresso.Preço) / 2;
    double total = inteiras  + meia;
    return total;
  }

  public string CalcularTotal2 (Ingresso ingresso)
  {
    double total = CalcularTotal1(ingresso);
    return $"Compra concluída! O ingresso para o filme {ingresso.Filme} é de R$ {total}";
  }
}

//Compra concluída! O ingresso para o filme John Wick 3 é de R$ 22.5
```

## Exercício 5
```csharp=
class MainClass {
  public static void Main (string[] args) {
  Ingresso x1 = new Ingresso ();
  x1.Meia = 3;
  x1.QtdIngresso = 2;
  x1.Preço = 20;
  x1.Filme = "Kung Fu Panda 2";

  Cinemark cin = new Cinemark();
  string q4 = cin.CalcularTotal2(x1);
  Console.WriteLine(q4);
  }
}

public class Ingresso
{
  public int QtdIngresso {get;set;}
  public int Meia {get;set;}
  public double Preço {get;set;}
  public string Filme {get;set;}
}

public class Cinemark 
{
  public double CalcularTotal1 (Ingresso ingresso)
  {
    double inteiras = ingresso.QtdIngresso * ingresso.Preço;
    double meia = (ingresso.Meia * ingresso.Preço) / 2;
    double total = inteiras  + meia;
    return total;
  }

  public string CalcularTotal2 (Ingresso ingresso)
  {
    double total = CalcularTotal1(ingresso);
    return $"Compra concluída! A compra de {ingresso.QtdIngresso} ingresso(s) inteiro(s) e {ingresso.Meia} ingresso(s) meia para o filme {ingresso.Filme} é de R$ {total}";
  }
}
//Compra concluída! A compra de 2 ingresso(s) inteiro(s) e 3 ingresso(s) meia para o filme Kung Fu Panda 2 é de R$ 70
```

## Exercício 6
```csharp=
class MainClass {
  public static void Main (string[] args) {
  Ingresso x1 = new Ingresso ();
  x1.Meia = 3;
  x1.QtdIngresso = 2;
  x1.Preço = 20;
  x1.Filme = "Kung Fu Panda 2";

  Cinemark cin = new Cinemark();
  double q6 = cin.CalcularTotal(x1, 10);
  Console.WriteLine("O total da compra foi: " + q6);
  }
}

public class Ingresso
{
  public int QtdIngresso {get;set;}
  public int Meia {get;set;}
  public double Preço {get;set;}
  public string Filme {get;set;}
}

public class Cinemark 
{
  public double CalcularTotal (Ingresso ingresso, double cupom)
  {
    double inteiras = ingresso.QtdIngresso * ingresso.Preço;
    double meia = (ingresso.Meia * ingresso.Preço) / 2;
    double totalingressos = inteiras  + meia;
    double totalDes = totalingressos - AplicarCupom(totalingressos, cupom);
    return totalDes;
  }

  private double AplicarCupom (double total, double cupom)
  {
    return (total * cupom) / 100;
  }
}
//O total da compra foi R$ 63
```


## Exercício 7
```csharp=
class MainClass {
  public static void Main (string[] args) {
  Ingresso x1 = new Ingresso ();
  x1.Meia = 3;
  x1.QtdIngresso = 5;
  x1.Preço = 20;
  x1.Filme = "Kung Fu Panda 2";

  Cinemark cin = new Cinemark();
  double q6 = cin.CalcularTotal(x1, 10);
  Console.WriteLine("O total da compra foi R$ " + q6);
  }
}

public class Ingresso
{
  public int QtdIngresso {get;set;}
  public int Meia {get;set;}
  public double Preço {get;set;}
  public string Filme {get;set;}
}

public class Cinemark 
{
  public double CalcularTotal (Ingresso ingresso, double cupom)
  {
    double inteiras = ingresso.QtdIngresso * ingresso.Preço;
    double meia = (ingresso.Meia * ingresso.Preço) / 2;
    double totalIngressos = inteiras  + meia;
    double totalDes = AplicarCupom(totalIngressos, cupom);
    
    if (totalIngressos > 100)
    {
      totalDes = AplicarCupom(totalIngressos, cupom + 10);
    }

    double total = totalIngressos - totalDes;

    return total;
  }

  private double AplicarCupom (double total, double cupom)
  {
    return (total * cupom) / 100;
  }
}
//O total da compra foi R$ 104
```

## Exercício 8
```csharp=
  class MainClass {
  public static void Main (string[] args) {
  Ingresso x1 = new Ingresso ();
  x1.Meia = 3;
  x1.QtdIngresso = 5;
  x1.Preço = 20;
  x1.Filme = "Kung Fu Panda 2";
  x1.Dia = DateTime.Now;

  Cinemark cin = new Cinemark();
  double q68 = cin.CalcularTotal(x1, 10);
  Console.WriteLine("O total da compra foi R$ " + q8);
  }
}

public class Ingresso
{
  public int QtdIngresso {get;set;}
  public int Meia {get;set;}
  public double Preço {get;set;}
  public string Filme {get;set;}
  public DateTime Dia {get;set;}
}

public class Cinemark 
{
  public double CalcularTotal (Ingresso ingresso, double cupom)
  {
    double inteiras = ingresso.QtdIngresso * ingresso.Preço;
    double meia = (ingresso.Meia * ingresso.Preço) / 2;
    double totalIngressos = inteiras  + meia;
    double totalDes = AplicarCupom(totalIngressos, cupom + DiaDaCompra(ingresso.Dia));

    if (totalIngressos > 100)
    {
      totalDes = AplicarCupom(totalIngressos, cupom + 10 + DiaDaCompra(ingresso.Dia));
    }

    double total = totalIngressos - totalDes;

    return total;
  }

  private double AplicarCupom (double total, double cupom)
  {
    return (total * cupom) / 100;
  }

  private double DiaDaCompra (DateTime agora)
  {
    double desc = 0;
    DateTime a = agora;
    if (a.DayOfWeek == DayOfWeek.Wednesday)
    {
      desc = 50;
    }

    return desc;
  }
}
//O total da compra foi R$ 39
```

## Exercício 9
```csharp=
class MainClass {
  public static void Main (string[] args) {
  Ingresso x1 = new Ingresso ();
  x1.Meia = 3;
  x1.QtdIngresso = 5;
  x1.Preço = 20;
  x1.Filme = "Kung Fu Panda 2";
  x1.Dia = DateTime.Now;
  x1.Genero = "Nacional";

  Cinemark cin = new Cinemark();
  double q8 = cin.CalcularTotal(x1, 10);
  Console.WriteLine("O total da compra foi R$ " + q8);
  }
}

public class Ingresso
{
  public int QtdIngresso {get;set;}
  public int Meia {get;set;}
  public double Preço {get;set;}
  public string Filme {get;set;}
  public DateTime Dia {get;set;}
  public string Genero {get;set;}
}

public class Cinemark 
{
  public double CalcularTotal (Ingresso ingresso, double cupom)
  {
    double inteiras = ingresso.QtdIngresso * ingresso.Preço;
    double meia = (ingresso.Meia * ingresso.Preço) / 2;
    double totalIngressos = inteiras  + meia;
    DateTime a = ingresso.Dia;
    double totalDes = AplicarCupom(totalIngressos, cupom);

    if (ingresso.Genero == "Nacional")
    {
      totalIngressos = (5 * ingresso.QtdIngresso) + (5 * ingresso.Meia);
    }

    else {
      if (totalIngressos > 100 && a.DayOfWeek == DayOfWeek.Wednesday)
      {
        totalDes = AplicarCupom(totalIngressos, cupom + 10 + 50);
      }
      
      else {
          if (totalIngressos > 100)
          {
            totalDes = AplicarCupom(totalIngressos, cupom + 10);
          }

          if (a.DayOfWeek == DayOfWeek.Wednesday)
          {
            totalDes = AplicarCupom(totalIngressos, cupom + 50);
          }
      }
    }
    
    double total = totalIngressos - totalDes;

    return total;
  }

  private double AplicarCupom (double total, double cupom)
  {
    return (total * cupom) / 100;
  }
}
//O total da compra foi R$ 27
```

## Exercício 10
```csharp=
class MainClass {
  public static void Main (string[] args) {
  Jogador jog1 = new Jogador();
  jog1.Nome = "Vito";
  jog1.Jogada = "Pedra";

  Jogador jog2 = new Jogador();
  jog2.Nome = "Renan";
  jog2.Jogada = "Papel";

  Jokenpo jok = new Jokenpo();
  string q10 = jok.QuemGanhou(jog1, jog2);
  Console.WriteLine(q10);
  }
}

public class Jogador
{
  public string Nome {get;set;}
  public string Jogada {get;set;}
}

public class Jokenpo
{
  public string QuemGanhou (Jogador jog1, Jogador jog2)
  {
    string a ="";

    if (jog1.Jogada == "Pedra" && jog2.Jogada == "Tesoura" 
    || jog1.Jogada == "Tesoura" && jog2.Jogada == "Papel"
    || jog1.Jogada == "Papel" && jog2.Jogada == "Pedra")
    {
      a = $"Parabéns {jog1.Nome} você venceu";
    }

    else 
    {
      a = $"Parabéns {jog2.Nome} você venceu";
    }

    return a;
  }
}

//Parabéns Renan você venceu
```

## Exercício 11
```csharp=
class MainClass {
  public static void Main (string[] args) {
  Jogador jog1 = new Jogador();
  jog1.Nome = "Vito";
  jog1.Jogada = "Par";
  jog1.Numero = 6;

  Jogador jog2 = new Jogador();
  jog2.Nome = "Renan";
  jog2.Jogada = "Impar";
  jog2.Numero = 8;

  ParOuImpar poi = new ParOuImpar();
  string q11 = poi.QuemGanhou(jog1, jog2);
  Console.WriteLine(q11);
  }
}

public class Jogador
{
  public string Nome {get;set;}
  public string Jogada {get;set;}
  public int Numero {get;set;}
}

public class ParOuImpar
{
  public string QuemGanhou (Jogador jog1, Jogador jog2)
  {
    int soma = jog1.Numero + jog2.Numero;
    string a ="";

    if (soma % 2 == 0 && jog1.Jogada == "Par" || soma % 2 == 1 && jog1.Jogada == "Impar")
    {
      a = $"Parabéns {jog1.Nome} você venceu";
    }

    else 
    {
      a = $"Parabéns {jog2.Nome} você venceu";
    }

    return a;
  }
}

//Parabéns Vito você venceu
```