---
# System prepended metadata

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

---

# Session Six: Repetição FOR

**Autor**: Elias de Freitas Cavalcante
**Número**: 12
**Turma**: INFO C


## Exercicio 1 

**Crie a(s) classe(s) representando a abstração de função e/ou dados ao lado. Abaixo
a especificação das situações a serem resolvidas:**

**▪ Realize a lógica para implementar uma função que gere uma sequência de valores
iniciando do zero até um valor final recebido por parâmetro.**

Ex. (5) => {0,1,2,3,4,5}, (3) => {0,1,2,3}, (0) => { }

**▪ Realize a lógica para implementar uma função que gere uma sequência de valores a
partir de um número inicial e final.**

Ex. (2,4) => {2,3,4}, (1, 2) => {1,2}, (0,0) => { 0 }

**▪ Realize a lógica para implementar uma função que gere uma sequência de valores
pares a partir de um número inicial e final.**

Ex. (2,7) => {2,4,6}, (1, 2) => { 2 }, (0,0) => { 0 }

**▪ Realize a lógica para implementar uma função que some os números naturais de 0
até um número final informado.**

Ex. (5) => 15, (3) => 6

**▪ Realize a lógica para implementar uma função que calcule a média a partir de uma
lista de notas.**

Ex. ({5,5,5}) => 5, ({6,8}) => 7, ({4,6,8, 10}) => 7

**▪ Realize a lógica para implementar uma função que calcule a média para cada aluno a
partir de uma lista de Notas.**

**▪ Realize a lógica para implementar uma função que calcule a potência ao quadrado
para cada número em uma lista.**

Ex. ({2,3,4}) => {4,9,16}

**▪ Realize a lógica para implementar uma função que calcule a área do retângulo.**

**▪ Realize a lógica para implementar uma função que calcule a área do retângulo pra
cada Retângulo da lista.**

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



public class Notas
{
	public double Nota { get; set; }
	public double Notaas { get; set; }
	public double Notaaass { get; set; }
}

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



public class TreinoFocadoA
{
	public List<int> GerarSequencia(int fim)
	{
		List<int> l = new List<int>();
		for (int i = 0; i <= fim; i++)
		{
			l.Add(i);
		}
		return l;
	}
	
	public List<int> GerarSequencia(int inicio, int fim)
	{
		List<int> l = new List<int>();
		for (int i = inicio; i <= fim; i++)
		{
			l.Add(i);
		}
		return l;
	}
	
	public List<int> GerarSequenciaPares(int inicio, int fim)
	{
		List<int> l = new List<int>();
		for (int i = inicio; i <= fim; i++)
		{
			if (i % 2 == 0)
				l.Add(i);
		}
		return l;
	}
	
	public int SomarAte(int fim)
	{
		int soma = 0;
		for (int i = 1; i <= fim; i++)
		{
			soma += i;	
		}
		return soma;
	}
	
	public double Calcularmedias(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.Nota + NotasAluno.Notaas + NotasAluno.Notaaass) / 3;
			MediasAlunos.Add(media);
		}

		return MediasAlunos;
	}
	
	public List<double> Quadrados (List<double> numeros)
	{
		List<double> Quads = new List<double>();
		for (int i = 0; i < numeros.Count; i++)
		{
			double n = numeros[i];
			double q = Math.Pow(n, 2);
			
			Quads.Add(q);
		}
		return Quads;
	}
	
	private double AreaRetangulo(Retangulo r)
	{
		return r.Base * r.Altura;	
	}
	
	public List<double> AreaRetangulos(List<Retangulo> retangulos)
	{
		List<double> areas = new List<double>();
		for (int i = 0; i < retangulos.Count; i++)
		{
			Retangulo r = retangulos[i];
			double area = AreaRetangulo(r);
			
			areas.Add(area);
		}
		
		return areas;
	}
	
}


TreinoFocadoA treinoA = new TreinoFocadoA();

List<int> x1 = treinoA.GerarSequencia(0);
Console.WriteLine(string.Join("-", x1));

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

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


int x4 = treinoA.SomarAte(3);
Console.WriteLine(x4);

