---
# System prepended metadata

title: 'Session Six: Repetição FOR'

---

# Session Six: Repetição FOR
Cauê Freitas Barreto
INFOB
05
[toc]

## Treino Focado A
````csharp=
using System;
using System.Collections.Generic;

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

public class Notas
{
	public double Nota1 { get; set; }
	public double Nota2 { get; set; }
	public double Nota3 { get; set; }
}

public class TreinoFocadoA
{
	public List<int> GerarSquencia (int fim)
	{
		List<int> seq = new List<int> ();
		for (int i = 0; i <= fim; i++)
		{
			seq.Add(i);
		}
		return seq;
	}
	
	public List<int> GerarSquencia (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> GerarSquenciaPares (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 soma = 0;
		for (int i = 0; i <= fim; i++)
		{
			soma += i;
		}
		return soma;
	}
	
	public double Media (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> mediasAlunos = new List<double>();
		{
			for (int i = 0; i< notas.Count; i++)
			{
				Notas notasAluno = notas[i];
				double media = (notasAluno.Nota1 + notasAluno.Nota2 + notasAluno.Nota3) / 3;
				mediasAlunos.Add(media);
			}
		}
		return mediasAlunos;
	}

	public List<double> CalcularQuadrados (List<double> numeros)
	{
		List<double> quad = new List<double> ();
		for (int i = 0; i < numeros.Count; i++)
		{
			double n = numeros[i];
			double quadrado = Math.Pow(n, 2);
			quad.Add(quadrado);
		}
		return quad;
	}
	
	private double AreaRetangulo (Retangulo retangulo)
	{
		return retangulo.Base * retangulo.Altura;
	}
	
	public List<double> AreaRetangulos (List<Retangulo> retangulos)
	{
		List<double> areas = new List<double>();
		for (int i = 0; i < retangulos.Count; i++)
		{
			Retangulo a = retangulos[i];
			double area = AreaRetangulo(a);
			areas.Add(area);
		}
		return areas;
	}
	
}


TreinoFocadoA treinoA = new TreinoFocadoA();

List<int> a = treinoA.GerarSquencia(5);
Console.WriteLine(string.Join("-",  a));

List<int> b = treinoA.GerarSquencia(2, 4);
Console.WriteLine(string.Join("-",  b));

List<int> c = treinoA.GerarSquenciaPares(2, 7);
Console.WriteLine(string.Join("-",  c));

int d = treinoA.SomarAte(5);
Console.WriteLine(d);

List<double> notas = new List<double> () { 5, 5, 5 };
double e = treinoA.Media(notas);
Console.WriteLine(e);

Notas n1 = new Notas();
n1.Nota1 = 5;
n1.Nota2 = 5;
n1.Nota3 = 5;

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

Notas n3 = new Notas();
n3.Nota1 = 4;
n3.Nota2 = 2;  
n3.Nota3 = 3;

List<Notas> notasAlunos = new List<Notas>();
notasAlunos.Add(n1);
notasAlunos.Add(n2);
notasAlunos.Add(n3);

List<double> f = treinoA.CalcularMedias(notasAlunos);
Console.WriteLine(string.Join("-",  f));

List<double> num = new List<double> () { 2, 4, 10 };

List<double> g = treinoA.CalcularQuadrados(num);
Console.WriteLine(string.Join("-", g));

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

List<double> h = treinoA.AreaRetangulos(retangulos);
Console.WriteLine(string.Join("-", h));


// 0-1-2-3-4-5
// 2-3-4
// 2-4-6
// 15
// 5
// 5-8-3
// 4-16-100
// 50-20-24
````

## 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.ToShortDateString() + ")";
	}
}

public class TreinoFocadoB 
{
	public List<DateTime> GerarSquencia (int qtd)
	{
		List<DateTime> seq = new List<DateTime>();
		for (int i = 0; i < qtd; i++)
		{
			DateTime d = DateTime.Now;
			DateTime date = d.AddDays(i);
			seq.Add(date);
		}
		return seq;
	}
	
