---
# System prepended metadata

title: List e For | Fund. Lógica

---

# List e For | Fund. Lógica
**Author:** Matheus Rafael Morato Rocha
**Turma:** InfoC
**Número:** 40

[TOC]


## Nível 1

```csharp=


using System;
using System.Collections.Generic;
    
public class Notas
{
    public double Nota1 { get; set; }
    public double Nota2 { get; set; }
    public double Nota3 { get; set; }
}

public class Retangulo 
{
    public double Base;
    public double Altura;
}

public class TreinoFocado1
{
    public List<int> GerarSequencia(int fim)
    {
        List<int> seq = new List<int>();
        for (int i = 0; i <= fim; i++)
        {
            seq.Add(i);
        }
        return seq;
    }
    public List<int> GerarSequencia(int inicio,int fim)
    {
        List<int> seq = new List<int>();
        for (int i = inicio; i <= fim; i++)
        {
            seq.Add(i);
        }
        return seq;
    }
    public List<int> GerarSequenciaPares(int inicio,int fim)
    {
        List<int> seq = new List<int>();
        for (int i = inicio; i <= fim; i++)
        {
            if (i % 2 == 0)
            {
                seq.Add(i);
            }

        }
        return seq;
    }
    public int SomarAte (int fim)
    {
        int somar = 0;
        for (int i = 0; i <= fim; i++)
        {
            somar += i;
        }
        return somar;
    }

    public double CalcularMedia(List<double> notas)
    {
        double soma = 0;
		for (int i = 0; i < notas.Count; i++)
		{
			double n = notas[i];
			soma = soma + n;
		}
		
		double media = soma / notas.Count;
		return media;
    }
    public List<double> CalcularMedias(List<Notas> notas)
    {
		List<double> medias = new List<double>();
		
		for (int i = 0; i < notas.Count; i++)
		{
			Notas Aluno = notas[i];
			double media = (Aluno.Nota1 + Aluno.Nota2 + Aluno.Nota3) / 3;
			medias.Add(media);
		}

		return medias;
    }

    public List<double> CalcularQuadrados (List<double> numeros)
    {    
        List<double> Quadrado = new List<double>();
		for (int i = 0; i < numeros.Count; i++)
		{
			double numero = numeros[i];
			double quadrados = Math.Pow(numero, 2);
			
			Quadrado.Add(quadrados);
		}
		return Quadrado;
    }

    private double AreaRetangulo(Retangulo retangulo)
    {
        double area = retangulo.Base * retangulo.Altura;
        return area;
    }
    public List<double> AreaRetangulos(List<Retangulo> retangulos)
    {
        List<double> retangulo = new List<double>();
		for (int i = 0; i < retangulos.Count; i++)
		{
			Retangulo ret = retangulos[i];
			double area = AreaRetangulo(ret);
			
			retangulo.Add(area);
		}
		
		return retangulo;
    }
}


List<Retangulo> retangulos = new List<Retangulo>()
{
	new Retangulo() { Base = 5, Altura = 4 },
	new Retangulo() { Base = 8, Altura = 4 },
	new Retangulo() { Base = 10, Altura = 2 }
};

List<double> notas = new List<double> () {10, 8, 6};
List<double> Quadrado = new List<double> () {2,3,4};

Notas nota1 = new Notas();
nota1.Nota1 = 10;
nota1.Nota2 = 8;
nota1.Nota3 = 6;

Notas nota2 = new Notas();
nota2.Nota1 = 8;
nota2.Nota2 = 6;
nota2.Nota3 = 4;

Notas nota3 = new Notas();
nota3.Nota1 = 8;
nota3.Nota2 = 10;
nota3.Nota3 = 6;

List<Notas> Notasss = new List<Notas>() { nota1, nota2, nota3 };

TreinoFocado1 x = new TreinoFocado1();
List<int> seq = x.GerarSequencia(10);
List<int> seq2 = x.GerarSequencia(5,10);
List<int> seq3 = x.GerarSequenciaPares(5,15);
int somar = x.SomarAte(10);
double notas1 = x.CalcularMedia(notas);
List<double> notas2 = x.CalcularMedias(Notasss);
List<double> CalcularQuadrado = x.CalcularQuadrados(Quadrado);
List<double> area2 = x.AreaRetangulos(retangulos);



string a = string.Join(", ", seq);
string b = string.Join(", ", seq2);
string c = string.Join(", ", seq3);
string NotasFinal = string.Join(", ", notas2);
string QuadradoTotal = string.Join(", ", CalcularQuadrado);
string retangulo = string.Join(", ", area2);



Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(somar);
Console.WriteLine(NotasFinal);
Console.WriteLine(notas1);
Console.WriteLine(QuadradoTotal);
Console.WriteLine(retangulo);

// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
// 5, 6, 7, 8, 9, 10
// 6, 8, 10, 12, 14 
// 8, 6, 8
// 8
// 4, 9, 16
// 20, 32, 20

```
## Nível 2

