04 - C# laços de repetição, vetores e matrizes v1.0

capfg 3,630 views 28 slides Sep 20, 2016
Slide 1
Slide 1 of 28
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28

About This Presentation

Apresentar aos alunos as estruturas de repetição da linguagem C#, utilizando exemplos práticos e comparando-as com as estruturas de repetição utilizadas no software VisualG.

Realizar atividades práticas aplicando os laços de repetição em estruturas de dados complexas (vetores e matrizes).


Slide Content

César Augusto Pessôa

Sumário
Objetivos
Condições if... else
Operadores unários
Laços de repetição
while
do while
for
switch
Vetores e Matrizes
A estrutura foreach
Exercícios práticos no Visual Studio

Objetivos
Apresentar aos alunos as estruturas de
repetição da linguagem C#, utilizando
exemplos práticos e comparando-as com as
estruturas de repetição utilizadas no software
VisualG.
Realizar atividades práticas aplicando os
laços de repetição em estruturas de dados
complexas (vetores e matrizes).

Condições –if... else
C# Portugol
if (numero >=10)
{
Console.WriteLine(“a”);
}
else
{
Console.WriteLine(“b”);
}
SE (numero >= 10) FACA
ESCREVAL(“a”)
SENAO
ESCREVAL(“b”)
FIMSE

Operadores unários
Assim como existem os operadores
aritméticos e operadores lógicos, a linguagem
C# também aceita a utilização de operadores
unários.
A vantagem de utilizá-los é o ganho de
desempenho e redução de código devido a
sua forma compacta.

Operadores unários
Operador Utilização
+
Números positivos
-
Números negativos
!
Negação booleana
++
Pré-incremento: a variávelrecebe o incremento e
depois é verificada. Exemplo: ++x
++
Pré-incremento: a variávelé verificada e depois recebe
o incremento. Exemplo: y--
--
Pré-decremento: a variávelrecebe o decremento e
depois é verificada. Exemplo: --y
--
Pré-decremento: a variávelé verificada e depois
recebe o decremento. Exemplo: x++
(type)<variável>
Operador para apresentação de dados conforme um
tipo especificado. Exemplo (int)nome.

Laços de repetição
São blocos de código que, seguindo uma
determinada condição, são executados por
mais de uma vez.
São especialmente úteis em situações onde
uma rotina deve se repetida de forma
incremental ou, até mesmo, quando o
sistema aguarda uma alteração de condição
ou comportamento do usuário para continuar
a sua execução.

Laços de repetição -Exemplos
Criação de um menu que somente aceite que o
usuário selecione uma entre quatro opções.
Leitura de um cadastro de 11 jogadores para um
time de futebol.
Impressão de 200 certificados idênticos, com
apenas alteração do nome do aluno.
Controle de tempo ou condição para execução
de uma tarefa/evento.

Laços de repetição -Exemplos
Escrita e leitura de dados em um vetor ou
matriz.
Leitura para importação de informação em uma
lista de arquivos.
Busca de informações ou palavras chave em um
arquivo.
Criação de algoritmos de pesquisa inteligente
em bases de dados.

Laços de repetição –while
C# Portugol
while (media < 7)
{
Console.WriteLine(“...”);
}
ENQUANTO (media < 7)
FACA
ESCREVAL(“...”)
FIMENQUANTO

Laços de repetição –do while
C# Portugol
do
{
Console.WriteLine(“...”);
}
while(n1 % 2 == 0);
REPITA
ESCREVAL(“...”)
ATE (n1 % 2 = 0)

Laços de repetição –for
C# Portugol
for (int cont = 0; cont < 10;
cont+1)
{
Console.WriteLine(cont + 1);
}
/*
Em C# não é necessário declarar
a varíavel contador, isto é feito
dentro do próprio for.
*/
PARA cont DE 1 ATE 10 FACA
ESCREVAL(cont + 1)
FIMPARA

