---
# System prepended metadata

title: Session Two | Fundamento de Logica

---

# Session Two | Fundamento de Logica
Autor: Gustavo Silva Gomes n°51

[toc]

## Exercicio - 1
```csharp=
using System;
					
public class IngressoCinemark
{
	public int QtdInteira {get; set;}
	public int QtdMeia	  {get; set;}
	public double Preco   {get; set;}
	public string Filme   {get; set;}
}

public string CalcularIngresso (IngressoCinemark Ingresso)
{
	int TotalIngresso   = Ingresso.QtdInteira + Ingresso.QtdMeia;
	double TotalInteira = Ingresso.QtdInteira * Ingresso.Preco;
	double TotalMedia   = Ingresso.QtdMeia * (Ingresso.Preco / 2);
	double Total 		= TotalInteira + TotalMedia;
	
	string mensagem 	= $"O valor da compra de {TotalIngresso} ingressos referente ao filme {Ingresso.Filme} é R$ {Total}";
	return mensagem;
}

IngressoCinemark ing = new IngressoCinemark();
ing.QtdInteira =  2;
ing.QtdMeia	   = 1;
ing.Preco	   = 40;
ing.Filme 	   = "Minha Mãe é uma peça";

string x = CalcularIngresso(ing);
Console.WriteLine(x);

//O valor da compra de 3 ingressos referente ao filme Minha Mãe é uma peça é R$ 100
```

## Exercicio - 2
```csharp=
using System;

public class Partida
{
	public string Jogador1 {get; set;}
	public string Jogador2 {get; set;}
}

public bool Jokenpo (Partida partida)
{
	bool Jogador1Venceu = (partida.Jogador1 == "Papel" && partida.Jogador2 == "Pedra")
							||
						  (partida.Jogador1 == "Tesoura" && partida.Jogador2 == "Papel")
							||
						  (partida.Jogador1 == "Pedra" && partida.Jogador2 == "Tesoura");
	
	return Jogador1Venceu;	
}

Partida part = new Partida();
part.Jogador1 = "Pedra";
part.Jogador2 = "Tesoura";

bool x = Jokenpo(part);
Console.WriteLine("Jogador 1 venceu? "+ x);

//Jogador 1 venceu? True
```

## Exercicio - 3
```csharp=
using System;

public class EstadiaHotel 
{
	public DateTime Checkin  {get; set;}
	public DateTime Checkout {get; set;}
	public int QtdPessoas 	 {get; set;}	
}

public double TotalDias1(DateTime ida, DateTime volta)
{
	TimeSpan dif = volta - ida;
	double dias  = dif.TotalDays + 1;
	return dias;
}

public double HospedagemHotel(EstadiaHotel hotel)
{
	double dias = TotalDias1(hotel.Checkin, hotel.Checkout);
	double total = dias * hotel.QtdPessoas * 120;
	return total;
}

EstadiaHotel estadia = new EstadiaHotel();
estadia.Checkin = new DateTime (2021, 01, 10);
estadia.Checkout = new DateTime (2021, 01, 20);
estadia.QtdPessoas = 3;

double x = HospedagemHotel(estadia);
Console.WriteLine("A Hospedagem Ficou "+ x);

//A Hospedagem Ficou 3960
```

## Exercicio - 4
```csharp=
using System;

public class PassagemAerea
{
	public DateTime Ida { get; set; }
	public DateTime Volta { get; set; }
	public int QtdAdultos { get; set; }
	public int QtdCriancas { get; set; }
	public string Origem { get; set; }
	public string Destino { get; set; }
}

public double TotalDias1(DateTime Ida, DateTime Volta)
{
	TimeSpan dif = Volta - Ida;
	double dias = dif.TotalDays + 1;
	return dias;
}

public double Passagem (PassagemAerea passagem)
{
	double dias = TotalDias1(passagem.Ida, passagem.Volta);
	double total = (dias * passagem.QtdAdultos * 200) + (dias * passagem.QtdCriancas * 100);
	return total;
}

PassagemAerea pass = new PassagemAerea();
pass.Ida = new DateTime (2020, 1, 10);
pass.Volta = new DateTime (2020, 1, 20);
pass.QtdAdultos = 2;
pass.QtdCriancas = 1;
pass.Origem = "Rio de Janeiro";
pass.Destino = "Dubai";

double x = Passagem(pass);
Console.WriteLine("A viagem fica por: "+ x);

//A viagem fica por: 5500
```

## Exercicio - 5
```csharp=
public class EstadioHotel2
{
    public DateTime Checkin { get; set; }
    public DateTime Checkout { get; set; }
    public int QtdPessoas { get; set; }
}

public class PassagemAerea2
{
    public DateTime Ida { get; set; }
    public DateTime Volta { get; set; }
    public int QtdAdultos { get; set; }
    public int QtdCriancas { get; set; }
    public string Origem { get; set; }  
    public string Destino { get; set; }
}

public class Comprovante
{
    public double Total { get; set; }
    public double TotalHotel { get; set; }
    public double TotalPassagem { get; set; }
    public string Mensagem { get; set; }
}




public double TotalDias3(DateTime ida, DateTime volta)
{
    TimeSpan dif = volta - ida;
    double dias = dif.TotalDays + 1;
    return dias;
}


public double CalcularPassagemAerea(PassagemAerea2 passagem)
{
    double dias = TotalDias3(passagem.Ida, passagem.Volta);
    double total = (dias * passagem.QtdAdultos * 200) + (dias * passagem.QtdCriancas * 100);
    return total;
}


public double HospedagemHotel(EstadioHotel2 hotel)
{
    double dias = TotalDias3(hotel.Checkin, hotel.Checkout);
    double total = dias * hotel.QtdPessoas * 120;
    return total;
}


public Comprovante PacoteViagem(PassagemAerea2 passagem, EstadioHotel2 estadia)
{
    double totalHotel = HospedagemHotel(estadia);
    double totalPassagem = CalcularPassagemAerea(passagem);
    double dias = TotalDias3(passagem.Ida, passagem.Volta);

    Comprovante comprovante = new Comprovante();
    comprovante.TotalHotel = totalHotel;
    comprovante.TotalPassagem = totalPassagem;
    comprovante.Total = totalHotel + totalPassagem;
    comprovante.Mensagem = $"A compra do Pacote de {dias} dias para o destino {passagem.Destino} foi finalizado com sucesso! O total incluindo todas despesas é de R$ {comprovante.Total}";

    return comprovante;
```