```csharp=
using System;
using System.Collections.Generic;

public class Pessoa
{
    public string Nome { get; set; }
    public DateTime Nascimento { get; set; }
}

public class TreinoFocado2
{
    public List<DateTime> GerarSequencia(int qtd)
    {
        DateTime Dia = DateTime.Now;
        List<DateTime> prox = new List<DateTime>();
        for (int data= 0; data <= qtd; data++)
        {
            DateTime dt = Dia.AddDays(data);
            prox.Add(dt);
        }
        return prox;
    }
    public List<DateTime> GerarSequencia(DateTime data, int qtd)
    {
        List<DateTime> prox = new List<DateTime>();
        for (int datas= 0; datas <= qtd; datas++)
        {
            DateTime dt = data.AddDays(datas);
            prox.Add(dt);
        }
        return prox;
    }
    public List<DateTime> GerarSequenciaPares(int qtd)
    {
        DateTime Dia = DateTime.Now;
        List<DateTime> prox = new List<DateTime>();
        for (int data= 0; data <= qtd; data++)
        {
            if (data % 2 == 1)
            {
                DateTime dt = Dia.AddDays(data);
                prox.Add(dt);
            }

        }
        return prox;
    }

    private string Signo (DateTime nascimento)
    {
        string Signo = "";

        if (nascimento.Day >=21 && nascimento.Month == 1  || nascimento.Day <= 18 && nascimento.Month == 2)
        {
            Signo = "Aquário";
        }
        else if (nascimento.Day >= 19 && nascimento.Month == 2  || nascimento.Day <= 20 && nascimento.Month == 3)
        {
            Signo = "Peixes";
        }
        else if (nascimento.Day >=21 && nascimento.Month == 3 || nascimento.Day <= 20 && nascimento.Month == 4)
        {
            Signo = "Áries";
        }
        else if (nascimento.Day >=21 && nascimento.Month == 4  || nascimento.Day <= 20 && nascimento.Month == 5)
        {
            Signo = "Touro";
        }
        else if (nascimento.Day >=21 && nascimento.Month == 5  || nascimento.Day <= 20 && nascimento.Month == 6)
        {
            Signo = "Gêmeos";
        }
        else if (nascimento.Day >=21 && nascimento.Month == 6  || nascimento.Day <= 22 && nascimento.Month == 7)
        {
            Signo = "Câncer";
        }
        else if (nascimento.Day >=23 && nascimento.Month == 7  || nascimento.Day <= 22 && nascimento.Month == 8)
        {
            Signo =  "Leão";
        }
        else if (nascimento.Day >=23 && nascimento.Month == 8  || nascimento.Day <= 22 && nascimento.Month == 9)
        {
            Signo =  "Virgem";
        }
        else if (nascimento.Day >=23 && nascimento.Month == 9  || nascimento.Day <= 22 && nascimento.Month == 10)
        {
            Signo = "Libra";
        }
        else if (nascimento.Day >=23 && nascimento.Month == 10  || nascimento.Day <= 21 && nascimento.Month == 11)
        {
            Signo = "Escorpião";
        }
        else if (nascimento.Day >=22 && nascimento.Month == 11  || nascimento.Day <= 21 && nascimento.Month == 12)
        {
            Signo =  "Sagitário";
        }
        else if (nascimento.Day >=22 && nascimento.Month == 12  || nascimento.Day <= 20 && nascimento.Month == 1)
        {
            Signo = "Capricórnio";
        }
        else 
        {
            Signo = "Se chegou aqui, seu signo é Alienígina";
        }

        return Signo;
    }
    public List<string> Signos(List<DateTime> nascimento)
    {
        List<string> z = new List<string> ();
		for (int i = 0; i < nascimento.Count; i++)
		{
			DateTime a = nascimento[i];
			string x = Signo(a);
			
			z.Add(x);
		}
		
		return z;
    }

    public List<Pessoa> FiltrarMaiores18(List<Pessoa> pessoas)
    {
        List<Pessoa> a = new List<Pessoa>();

        for (int i = 0; i <= pessoas.Count - 1; i++)
        {
            if (pessoas[i].Nascimento.AddYears(18) <= DateTime.Now)
                a.Add(pessoas[i]);
            else 
                continue;
        }
        return a;
    }
    public bool TodosMaiores18(List<Pessoa> pessoas)
    {
        bool a = true;
        for (int i = 0; i <= pessoas.Count -1; i++)
        {
            if (pessoas[i].Nascimento.AddYears(18) <= DateTime.Now)
            {
                a = true;
            }
            else 
            {
                a = false;
                break;
            }
        }
        return a;
    }
}

DateTime NascimentoMeu = new DateTime(2004 , 09, 10);
DateTime NascimentoMiguel = new DateTime(2019 , 10, 16);
DateTime DataNova1 = new DateTime(2020 , 10, 16);

List<DateTime> DataNova = new List<DateTime> () {NascimentoMeu,NascimentoMiguel};

List<Pessoa> Maior = new List<Pessoa>()
{
	new Pessoa() { Nome = "Matheus", Nascimento = new DateTime(2004 , 09, 10)},
	new Pessoa() { Nome = "Vasco", Nascimento = new DateTime(1898 , 08, 21) },
	new Pessoa() { Nome = "Ronaldinho", Nascimento = new DateTime(1980 , 03, 21) }
};


TreinoFocado2 a = new TreinoFocado2();

List<DateTime> z = a.GerarSequencia(3);
string x = string.Join(" - ", z);
Console.WriteLine(x);


List<DateTime> z2 = a.GerarSequencia(DataNova1,4);
string x2 = string.Join(" - ", z2);
Console.WriteLine(x2);


List<DateTime> z3 = a.GerarSequenciaPares(2);
string x3 = string.Join(" - ", z3);
Console.WriteLine(x3);

List<string> z5 = a.Signos(DataNova);
string x4 = string.Join(", ", z5); 
Console.WriteLine(x4);

List<Pessoa> z6 = a.FiltrarMaiores18(Maior);
string x5 = string.Join(" - ", z6);
Console.WriteLine(x5);

bool z7 = a.TodosMaiores18(Maior);
string x6 = string.Join(" - ", z7);
Console.WriteLine(x6);

// 20/06/2021 18:57:42 - 21/06/2021 18:57:42 - 22/06/2021 18:57:42 - 23/06/2021 18:57:42
// 16/10/2020 00:00:00 - 17/10/2020 00:00:00 - 18/10/2020 00:00:00 - 19/10/2020 00:00:00 - 20/10/2020 00:00:00     
// 21/06/2021 18:57:42
// Virgem, Libra
// Submission#0+Pessoa - Submission#0+Pessoa
// False

```

