---
# System prepended metadata

title: Session Seven | Fundamentos Da Lógica

---

# Session Seven | Fundamentos Da Lógica

[toc]


## Treino Focado A

```csharp=

using System;
using System.Collections.Generic;


public class Notas{
    public double N1 {get; set;}
    public double N2 {get; set;}
    public double N3 {get; set;}

}


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

}



public class TreinoFocadoA{

    public List<int> SomaImapares ( List<int> listaNumeros ){

        int NSomado = 0;

        List<int> Soma = new List<int>();
        foreach ( int N in listaNumeros ){
            if(N % 2 != 0){
                NSomado += N;
            }

        }
        Soma.Add(NSomado);

        return Soma;
        
    }



    public List<int> NumerosCubo (List<int> listaNumeros){

        List<int> Cubo = new List<int>();
        foreach( int N in listaNumeros){
                      
            Cubo.Add(
                Convert.ToInt32(Math.Pow(N, 3))
            );
            
        }

        return Cubo;

    }




    public List<double> RaizNumeros (List<double> listaNumeros){

        List<double> Raiz = new List<double>();
        foreach(double N in listaNumeros){
            Raiz.Add(
               Math.Round( Math.Sqrt(N) ,3)
            );
        }

        return Raiz;

    }




    public int MaiorNumero (List<int> listaNumeros){

        int Maior = 0;
        foreach(int N in listaNumeros){
            if(N > Maior){
                Maior = N;
            }
        }

        return Maior;

    }



    public double Media (List<double> listaNumeros){
        
        double M = 0;
        foreach(double N in listaNumeros ){
            
            M += N;

        }

        M /= listaNumeros.Count; 

        return M;

    }


    public List<double> CalcularMedia (List<Notas> NotasAlunos){

        List<double> MediaAluno = new List<double>();
        foreach( Notas N in NotasAlunos ){

            MediaAluno.Add(
                (N.N1 + N.N2 + N.N3) / 3
            );

        }

        return MediaAluno;

    }


    private double AreaRetangulo(Retangulo r){
        return r.Altura * r.Base;
    }


    public List<double> AreaRetangulos( List<Retangulo> listaRetangulos ){

        List<double> area = new List<double>();
        foreach(Retangulo r in listaRetangulos){

            area.Add(
                AreaRetangulo(r)
            );

        }


        return area;

    }

}


List<int> Numeros = new List<int>(){
    1,2,3,4,5
};

List<double> NumerosDecimais = new List<double>(){
    9, 10, 20, 25, 100
};


Notas n1 = new Notas();
n1.N1 = 5;
n1.N2 = 5;
n1.N3 = 5;


Notas n2 = new Notas();
n2.N1 = 6;
n2.N2 = 6;
n2.N3 = 6;


Notas n3 = new Notas();
n3.N1 = 7;
n3.N2 = 7;
n3.N3 = 7;

List<Notas> NotasAlunos = new List<Notas>(){
    n1,n2,n3
};




Retangulo r1 = new Retangulo();
r1.Altura = 5;
r1.Base = 5;
Retangulo r2 = new Retangulo();
r2.Altura = 4;
r2.Base = 4;
Retangulo r3 = new Retangulo();
r3.Altura = 9;
r3.Base = 9;

List<Retangulo> ListaReatangulo = new List<Retangulo>(){
    r1, r2, r3
};



TreinoFocadoA T1 = new TreinoFocadoA();

List<int> a1 = T1.SomaImapares(Numeros);
Console.WriteLine($"-SomaImpares {string.Join(" - ", a1)}");

List<int> b1 = T1.NumerosCubo(Numeros);
Console.WriteLine($"-NumerosCubo {string.Join(" - ", b1)}");

List<double> c1 = T1.RaizNumeros(NumerosDecimais);
Console.WriteLine($"-RaizNumeros {string.Join(" - ", c1)}");

int d1 = T1.MaiorNumero(Numeros);
Console.WriteLine($"-MaiorNumero {d1}");

double e1 = T1.Media(NumerosDecimais);
Console.WriteLine($"-Media {e1}");

List<double> f1 = T1.CalcularMedia(NotasAlunos);
Console.WriteLine($"-CalcularMedia {string.Join(" - ", f1)}");

List<double> g1 = T1.AreaRetangulos(ListaReatangulo);
Console.WriteLine($"-AreaRetangulos {string.Join(" - ", g1)}");

```

## Treino Focado B

