---
# System prepended metadata

title: 'session one: Check-out | Fund.logica | 2° bimestre'

---

# session one: Check-out | Fund.logica | 2° bimestre

**Nome** Kevin Ribeiro de Andrade
**número** 27
**Turma** INFO A


## Mapa mental

![](https://i.imgur.com/i8gBaR9.png)


## Tipo composto e os aprendizados da semana

Bom sobre o tipo composto foi bem interessante a gente aprender ele pois estávamos estagnados em C# vendo sempre funções únicas ou compostas sem nenhum conceito novo. Mas com esse tipo composto minhas funções podem começar a ficar mais robustas aumentando minha capacidade como programador de c#.

Falando sobre como funciona o tipo composto é mais ou menos assim lá você cria sua própria variável( ou função, não sei explicar muito bem), que dentro dela pode ter diversos Valores como string, double, long e DateTime. Nós estamos usando esses valores em nossas funções para que fiquem mais robustas para colocarmos o valor da classe dentro de uma função precisamos colocar essa classe como parâmetro para função dar um nome pra ela(nos parâmetros da função), e usar o ponto para chamar as variáveis de dentro da classe.
Ex:

### Tipo composto - função única

```csharp=
using System;

//açaí pequeno- 10,00
//açaí médio- 12,00
//açaí grande- 14,00
public class qtdacais
{
	public long acai_pequeno;
	public long acai_medio;
	public long acai_grande;
}

public double calc_pedido(qtdacais qtd)
{
	double pequeno = 10.00;
	double medio = 12.00;
	double grande = 14.00;
	return (qtd.acai_pequeno * pequeno) + (qtd.acai_medio * medio) + (qtd.acai_grande * grande);
}

qtdacais vl = new qtdacais();
vl.acai_pequeno = 1;
vl.acai_medio = 2;
vl.acai_grande = 2;

double x = calc_pedido(vl);
x
```

### Tipo composto - função composta

```csharp=
using System;
				

					
public class casal
{
	public DateTime nascPessoa1;
	public DateTime nascPessoa2;
}
					

public bool libra(DateTime nasc)
{
	bool res = nasc.Month == 9 && nasc.Day > 22;
	bool res2 = nasc.Month == 10 && nasc.Day < 23;
	
	return res == true || res2 == true;		
}

public bool menor_maior18(DateTime nasc)
{
	DateTime agora = DateTime.Now;
	TimeSpan calc = agora - nasc;
	double calc2 = calc.TotalDays / 365;
	
	return calc2 >= 18;
}

public bool permitir_entrada(casal cs)
{
	bool comp = libra(cs.nascPessoa1) == true && menor_maior18(cs.nascPessoa1) == true;
	bool comp2 = libra(cs.nascPessoa2) == true && menor_maior18(cs.nascPessoa2) == true;
	return comp == true && comp2 == true;
}

casal dt = new casal();

dt.nascPessoa1 = new DateTime (2002,09,25);
dt.nascPessoa2 = new DateTime (2003,10,21);

bool x = permitir_entrada(dt);
x
```

Ai vemos como funciona o tipo composto na práticas o tipo composto pode fazer com que sua função retorne dois valores diferentes, eu só não mostrei nesse código mas quando o professor fez a correção ele usou Console.WriteLine para ler duas Variáveis, eu irei mostrar um código que eu fiz segue a msm idéia do código do professor, ambos estão corretos única diferença são alguns nomes ou valores ou até formas de montagem de código também ex:

```csharp=
using System;
					
public class equacao
{
	public long a;
	public long b;
	public long c;
}

public class resultado
{
	public double x1;
	public double x2;
}

public double delta(equacao eq)
{
	return Math.Pow(eq.b,2) - 4 * eq.a * eq.c;
}

public resultado segundo_grau(equacao eq)
{
      double res = (-eq.b + Math.Sqrt(delta(eq))) / 2 * eq.a;
	  double res2 = (-eq.b - Math.Sqrt(delta(eq))) / 2 * eq.a;
	
	resultado resul = new resultado ();
	
	resul.x1 = res;
	resul.x2 = res2;
	
	return resul;
}

equacao result = new equacao();

result.a = 2;
result.b = -2;
result.c = -2;

resultado x = segundo_grau(result);
Console.WriteLine("res1 é igual a:" +  x.x1);
Console.WriteLine("res2 é igual a:" + x.x2);
```
**Todos esses códigos foram tirados da minha session prática de Fund.logica e foi feito totalmente sozinho**

## Dúvidas

eu não tenho dúvidas, consegui absorver o conteúdo tranquilamente.