## Nível 3

```csharp=
public class Pessoa
{
    public string Nome { get; set; }
    public DateTime Nascimento { get; set; }
    public string Cidade { get; set; }
}

public class TreinoFocado3
{
    public string SepararLetras(string frase)
    {
        string separado = "";
        for (int i = 0; i < frase.Length; i++)
        {
            char letra = frase[i];
            separado += letra + "-";
        }   
        return separado;
    }

    public string InverterLetras(string frase)
    {
        string inverter = "";
        for (int i = frase.Length -1; i >= 0; i--)
        {
            inverter += frase[i];
        }   
        return inverter;
    }

    public bool TodasVogais(string frase)
    {
        frase = frase.ToLower();
        bool a = false;

        if (frase.Contains("a") || frase.Contains("e") || frase.Contains("i") || frase.Contains("o") || frase.Contains("u"))
        {
            for (int i = 0; i < frase.Length; i++)
            {
                if (frase[i] == 'a' || frase[i] == 'e' || frase[i] == 'i' || frase[i] == 'o' || frase[i] == 'u')
                {
                    a = true;
                }
                else
                {
                    a = false;
                }
            }    
        }
        return a;
    }
    private string UltimoNome(string Nome)
    {
        int a = Nome.LastIndexOf(" ");
        string UltimoNome = Nome.Substring(a);
        string FinalName = UltimoNome.Trim();
        return FinalName;
    }
    public List<string> UltimosNomes(List<string> Nome)
    {
        List<string> Lista = new List<string> ();
        for (int i = 0; i < Nome.Count; i++)
        {
            Lista.Add(UltimoNome(Nome[i]));
        }
        return Lista;
    }

    public bool ApenasCoresPrimarias(List<string> cores)
    {
        bool a = false;
        List<string> Lista = new List<string> ();
        for (int i = 0; i < cores.Count; i++)
        {
            if (cores[i] == "Azul" || cores[i] == "Vermelho" || cores[i] == "Amarelo")
            {
               a = true;
            }
            else
            {
                a = false;
            }
        }
        return a;
    }

    public bool SenhaForte(string senha)
    {
            bool teste = false;
            bool numero = false;
            bool caracter = false;
            bool digitos = false;
            int quantidade = 0;
            int quantidade2 = 0;

            if (senha.Length >= 8)
                digitos = true;
            else
                digitos = false;
            for (int i = 0; i < senha.Length; i++)
            {
                if (senha[i] == '0'|| senha[i] == '1' || senha[i] == '2' || senha[i] == '3' || senha[i] == '4' || senha[i] == '5' || senha[i] == '6' || senha[i] == '7' || senha[i] == '8' || senha[i] == '9')
                {
                    quantidade++;
                    numero = true;
                }    
                else if (senha[i] != '0'|| senha[i] != '1' || senha[i] != '2' || senha[i] != '3' || senha[i] != '4' || senha[i] != '5' || senha[i] != '6' || senha[i] != '7' || senha[i] != '8' || senha[i] != '9')
                {
                    numero = false;
                }
            }
                if (quantidade >= 2) 
                numero = true;
                else 
                    numero = false;

            for (int i = 0; i < senha.Length; i++)
            {
                if (senha[i] == '!'|| senha[i] == '@' || senha[i] == '#' || senha[i] == '$' || senha[i] == '%' || senha[i] == '¨' || senha[i] == '&' || senha[i] == '*' || senha[i] == '(' || senha[i] == ')')
                {
                    quantidade2++;
                } 
                else
                {
                    continue;
                }
            }

                if (quantidade2 >= 2) 
                caracter = true;
                else
                   caracter = false;
                
                if (digitos && caracter && numero)
                    teste = true;
                else
                    teste = false;

        return teste;            
    }
}


Pessoa b = new Pessoa();
b.Nome = "Matheus";
b.Nascimento = new DateTime(2004 , 09, 10);
b.Cidade = "São Paulo";

string frase = "Vasco Minha Vida Minha Historia";
string Vogais = "Vasco Minha Vida Minha Historia";
string Nome = "Matheus Rafael";
string Nome2 = "Vasco Da Gama";
string Nome3 = "Ronaldinho Gaucho";

string Cor1 = "Azul";
string Cor2 = "Amarelo";
string Cor3 = "Vermelho";

string senha = "s&nha@87";
List<string> Cores = new List<string> () { Cor1, Cor2, Cor3 };

List<string> Nomes = new List<string> () { Nome, Nome2, Nome3 };

TreinoFocado3 a = new TreinoFocado3();
string SepararLetras = a.SepararLetras(frase);
string InverterLetras = a.InverterLetras(frase);
bool TodasVogais = a.TodasVogais(Vogais);
List<string> UltimosNomes = a.UltimosNomes(Nomes);
bool ApenasCoresPrimarias = a.ApenasCoresPrimarias(Cores);
bool SenhaForte = a.SenhaForte(senha);

string UltimosNomes2 = string.Join(", ", UltimosNomes);


Console.WriteLine(SepararLetras);
Console.WriteLine(InverterLetras);
Console.WriteLine(TodasVogais);
Console.WriteLine(UltimosNomes2);
Console.WriteLine(ApenasCoresPrimarias);
Console.WriteLine(SenhaForte);

// V-a-s-c-o- -M-i-n-h-a- -V-i-d-a- -M-i-n-h-a- -H-i-s-t-o-r-i-a-
// airotsiH ahniM adiV ahniM ocsaV
// True
// Rafael, Gama, Gaucho
// True
// True

```