---
# System prepended metadata

title: Untitled

---

## Session Three: It's always time to restart - Fundamentos de Lógica
Autor: Jonathan Fernando Costa Galo

[toc]

## Funções Package - Códigos no Csharp

### Exercício 1 - Crie uma classe representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas:
> 1. Calcular a área do retângulo baseado em sua
altura e base.
> 2. Calcular o perímetro do retângulo baseado em sua altura e base.
> 3. Verificar se dois retângulos são iguais baseado em suas áreas.
```csharp=
public class Retangulo
{
	public double Altura {get;set;}
	public double Base {get;set;}
}


public class Trigonometria
{
	
	public bool RetanguloIguais(Retangulo ret1, Retangulo ret2)
	{
		return AreaRetangulo(ret1.Altura, ret1.Base) == AreaRetangulo(ret2.Altura, ret2.Base);
	}
	
	private double AreaRetangulo(double a, double b)
	{
		double area = a * b;
		return area;
	}

	public double PerimetroRetangulo(double a, double b)
	{
		double per = a + a + b + b;
		return per;
	}
}



Trigonometria trig = new Trigonometria();

// double x = trig. AreaRetangulo(10, 5);
// Console.WriteLine(x);

Console.WriteLine("Exercício 1");

double x1 = trig.PerimetroRetangulo(10, 5);
Console.WriteLine("O perímetro do retangulo é " + x1);


Retangulo r1 = new Retangulo();
r1.Altura = 10;
r1.Base = 5;

Retangulo r2 = new Retangulo();
r2.Altura = 25;
r2.Base = 2;


bool x2 = trig.RetanguloIguais(r1, r2);
Console.WriteLine("Os retangulos são iguais: " + x2);
```

### Exercício 2 - Crie uma classe representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas:
> 1. Calcular a área do retângulo baseado em sua
altura e base abstraído em um tipo composto.
> 2. Calcular a área do triângulo baseado em sua
altura e base abstraído em um tipo composto.
> 3. Calcular a área do paralelogramo baseado em sua altura e base abstraído em um tipo composto.
```csharp=
public class RetanTrianParal
{
	public double Altura {get;set;}
	public double Base {get;set;}
}


public class Trigonometria_1
{
	public double AreaRetangulo(RetanTrianParal Retangulo)
	{
		double a = Retangulo.Base;
		double b = Retangulo.Altura;
		double areaR = a * b;
		return areaR;
	}

	public double AreaTriangulo(RetanTrianParal Triangulo)
	{
		double a = Triangulo.Base;
		double b = Triangulo.Altura;
		double areaT = (a * b)/2;
		return areaT;
	}
	
	public double AreaParalelogramo(RetanTrianParal Paralelogramo)
	{
		double a = Paralelogramo.Base;
		double b = Paralelogramo.Altura;
		double areaP = a * b;
		return areaP;
	}
}



Trigonometria_1 trig1 = new Trigonometria_1();

// double x = trig. AreaRetangulo(10, 5);
// Console.WriteLine(x);

Console.WriteLine("Exercício 2");

RetanTrianParal b1 = new RetanTrianParal();
b1.Altura = 10;
b1.Base = 5;

RetanTrianParal b2 = new RetanTrianParal();
b2.Altura = 25;
b2.Base = 2;

RetanTrianParal b3 = new RetanTrianParal();
b3.Altura = 25;
b3.Base = 2;

double a1 = trig1.AreaRetangulo(b1);
Console.WriteLine("A area do triangulo é de: " + a1);

double a2 = trig1.AreaTriangulo(b2);
Console.WriteLine("A area do retangulo é de: " + a2);

double a3 = trig1.AreaParalelogramo(b3);
Console.WriteLine("A area do paralelogramo é de: " + a3);
```


[//]: # "Exercicio está tudo errado"


### Exercício 3 - Crie uma classe representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas:
> 1. Retorne o primeiro dia do mês a partir de uma data.
> 2. Retorne o último dia do mês a partir de uma data.
> 3. Verifique se o mês possui 31 dias a partir de uma data.
> 4. Verifique se uma data cai em uma sexta-feira 13
> 5. Retorne quantas semanas faltam para chegar no aniversário de uma pessoa a partir de seu nome e data de aniversário abstraído em um tipo composto. O retorno deve seguir o template: “XXXX, faltam XXXX semanas para seu niver.”
> 6. Retorne se uma pessoa é de Libra a partir do dia em que nasceu abstraído em um tipo composto.
```csharp=
public class Retangulo
{
	public double Altura {get;set;}
	public double Base {get;set;}
}


public class Trigonometria
{
	
	public DateTime PrimeiroDia(DateTime d1)
	{
		DateTime dia1 = DateTime.Day(d1) + "-" + DateTime.Month(d1) + "-" + "01";
		return dia1;
	}

	public double UltimoDia(DateTime d1)
	{
		DateTime UltDia = start_date(d1);
		return UltDia;
	}
}

Console.WriteLine("Exercício 3");
```

### Exercício 5 - Crie uma classe representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas:
> 1. Calcular a área do retângulo.
> 2. Calcular o volume do cilindro.
> 3. Verificar se dois retângulos são iguais baseado em sua área. Utilize a ideia de função composta.
> 4. Verificar se é possível transferir o conteúdo do primeiro cilindro ao segundo. Utilize a ideia de função composta.
```csharp=

```