# 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}"); ```