List<double> lx5 = new List<double>() { 4, 6, 8, 10 };
double x5 = treinoA.Calcularmedias(lx5);
Console.WriteLine(x5);


Notas N1 = new Notas();
N1.Nota = 5;
N1.Notaas = 5;
N1.Notaaass = 5;


Notas N2 = new Notas();
N2.Nota = 10;
N2.Notaas = 8;
N2.Notaaass = 6;


Notas N3 = new Notas();
N3.Nota = 2;
N3.Notaas = 4;
N3.Notaaass = 0;


List<Notas> notas = new List<Notas>() { N1, N2, N3 };

List<double> x6 = treinoA.Calcularmedias(notas);
Console.WriteLine(string.Join("-", x6));

List<double> n7 = new List<double>() { 2,3,4,5 };
List<double> x7 = treinoA.Quadrados(n7);
Console.WriteLine(string.Join("-", x7));

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

List<double> areas = treinoA.AreaRetangulos(retangs);
Console.WriteLine(string.Join("-", areas));
```

## Exercicio 2 

**Crie a(s) classe(s) representando a abstração de função e/ou dados ao lado. Abaixo a**

**especificação das situações a serem resolvidas:**

**▪ Realize a lógica para implementar uma função que gere uma sequência de datas de um
tamanho informado por parâmetro, iniciando da data atual.**

Ex. (2) => { [14/06/2021], [15/06/2021] }

**▪ Realize a lógica para implementar uma função que gere uma sequência de datas de um tamanho informado por parâmetro, iniciando de uma data também informada.**

Ex. (2, [14/06/2021]) => { [14/06/2021], [15/06/2021] }

**▪ Realize a lógica para implementar uma função que gere uma sequência de datas com
dias pares de um tamanho informado por parâmetro, iniciando de uma data também
informada.**

Ex. (2, [14/06/2021]) => { [14/06/2021], [16/06/2021] }

**▪ Realize a lógica para implementar uma função que identifique o signo de uma paessoa baseado em uma data.**

Ex. ([22/10/1989]) => "Libra", ([23/10/1989]) => "Escorpião“

**▪ Realize a lógica para implementar uma função que identifique os signos para cada data de uma lista.**

Ex. ({[22/10/1989], [23/10/1989]}) => { "Libra", "Escorpião“ }

**▪ Realize a lógica para implementar uma função que retorne uma lista com as pessoas
maiores de 18 anos a partir de uma lista de pessoas.**

**▪ Realize a lógica para implementar uma função que retorne se todos de uma lista de
pessoas são maiores de 18 anos.**

```charp=

```



## Exercicio 3

**Crie a(s) classe(s) representando a abstração de função e/ou dados ao lado. Abaixo a especificação das situações a serem resolvidas:**

**▪ Realize a lógica para implementar uma função que separe cada caractere de uma frase por um hífen. Ex. ("Olá, tudo bem?") => "O-l-á- t-u-d-o- -b-e-m-?-“**

**▪ Realize a lógica para implementar uma função que inverte os caracteres de uma frase.**

Ex. ("Olá, tudo bem?") => "?meb odut ,álO“

**▪ Realize a lógica para implementar uma função que verifica se todos caracteres de uma frase são vogais.**

Ex. ("Olá") => false, ("Eaee") => true

**▪ Realize a lógica para implementar uma função que retorne o último nome a partir de um nome completo. Ex. ("Bruno de Oliveira") => "Oliveira“.**

**▪ Realize a lógica para implementar uma função que retorne os últimos nomes a partir de uma lista de nomes completos.**

Ex. (["Bruno de Oliveira", "João Silva"]) => ["Oliveira", "Silva"]

**▪ Realize a lógica para implementar uma função que verifique se todas as cores em uma lista são primárias. Ex. (["Azul", "Amarelo", "Vermelho"]) => true.**

**▪ Realize a lógica para implementar uma função que verifique se uma senha é forte. Para ser forte, ela precisa ter pelo menos 2 caracteres especiais, 2 números e 8 digitos.**

Ex. ("senha@123") => false, ("s&nha@87") => true, ("aaaa@@00") => true

```charp=

```