You are on page 1of 26

C# - Estruturas de Deciso, Repetio e Arrays

Professor: Vilson Heck Junior


vilson.junior@ifsc.edu.br

Agenda
Estruturas de Deciso:
if; Clausulas no C#; switch; Exerccios; while; do ... while; for; Exerccios;

Estruturas de Repetio:

Arrays:
Unidimensionais; Bidimensionais; Exerccios.

C#

ESTRUTURAS DE DECISO

Estruturas de Deciso if
VisuALG: se (<clausula>) entao ... senao //Opcional ... fimse C#: if(<clausula>) { ... } else //Opcional { ... }

Verificao de Clausulas
Operadores Relacionais
Maior: Menor: Maior ou Igual: Menor ou Igual: Igual: Diferente: No: (inverso) E: OU:

C#
> < >= <= == != ! && ||
Ateno

Estruturas de Deciso Ex:


... int x; x = Convert.ToInt32(Console.ReadLine()); if ( (x >= 1) && (x <= 10) ) { Console.WriteLine("Pertence ao intervalo 1..10!"); } else { Console.WriteLine("NO pertence ao intervalo 1..10!"); } ...

Estruturas de Deciso switch


VisuALG: x: inteiro x <- 10 escolha (x) caso 1: escreva(Um) caso 2: escreva(Dois) outrocaso: escreva(Desconhecido) fimescolha C#: int x = 10; switch(x) { case 1: Console.Write(Um); break; case 2: Console.Write(Dois); break; default: Console.Write(Desconhecido); break; }

C# - Estruturas de Deciso

EXERCCIOS

Exerccios
1. Ler 3 nmeros fracionrios do teclado e informar se o primeiro maior do que a soma dos dois ltimos; 2. Calcular a multa: Leia a velocidade de um carro e a velocidade mxima para a rua:
1. Informe 50 reais se estiver at 10km/h acima; 2. Informe 100 reais se estiver entre 11km/h e 30km/h acima; 3. Informe 300 reais se estiver acima de 31km/h acima;

Exerccios
3. Ler 3 valores em qualquer ordem e escrever eles em ordem crescente; 4. Escrever se um ano informado pelo usurio bissexto ou no. Um ano bissexto quando divisvel por 400 ou divisvel por 4 e no por 100; 5. Ler 2 valores fracionrios e perguntar qual operao aritmtica o usurio quer fazer com eles. Usar switch..case. Informar o resultado da operao.

C#

ESTRUTURAS DE REPETIO

Estruturas de Repetio while


VisuALG:
enquanto (<clausula>) faca ... fimenquanto

C#:
while(<clausula>) { ... }

Estruturas de Deciso do
VisuALG: repita ... ate (<clausula>) C#: do { ... } while (<clausula>)
Sentidos Opostos!

Estruturas de Deciso for


VisuALG: x: inteiro para x de 1 ate 10 faca ... fimpara C#: int x; for( x=1; x <= 10; x++) { ... }

Interrompendo Repeties
Para parar qualquer estrutura de repetio a qualquer momento, usamos o comando:
break;

Ex:
for(int x = 0; x <= 10; x++) {
Console.WriteLine(x); if(x == 5) {
break;

Forando Prxima Iterao


Para pular para a prxima iterao em qualquer estrutura de repetio, a qualquer momento, usamos o comando:
continue;

Ex: for(int x = 0; x <= 10; x++) { Console.WriteLine(); Console.Write(Nmero: ); if(x == 5) { continue; } Console.Write(x); }

C# - Estruturas de Repetio

EXERCCIOS

Exerccios
1. Informar todos os nmeros de 1000 a 1999 que quando divididos por 11 obtemos resto = 5. 2. Colocar estas duas linhas iniciais no mtodo Main():
Random rnd = new Random(); //Inicia Aleatrio int x = rnd.Next(1,100); //Gera um nmero aleatrio 1. Faa um lao de repetio que solicite ao usurio digitar um nmero; 2. O lao encerra quando o usurio acertar o nmero; 3. Se o nmero do usurio for menor que o oculto, escrever: MAIOR, se o nmero do usurio for maior que o oculto, escrever: MENOR.

C#

ARRAYS

Arrays Unidimensionais
VisuALG: var nome: vetor [n1..n2] de <tipodado> inicio nome[indice] <- valor escreva(nome[indice]) fimalgoritmo C#:

<tipodado>[ ] nome = new <tipodado>[tamanho]; nome[indice] = valor; Console.WriteLine(nome[indice]);

Arrays Unidimensionais
Exemplo de criao e uso de Array:
int[]numeros = int [5]; int valor = 0; numeros[3] = 5; numeros[0] = 3; numeros[1] = 4; numeros[2] = 10; numeros[4] = 1;
numeros: ndices: 3 0 4 1 10 2

valor = numeros[2];

5 3

1 4

valor

10

Arrays Bidimensionais
Definio: Arrays Bidimensionais Matrizes!
Imagens; Equaes matemtica, principalmente geometria; Tabelas; Entre outros exemplos.
Ano/ Produto 2006 Cafezinhos 3650,00 3454,00 3789,00 4002,00 3876,00 Pes Biscoitos Bolos 36500,00 46342,00 29345,00 40123,00 39423,00 Cucas 7665,00 9234,00 8235,00 8945,00 7983,00 63875,00 10950,00 74345,00 12043,00 61023,00 11324,00 75432,00 14034,00 79345,00 9231,00

Exemplo:
Relao de vendas de uma padaria:

2007 2008 2009 2010

2011

3953,00

64567,00 10234,00

37345,00

6235,00

Arrays Bidimensionais
Uso:
<tipodado>[,] nome = new <tipodado>[n,m]; nome[x,y] = valor; Console.WriteLine(nome[x,y]);

Onde:
n o nmero de linhas; m o nmero de colunas; x o ndice de uma linha; y o ndice de uma coluna.

Arrays Bidimensionais
int[,] matriz = new int[5,4]; matriz[0,0] = 4; matriz[4,3] = 5; matriz[3,1] = 2; matriz[1,2] = 7; ndices 0
0 1
2 3 4 2 5 4

2 7

C# - Arrays

EXERCCIOS

Exerccios
Lista de nmeros:
1. Armazenar um array de 10 nmeros inteiros:
Solicitar ao usurio que informe cada um destes nmeros; ou Gerar 10 nmeros aleatrios para o array:
Random rnd = new Random(); //Inicia Aleatrio int x = rnd.Next(1,100); //Gera um nmero aleatrio

2. Mostrar o array na sequncia adquirida/gerada; 3. Colocar todo o array em ordem crescente; 4. Mostrar o array ordenado na tela.

You might also like