	public List<DateTime> GerarSquencia (int qtd, DateTime data)
	{
		List<DateTime> seq = new List<DateTime>();
		for (int i = 0; i < qtd; i++)
		{
			DateTime date = data.AddDays(i);
			seq.Add(date);
		}
		return seq;
	}
	
	public List<DateTime> GerarSquenciaPares (int qtd)
	{
		List<DateTime> seq = new List<DateTime>();
		for (int i = 0; i < qtd; i++)
		{
			if (i % 2 == 0)
			{
				DateTime d = DateTime.Now;
				DateTime date = d.AddDays(i);
				seq.Add(date);
			}
		}
		return seq;
	}
	
	private string Signo (DateTime nascimento)
	{
		string x = string.Empty;
		if (nascimento.Day >= 21 && nascimento.Month == 3 || nascimento.Day <= 20 && nascimento.Month == 4)
			x = "Áries";
		else if  (nascimento.Day >= 21 && nascimento.Month == 4 || nascimento.Day <= 20 && nascimento.Month == 5)
			x = "Touro";
		else if  (nascimento.Day >= 21 && nascimento.Month == 5 || nascimento.Day <= 20 && nascimento.Month == 6)
			x = "Gêmeos";
		else if  (nascimento.Day >= 21 && nascimento.Month == 6 || nascimento.Day <= 21 && nascimento.Month == 7)
			x = "Câncer";
		else if  (nascimento.Day >= 22 && nascimento.Month == 7 || nascimento.Day <= 22 && nascimento.Month == 8)
			x = "Leão";
		else if  (nascimento.Day >= 23 && nascimento.Month == 8 || nascimento.Day <= 22 && nascimento.Month == 9)
			x = "Virgem";
		else if  (nascimento.Day >= 23 && nascimento.Month == 9 || nascimento.Day <= 22 && nascimento.Month == 10)
			x = "Libra";
		else if  (nascimento.Day >= 23 && nascimento.Month == 10 || nascimento.Day <= 21 && nascimento.Month == 11)
			x = "Escorpião";
		else if  (nascimento.Day >= 22 && nascimento.Month == 11 || nascimento.Day <= 21 && nascimento.Month == 12)
			x = "Sargitário";
		else if  (nascimento.Day >= 22 && nascimento.Month == 12 || nascimento.Day <= 20 && nascimento.Month == 01)
			x = "Capricórnio";
		else if  (nascimento.Day >= 21 && nascimento.Month == 01 || nascimento.Day <= 19 && nascimento.Month == 02)
			x = "Áquario";
		else
			x = "Peixes";
		return x;
	}
	
	public List<string> signos (List<DateTime> nascimentos)
	{
		List<string> signos = new List<string>();
		for (int i = 0; i < nascimentos.Count; i++)
		{
			DateTime nasc = nascimentos[i];
			string signo = Signo(nasc);
			signos.Add(signo);
		}
		return signos;
	}
	
	public List<Pessoa> Maiores18 (List<Pessoa> pessoas)
	{
		List<Pessoa> nivers = new List<Pessoa>();
		for(int i = 0; i < pessoas.Count; i++)
		{
			Pessoa niver = pessoas[i];
			if(niver.Nascimento <=  DateTime.Now.AddYears(-18))
				nivers.Add(niver);	
		}
		return nivers;
	}
	
	public bool TodosMaiores18 (List<Pessoa> pessoas)
	{
		List<Pessoa> nivers = new List<Pessoa>();
		
		bool todosMaiores = true;
		for(int i = 0; i < pessoas.Count; i++)
		{
			Pessoa niver = pessoas[i];
			if(niver.Nascimento >  DateTime.Now.AddYears(-18))
				todosMaiores = false;
				
		}
		return todosMaiores;
	}
}

TreinoFocadoB  treinoB = new TreinoFocadoB ();

List<DateTime> a = treinoB.GerarSquencia(5);
Console.WriteLine(string.Join(" - ", a));

DateTime data = new DateTime (2021, 6, 25);
List<DateTime> b = treinoB.GerarSquencia(2, data);
Console.WriteLine(string.Join(" - ", b));

List<DateTime> c = treinoB.GerarSquenciaPares(5);
Console.WriteLine(string.Join(" - ", c));

