---
# System prepended metadata

title: 'Session one: recomeçar | Fund.logica | 2° bimestre'

---

# Session one: recomeçar | Fund.logica | 2° bimestre
**Nome** Kevin Ribeiro de Andrade
**número** 27
**turma** INFO A






## Exercício 1
Crie uma função que implemente a lógica para 
calcular a média de 4 notas de um aluno.

```csharp=
using System;
					

					
public class notas
{
	public double nota1;
	public double nota2;
	public double nota3;
    public double nota4;
}

public double calc_nota(notas nt)
{
	return (nt.nota1 + nt.nota2 + nt.nota3 + nt.nota4) / 4;
	
}

notas vl = new notas();

vl.nota1 = 10;
vl.nota2 = 10;
vl.nota3 = 10;
vl.nota4 = 10;

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



## Exercício 2
Crie uma função que implemente a lógica para 
calcular a área do Retângulo.

```csharp=
using System;
					
public class retan
{
	public int basee;
	public int altura;
}

public long calc_retan(retan vl)
{
	long arm = vl.basee * vl.altura;
	return arm;
}

retan adc = new retan();

adc.basee = 2;
adc.altura = 2;

long x = calc_retan(adc);
x
```

## Exercício 3
Crie uma função que a partir da base e altura de dois 
triângulos diferentes, crie uma função que verifique se o 
[Triângulo-1] possui a área igual ao [Triângulo-2], retorne 
verdadeiro se forem iguais e falso se forem diferentes.


```csharp=
using System;
					
//base * altura / 2

public class triang
{
	public double basee;
	public double altura;
}

public bool calc_triang (triang tri, triang tri2)
{
	double calc = (tri.basee * tri.altura) / 2;
    double calc2 = (tri2.basee * tri2.altura) / 2;
	return calc == calc2 ;
}

triang t1 = new triang();

t1.basee = 25;
t1.altura = 37;

triang t2 = new triang();

t2.basee = 13;
t2.altura = 17;

bool x = calc_triang(t1,t2);
x
```

## Exercício 4
Crie uma função que a partir da quantidade de açaí 
pequenos, médios e grandes comprados por um cliente, 
calcule o total a pagar sabendo que os valores do açaí são 
R$ 10,00, R$ 12,00 e R$ 14,00 respectivamente e não 
sofrerão alteração de preço.

```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
```

## Exercício 5
Crie uma função que a partir do preço de um veículo e o 
total de parcelas que será financiado, calcule o valor final 
pago considerando uma taxa de 5% por mês.


```csharp=
using System;
					
public class pedido_carro
{
	public double preco;
	public long parcelas;
}

public double calc_compra(pedido_carro nr)
{
	double calc = (nr.preco * 5) / 100;
	double calc_parcelas = nr.preco / nr.parcelas;
	return calc + calc_parcelas;
}

pedido_carro vl = new pedido_carro();
vl.preco = 10299.75;
vl.parcelas = 4;

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

## Exercício 6
Crie uma função que a partir do nome de uma pessoa e 
um CEP, verifique se o CEP contém o caractere hífen (-) e 
possui um total de 9 caracteres. 
Se o CEP for válido, retorne:
“XXX, o resultado da validação de seu CEP é: true” 
ou 
“XXX, o resultado da validação de seu CEP é: false”.

```csharp=
using System;
					
// Pra que retornar em string? Crazy
public class endereco
{
	public string nome;
	public string CEP;
}

public string valid_CEP(endereco end)
{
	long verific = end.CEP.Length;
	bool verific2 = end.CEP.Contains("-");
	bool comp = verific == 9;
	bool comp2 = comp == true || verific2 == false;
	string conv = Convert.ToString(comp2);
	return conv;
}

endereco valid = new endereco();
valid.nome = "Rin tohsaka";
valid.CEP = "79036-160";

string x = valid_CEP(valid);
x
```


## Exercício 7
Crie uma função composta que a partir de três nomes 
completos, retorne verdadeiro/falso se as pessoas são da 
mesma família, comparando o último nome das três 
pessoas

```csharp=
using System;
					

public class nome
{
	public string nomeCompleto;
}

public string extrair_nome(string noms)
{
	int posicao = noms.LastIndexOf(" ");
	string ultimo_nome = noms.Substring(posicao);
	
    return ultimo_nome;
}

public bool msm_familia(nome p1, nome p2, nome p3)
{
     return extrair_nome(p1.nomeCompleto) == extrair_nome(p2.nomeCompleto) && extrair_nome(p1.nomeCompleto) == extrair_nome(p3.nomeCompleto);
}

	
nome p1 = new nome();
p1.nomeCompleto = Console.ReadLine();

nome p2 = new nome();
p2.nomeCompleto = Console.ReadLine();

nome p3 = new nome();
p3.nomeCompleto = Console.ReadLine();

bool x = msm_familia(p1, p2, p3);
x
```


## Exercício 8
Crie uma função composta que a partir dos valores 
'a', 'b' e 'c', calcule o valor de xi e xii baseado na 
equação de segundo grau.

```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);
```


## Exercício 9
Crie uma função composta que implemente a lógica 
da seguinte situação: Em uma festa temática de 
Astrologia, só podem entrar pessoas que são de 
libra e maiores de 18 anos. Você deve retornar se 
um casal que irá a festa poderão entrar.

```csharp=
using System;
				
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
```


## Exercício 10
Crie uma função que implemente a lógica da seguinte 
situação: Para ir e voltar do trabalho uma pessoa abastece 
o carro semanalmente. A distância percorrida na ida e 
volta são diferentes, já que ele percorre caminhos 
diferentes para fugir do trânsito. No dia do rodízio, ele 
ainda percorre outros caminhos de ida e volta para não 
levar multa. Sabendo que a pessoa trabalha apenas de 
segunda a sexta e que o carro será abastecido com 
gasolina, calcule o total que será gasto no mês 
considerando que um mês possui 4 semanas. Crie uma 
função para calcular o total gasto a partir das 
quilometragens de ida e volta, considerando o dia de 
rodízio e o consumo por litro do veículo.

```csharp=
using System;
					
public class caminho 
{
	public double ida;
	public double volta;
}

public double calc_percurso ( caminho comum, caminho rdz, double consumo)
{
	double calckm_semana = (comum.ida + comum.volta) * 5 + (rdz.ida + rdz.volta);
     double calc_consumo = calckm_semana / consumo;
	return calc_consumo * 3.8;
}
	
caminho cmh = new caminho ();

cmh.ida = 12.6;
cmh.volta= 11.4;

caminho cam = new caminho ();

cam.ida = 14.8;
cam.volta = 17.3;

	
double x = calc_percurso(cmh, cam, 13.7);
x
```