# Trabalho: Fund. de Lógica.
Nome: Pedro Henrique Gomes de Oliveira Sardinha
Turma: InfoB
Número: 41
[toc]
## Nível 1
### Exercício 1
Faça uma função que a partir da base e altura, calcule a área do triângulo.
```csharp=
using System;
public double CalcularAreaTriangulo (int alt, int baset)
{
int x = alt * baset;
int area = x/2;
return area;
}
double x = CalcularAreaTriangulo(10, 6);
x
=30
```
### Exercício 2
Faça uma função ÚNICA que a partir do lado, calcule o perímetro do octógono.
```csharp=
using System;
public double peri (double lado)
{
double perimetro = lado * 8;
return perimetro;
}
double x = peri (20);
x
= 160
```
### Exercício 3
Faça uma função ÚNICA que a partir da base maior, base menor e altura, calcule a área do trapézio.
```csharp=
using System;
public double Trapezio (double maior, double Menor, double Alt)
{
double area = (maior * Menor * Alt) / 3;
return area;
}
double x = Trapezio (22, 16, 15);
x
= 1760
```
### Exercício 4
Faça uma função ÚNICA que a partir da diagonal maior e menor, calcule aárea do losango.
```csharp=
using System;
public double losango (double Maior, double Menor)
{
double area = (Maior * Menor) / 2;
return area;
}
double x = losango (7, 10);
x
=35
```
### Exercício 5
Faça uma função ÚNICA que a partir da base e altura, calcule a área do paralelogramo.
```csharp=
using System;
public double Paraleleogroma (double alt, double bas)
{
double area = (alt * bas) / 2;
return area;
}
double x = Paraleleogroma (9, 12);
x
= 54
```
## Nível 2
### Exercício 1
Faça uma função ÚNICA que a partir do cateto oposto e adjacente, calcule a hipotenusa Arredonde a resposta para uma casa decimal.
```csharp=
using System;
public double Hipotenusa (double Adjacente, double Oposto)
{
double soma = Math.Pow (Adjacente, 2) + Math.Pow (Oposto, 2);
double soman = Math.Round(soma, 1);
double raiz = Math.Sqrt(soman);
return Math.Pow (raiz, 1);
}
double x = Hipotenusa (4, 3);
x
= 5
```
### Exercício 2
Faça uma função ÚNICA que a partir de um peso e altura de uma pessoa,calcule o IMC Arredonde a resposta para duas casas decimais.
```csharp=
using System;
public double IMC (double PESO, double ALTURA )
{
double pesoPoraltura = (PESO / (Math.Pow(ALTURA, 2)));
return Math.Round (pesoPoraltura, 2);
}
double x = IMC (70, 1.74);
x
= 23.12
```
### Exercício 3
Faça uma função ÚNICA que a partir de um capital, parcelas e taxa de juros, calcule o juros compostos Arredonde a resposta para uma casa decimal.
```csharp=
using System;
public double Jullius (double capital, int parcelas, double taxa)
{
double juros = capital * Math.Pow(1 + taxa / 100, parcelas);
double novo = capital + juros;
return Math.Round(novo, 2);
}
double x = Jullius(269, 12, 12);
x
= 1317.02
```
### Exercício 4
Faça uma função ÚNICA que a partir da massa e velocidade, calcule a energia cinética Obrigatório o uso da função Math Pow.
```csharp=
using System;
public double EnergiaCinetica (double massa, double velocidade)
{
double Ec1 = Math.Pow (velocidade, 2);
double Ec2 = ((massa * Ec1) / 2);
return Ec2;
}
double x = EnergiaCinetica (20, 10);
x
= 1000
```
## Níviel 3
### Exercício 1
Faça uma função ÚNICA que a partir de um nome completo de uma pessoa, extraia o primeiro nome.
```csharp=
using System;
public string PrimeiroNome (string a)
{
int espaco = a.LastIndexOf(" ");
string nome = a.Substring(0, espaco);
string b = nome.Trim();
return b;
}
string x = "Pedro Gomes";
string primeiro = PrimeiroNome(x);
primeiro
= Pedro
```
### Exercício 2
Faça uma função ÚNICA que a partir de um nome completo de uma pessoa, extraia o último nome.
```csharp=
using System;
public string UltimoNome (string a)
{
int espaco = a.LastIndexOf (" ");
string nome = a.Substring (espaco);
string b = nome.Trim();
return b;
}
string x = "Pedro Sardinha";
string ultimo = UltimoNome(x);
ultimo
= Sardinha
```
### Exercício 4
Faça uma função ÚNICA que a partir de um CEP, retorne verdadeiro/falso se o CEP contém o caractere hífen e possui um total de 9 caracteres.
```csharp=
using System;
public bool cep (string CEP)
{
bool contem = CEP.Contains ("-");
int caracter = CEP.Length;
bool valido = caracter >= 9 && contem == true;
return valido;
}
bool x = cep ("04812-100");
x
= true
```
### Exercício 5
Faça uma função ÚNICA que a partir de um telefone com máscara e DDD incluído ex (11) 94343 0808 retorne apenas os números do telefone
ex 11943430808.
```csharp=
using System;
public string Extrairtelefone (string telefone)
{
string a = telefone.Replace(" ", "").Replace("(","").Replace(")", "").Replace("-", "");
return a;
}
string x = Extrairtelefone ("(11) 96538-1428");
x
= 11965381428
```
## Níviel 4
### Exercício 1
Faça uma função ÚNICA que a partir de uma data, descubra o último dia do mês a partir dessa data.
```csharp=
using System;
public DateTime UltimoDiaMes (DateTime data)
{
DateTime Ultimo = new DateTime (data.Year, data.Month, DateTime.DaysInMonth(data.Year, data.Month));
return Ultimo;
}
DateTime x = new DateTime(2021,04,04);
DateTime a = UltimoDiaMes(x);
a
= 4/30/2021
```
### Exercício 2
Faça uma função ÚNICA que a partir de uma data, descubra o primeiro dia do próximo mês a partir dessa data.
```csharp=
using System;
public DateTime PrimeiroDia (DateTime data)
{
DateTime firat = new DateTime (data.Year, data.Month, 1);
DateTime last = firat.AddMonths(1);
return last;
}
DateTime a = new DateTime(2021, 04, 18);
DateTime b = PrimeiroDia (b);
b
= 5/1/2021
```
### Exercício 3
Faça uma função ÚNICA que a partir de uma data, retorne verdadeiro/falso se a data pertence ao segundo trimestre do ano.
```csharp=
using System;
public bool SegundoSemestre (DateTime data)
{
int mes = data.Month;
bool calcula = mes >= 4 && mes <= 6;
return calcula;
}
DateTime k = new DateTime(2021, 04, 12);
bool x = SegundoSemestre (k);
= True
```
### Exercício 5
Faça uma função ÚNICA que a partir de uma data, retorne verdadeiro/falso se a data pertence a primeira quinzena do mês.
```csharp=
using System;
public bool quinzena (DateTime data)
{
int x = data.Day;
bool resposta = x >= 1 && x <= 15;
return resposta;
}
DateTime a = new DateTime (2021 ,04, 16);
bool x = quinzena (a);
= false
```
## Níviel 5
### Exercício 1
Faça uma função COMPOSTA que a partir dos valores 'a', 'b' e 'c' calcule o valor de ' baseado na equação de segundo grau.
```csharp=
using System;
public double corrida (double a, double b, double c)
{
double z = primeiro (b, c);
double y = z/a;
return y;
}
public double primeiro (double b, double c)
{
return (c-b);
}
double x = corrida (12, 65, 3);
x
= -5.16666666666667
```
### Exercício 2
Faça uma função COMPOSTA que encontre um termo de uma PA (Progressão Aritmética), a partir do primeiro termo, razão e posição do termo que deseja encontrar.
```csharp=
using System;
public double TermoGeralPA (double primeiroTermo, double razao, double posicao){
return primeiroTermo + (Conta2(posicao, razao));
}
public double Conta2 (double posicao, double razao)
{
return (posicao - 1) * razao;
}
double a = TermoGeralPA(10, 10, 200);
a
= 2000
```
### Exercício 3
Faça uma função COMPOSTA que encontre um termo de uma PG (Progressão Geométrica), a partir do primeiro termo, razão e posição do termo que deseja encontrar
```csharp=
using System;
public double TermoGeralPG (double PrimeiroTermo, double razao, double posicaoDoTermo)
{
double calculoRazao = Math.Pow(razao, CalculoPosicao(posicaoDoTermo));
double calculoTotal = PrimeiroTermo * calculoRazao;
return calculoTotal;
}
public double CalculoPosicao (double posicaoDoTermo)
{
return posicaoDoTermo - 1;
}
double a = TermoGeralPG (6, 6, 6);
a
= 46656
```
### Exercício 4
Faça uma função COMPOSTA que a partir de dois nomes completos, retorne verdadeiro/falso se as pessoas são da mesma família, comparando o último nome das duas pessoas
```csharp=
using System;
public bool SobrenomeIgual (string a, string b)
{
string sobrenome1 = UltimoNome(a);
string sobrenome2 = UltimoNome(b);
bool x = sobrenome1 == sobrenome2;
return x;
}
public string UltimoNome (string a)
{
int espaco1 = a.LastIndexOf(" ");
int todas1 = a.Length;
string sobrenome1 = a.Substring(espaco1,todas1-espaco1);
string k = sobrenome1.Trim();
return k;
}
string a1= "Pedro Sardinha";
string b1 = "Andre Sardinha";
bool nome = SobrenomeIgual(a1,b1);
nome
= True
```