List<DateTime> nascimentos = new List<DateTime>
{
	new DateTime(2004, 1, 5),
	new DateTime(2003, 11, 6),
	new DateTime(2001, 7, 15)
};

List<string> d = treinoB.signos(nascimentos);
Console.WriteLine(string.Join(" - ", d));

List<Pessoa> pessoas = new List<Pessoa> 
{
	new Pessoa ()  { Nome = "Letícia Queiroz", Nascimento = new DateTime(2004, 1, 5)},
	new Pessoa ()  { Nome = "Kaio Eduardo", Nascimento = new DateTime(2003, 11, 6)},
	new Pessoa ()  { Nome = "Lívia Queiroz", Nascimento = new DateTime(2001, 7, 15)},
	new Pessoa ()  { Nome = "Maria Queiroz", Nascimento = new DateTime(1983, 3, 09)},
};

List<Pessoa> e = treinoB.Maiores18(pessoas);
Console.WriteLine(string.Join(" - ", e));

List<Pessoa> pessoas2 = new List<Pessoa> 
{
	new Pessoa ()  { Nome = "", Nascimento = new DateTime(2000, 1, 5)},
	new Pessoa ()  { Nome = "", Nascimento = new DateTime(2002, 11, 6)},
	new Pessoa ()  { Nome = "", Nascimento = new DateTime(2001, 7, 15)},
	new Pessoa ()  { Nome = "", Nascimento = new DateTime(1983, 3, 09)},
}; 
bool f = treinoB.TodosMaiores18(pessoas2);
Console.WriteLine(string.Join(" - ", f));
````

## 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 separado = string.Empty;
		for(int i = 0; i < frase.Length; i++)
		{
			char letra = frase[i];
			separado += letra + "-";
		}
		return separado;
	}
	
	public string Inverter (string frase)
	{
		string invertido = string.Empty;
		for(int i = 0; i < frase.Length; i++)
		{
			char letra = frase[i];
			invertido = letra + invertido;
		}
		return invertido;
	}
	
	public bool TodasVogais(string frase)
	{
		bool todasVogais = true;
		for(int i = 0; i < frase.Length; i++)
		{
			char letra = frase[i];
			if (letra != 'a' && letra != 'e' && letra != 'i' && letra != 'o' && letra != 'u' && letra != 'A' && letra != 'E' && letra != 'I' && letra != 'O' && letra != 'U')
				todasVogais = false;
			
		}
		return todasVogais;
	}

	private string UltimoNome(string nome1)
	{
		string extrair = nome1.Substring(nome1.LastIndexOf (" "));
		return extrair;
	}
	
	public List<string> Ultimosnomes (List<string> nomes)
	{
		List<string> ultimosnomes= new List<string>();
		for(int i = 0; i < nomes.Count; i++)
		{
			string nome = nomes[i];
			string ultimonome = UltimoNome(nome);
			ultimosnomes.Add(ultimonome);
		}
		return ultimosnomes;
	}
	
	public bool ApenasCoresPrimarias (List<string> cores)
	{
		bool todasprimarias = true;
		for (int i = 0; i < cores.Count; i++)
		{
			string cor = cores[i];
			if (cor != "Azul" && cor != "Vermelho" && cor != "Amarelo")
			{
				todasprimarias = false;
				break;
			}
		}
		return todasprimarias;
	}
	

}
TreinoFocadoC treinoC = new TreinoFocadoC();

string a = treinoC.SepararLetras("Olá, tudo bem?");
Console.WriteLine(a);

string b = treinoC.Inverter("Olá, tudo bem?");
Console.WriteLine(b);

bool c = treinoC.TodasVogais("Oie");
Console.WriteLine(c);

List<string> nomes = new List<string> () { "Letícia Queiroz Moreira",  "Bruno Oliveira", "Maria Clara Santos" };
List<string> d = treinoC.Ultimosnomes(nomes);
Console.WriteLine(string.Join("-", d));

List<string> cores = new List<string> () { "Amarelo", "Vermelho" };
bool e = treinoC.ApenasCoresPrimarias(cores);
Console.WriteLine(e);

````