```csharp=

using System;
using System.Collections.Generic;

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


    public override string ToString()
    {
        return $"{Nome}: {Nascimento}";
    }
}



public class TreinoFocadoB{


    public List<DateTime> UltimoDia( List<DateTime> listaDatas){

        List<DateTime> LastDay = new List<DateTime>();
        foreach( DateTime data in listaDatas){
            
            LastDay.Add(
                data.AddMonths(1).AddDays(-data.Day)
            );

        }

        return LastDay;

    }


    public DateTime MaiorDia ( List<DateTime> listaDatas){

        DateTime Maior = DateTime.MinValue;

        foreach( DateTime data in listaDatas ){

            if( data > Maior){

                Maior = data;

            }

        }

        return Maior;

    }

    public List<Pessoa> Maiores18 ( List<Pessoa> listaPessoa){

        List<Pessoa> ListPessoa = new List<Pessoa>();

        foreach( Pessoa p in listaPessoa){

            if( p.Nascimento <= DateTime.Now.AddYears(-18) ){

                ListPessoa.Add(
                    p
                );

            }

        }


        return ListPessoa;

    }


    public bool TodosMais18 ( List<Pessoa> listPessoa){

        bool Maior18 = true;
        foreach( Pessoa p in listPessoa ){

            if( p.Nascimento > DateTime.Now.AddYears(-18) ){

                Maior18 = false;

            }

        }

        return Maior18;

    }




}

TreinoFocadoB T2 = new TreinoFocadoB();

List<DateTime> listaDatas = new List<DateTime>(){
    new DateTime(2001,02,14),
    new DateTime(1991,03,09),
    new DateTime(2021,06,07), 
    new DateTime(2005,05,14)
};


Pessoa p1 = new Pessoa();
p1.Nascimento =  listaDatas[0];
p1.Nome = "William Santos";

Pessoa p2 = new Pessoa();
p2.Nascimento =  listaDatas[1];
p2.Nome = "Bruno Oliveira";

Pessoa p3 = new Pessoa();
p3.Nascimento =  listaDatas[2];
p3.Nome = "Erik Alexandre";

Pessoa p4 = new Pessoa();
p4.Nascimento =  listaDatas[3];
p4.Nome = "Daniel Assunção";


List<Pessoa> listaPessoa = new List<Pessoa>(){
    p1, p2, p3, p4
};




List<DateTime> a2 = T2.UltimoDia(listaDatas);
Console.WriteLine($"-UltimoDia {string.Join(" - ", a2)}");

DateTime b2 = T2.MaiorDia(listaDatas);
Console.WriteLine($"-MaiorDia {string.Join(" - ", b2)}");

List<Pessoa> c3 = T2.Maiores18(listaPessoa);
Console.WriteLine($"-Maiores18 {string.Join(" - ", c3)}");

bool d3 = T2.TodosMais18(listaPessoa);
Console.WriteLine($"TodosMais18 {d3}");

```

## Treino Focado C

```csharp=

using System;
using System.Collections.Generic;


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



public class TreinoFocadoC{


    public string SepararLetras(string frase){

        string FraseSeparada = string.Empty;

        foreach (char Letra in frase)
        {
            FraseSeparada = FraseSeparada + Letra + '-';
        }
    
        return FraseSeparada;

    }


    public List<int> CodigoASCII (string frase){

        List<int> ASCII = new List<int>();

        foreach (char Letra in frase)
        {
            ASCII.Add(
                Convert.ToInt32(Letra)
            );   
        }

        return ASCII;

    } 



    public bool TodasVogais( string frase ){

        bool TodasVogal = true;

        frase = frase.ToLower();

        foreach (char Letra in frase)
        {
           
            if(  Letra != 'a' && Letra != 'e' && Letra != 'i' && Letra != 'o' && Letra != 'u' ){
                TodasVogal = false;
            }

        }

        return TodasVogal;

    }


    public string Alternar (Pessoa p){

        string Alternado = string.Empty;

        int Posição = 0;
        foreach(char Letra in p.Nome){

            
            if( Posição % 2 == 0){
                Alternado = Alternado + Letra.ToString().ToUpper();
            }
            else{
                Alternado = Alternado + Letra.ToString().ToLower();
            }

            Posição ++;

        }

    return Alternado;

    }


    public string Inverter( string frase){

        string Invertido = string.Empty;

        foreach (char Letra in frase)
        {
            Invertido = Letra + Invertido;
            
        }


        return Invertido;

    }


    public bool Palindromo (string frase){

        bool Pali = true;

        if( frase != Inverter(frase)){
            Pali = false;
        }

        return Pali;

    }


}

Pessoa p = new Pessoa();
p.Nome = "Daniel Assunção";

TreinoFocadoC T3 = new TreinoFocadoC();

string a3 = T3.SepararLetras("Dandinho Lindo");
Console.WriteLine($"-SepararLetras:{a3}");

List<int> b3 = T3.CodigoASCII("Bah Che");
Console.WriteLine($"-CodigoASCII: {string.Join(" - ", b3)}");

bool c3 = T3.TodasVogais("AAEE BB");
Console.WriteLine($"-TodasVogais: {c3}");

string d3 = T3.Alternar(p);
Console.WriteLine($"-Alternar: {d3}");

string e3 = T3.Inverter("Opa");
Console.WriteLine($"-Inverter: {e3}");

bool f3 = T3.Palindromo("osso");
Console.WriteLine($"-Palindromo: {f3}");

```