04 - C# laços de repetição, vetores e matrizes v1.0
-
Author
cesar-augusto-pessoa -
Category
Technology
-
view
128 -
download
1
Embed Size (px)
Transcript of 04 - C# laços de repetição, vetores e matrizes v1.0

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ável recebe o incremento e
depois é verificada. Exemplo: ++x
++ Pré-incremento: a variável é verificada e depois recebe
o incremento. Exemplo: y--
-- Pré-decremento: a variável recebe 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 for está 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 i e j

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 for irá 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?