Laços de repetição –switch
C# Portugol
switch (opcao)
{
case 1:
Console.WriteLine(“1");
break;
...
default:
Console.WriteLine(“...");
break;
}
ESCOLHA opcao
CASO "1"
ESCREVAL(“1”)
...
FIMESCOLHA

Vetores
Vetor ou array, em inglês, é uma estrutura que
permite armazenar informações de forma
sequenciada.
Por exemplo, é possível criar uma lista de
nomes e armazená-los em uma única variável
do tipo vetor, contendo um índice para identificar
cada um dos seus elementos.
Importante:
O índice de um vetor sempre começa na posição 0.
Um vetor é um objeto e, portanto, deve ser instanciado
por meio do comando new.

Vetor de nomes
João Tiago Thaís Yasmin Maria Carlos
0 1 2 3 4 5
Abaixo existe um vetor contendo 6 nomes.
Os nomes são armazenados de forma ordenada, como em uma
lista.
Todos os itens podem ser acessados por meio do índice que
determina a posição do elemento dentro do vetor.

Vetores
C# Portugol
string[] nomes = new string[6];
...
for (int i = 0; i < 6; i++)
{
nomes[i] = Console.ReadLine();
}
for (int i = 0; i < 6; i++)
{
Console.WriteLine(nomes[i]);
}
nomes : vetor[1..6] de caractere
...
para i de 1 ate 6 faca
leia(nomes[i])
fimpara
para i de 1 ate 6 faca
escreval(nomes[i])
fimpara

Matrizes
Uma matriz nada mais é do que uma estrutura
encadeada de vetores, ou seja, se um vetor
permite a criação de uma lista de variáveis do
mesmo tipo, uma matriz, permite a criação de
uma lista de vetores do mesmo tipo.
Visualmente uma matriz se parece com uma
tabela, possuindo elementos que são acessados
por meio das coordenadas de suas linhas e
colunas –como em uma planilha eletrônica.

Matriz de alunos e notas
Nome do aluno Nota do aluno
João 8,9
Tiago 9,75
Thaís 9,25
Yasmin 10
Maria 8,5
Carlos 8,0

Matriz (acesso a elementos)
Nome do aluno Nota do aluno
[0,0] [0,1]
[1,0] [1,1]
[2,0] [2,1]
[3,0] [3,1]
[4,0] [4,1]
[5,0] [5,1]

Matrizes
C# Portugol
string[,] nomesNotas = new string[2,6];
...
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 2; j++)
{
nomes[i,j] = Console.ReadLine();}
}
}
nomes : vetor[1..2,1..6] de caractere
...
para i de 1 ate 6 faca
para j de 1 ate 2 faca
leia(nomes[i,j])
fimpara
fimpara

Matrizes
C# Portugol
string[,] nomesNotas = new string[2,6];
...
for (int i= 0; i< 6; i++)
{
for (int j= 0; j< 2; j++)
{
nomes[i,j] = Console.ReadLine();}
}
}
Criação de uma matriz de
duas dimensões, ou seja,
linhas e colunas.
O laço forestá percorrendo
cada uma das 6 linhas e,
para cada linha, percorre
as duas colunas.
Para controle desta
navegação são utilizadas
as variáveis iej

Laços de repetição –foreach
O termo foreach pode ser traduzido de forma livre
como “para cada”.
Utilizado para percorrer coleções e listas sem a
necessidade de incrementos ou decrementos.
Especialmente útil para realizar a leitura em
coleções cujo tamanho é desconhecido.
Não necessita de uma condição de validação
booleana (lógica) para terminar. O laço será
abandonado automaticamente ao atingir o fim da
coleção.

Laços de repetição –foreach
string[] alunos = new string[6];
...
for (int i = 0; i < 6; i++)
{
Console.WriteLine("Informe o nome do " + (i + 1) + "º aluno:");
alunos[i] = Console.ReadLine();
}
foreach (string aluno in alunos)
{
Console.WriteLine(aluno);
}

Laços de repetição –foreach
string[] alunos = new string[6];
...
for (int i = 0; i < 6; i++)
{
Console.WriteLine("Informe o
nome do " + (i + 1) + "º aluno:");
alunos[i] = Console.ReadLine();
}
foreach (string aluno in alunos)
{
Console.WriteLine(aluno);
}
Criação do vetor de string, já
instanciado com 6 posições.
O laço forirá percorrer todos os
6 elementos do vetor e
preenchê-los com as
informações lidas do console.
O laço foreach irá percorrer
todos os elementos do vetor
alunos, independentemente de
seu tamanho. Isso ocorre
porque foi definida uma variável
do tipo string, chamada aluno,
que representará o elemento
atual do vetor após cada
passagem pelo laço.

Agradecimentos
Find Icons
http://findicons.com
Iconfinder
https://www.iconfinder.com

Dúvidas?

César Augusto Pessôa
[email protected]