Você está na página 1de 21

Estruturas de Controle em c#

Fbio Moura

Governo de Pernambuco

Agenda

Tipos de estruturas de controle; if; if-else; if-else-if; switch-case; while; do-while; for; foreach; Exerccio.

Tipos de Estruturas de Controle

Estruturas de sequncia: instrues de um programa que so executadas na ordem que aparecem. Estruturas de seleo: mecanismo onde uma ao realizada dependendo se uma condio satisfeita ou no. Estruturas de repetio: instrues que so executas repetidamente dependendo se uma condio satisfeita ou no.

Tipos de Estruturas de Controle

Estruturas de sequncia:

Instrues comuns;

Estruturas de seleo:

if if else switch case

if else if

Estruturas de repetio:

while do while for foreach

if

As linhas de comando dentro do bloco s sero executadas se a condio booleana declarada for satisfeita.

if ( expresso booleana ){ comando }

if

Ex.:

int idade = 20;

if ( idade >= 18 ){ meuLabel.Text = Maior Idade!; }

if-else

Uma ao ser executada se a condio booleana declarada for satisfeita. Caso contrrio, outra ao deve ser realizada.
if (expresso booleana){ comando1 }else{ comando2 }

if-else

Ex.:

double media = 5.0; if ( media < 6.0 ){ meuLabel.Text = Reprovado; } else { meuLabel.Text = Aprovado; }

if-else-if

Essa variao define estrutura if-else aninhadas.


if (expresso booleana){ bloco de comandos }else if (expresso booleana){ bloco de comandos }else { bloco de comandos }

if-else-if

Ex.:
char letra = b; string resposta = ; if ( letra == a ) { resposta = Resposta errada!; } else if ( letra == b ) { resposta = Resposta correta!; } else if ( letra == c ) { resposta = Resposta errada!; } meuLabel.Text = resposta;

switch-case

A estrutura switch composta por uma srie de estruturas case, as quais representam os possveis valores que a expresso pode assumir. A estrutura deve ainda utilizar uma instruo break, ao trmino de cada bloco.

switch-case

A estrutura switch-case tambm pode fornecer um bloco que deve ser processado caso a expresso fornecida no corresponda nenhuma das opes definidas no case. O bloco em questo deve ser definido com o nome default.

switch-case

Ex.:

char letra = b; string resposta = ; Tipo da expresso deve ser switch( letra ) { byte, char, short ou int case a: resposta = Resposta errada!; break; case b: resposta = Resposta correta!; break; case c: resposta = Resposta errada!; Executado somente quando todos os outros break; default: cases falham resposta = Resposta invlida!; } meuLabel.Text = resposta;

while

Nesta estrutura, uma condio booleana testada antes de entrar no bloco while. Enquanto a condio booleana for satisfeita, os comandos dentro do bloco while sero processados.
Teste feito no incio

while ( expresso booleana ){ bloco de comandos }

while

Ex.:
int contador = 0; int valor = 0; while ( contador < 10 ) { valor += 10; contador ++; } meuLabel.Text = valor.ToString( ); int numero = 0; while ( true) { numero += 1; }

do-while

Com a estrutura do-while, o bloco de comandos processado PELO MENOS uma vez, j que a condio booleana testada somente ao final.

do{ bloco de comandos }while( expresso booleana );


Teste feito no final

do-while

Ex.:
int contador = 20; int valor = 0; do { valor += contador; contador ++; } while ( contador < 10 ); meuLabel.Text = valor.ToString( );

comandos so executados pelo menos uma vez

for

Na estrutura for devem ser declaradas:


Uma varivel de controle para inicializar o loop; Uma condio booleana, a qual deve ser satisfeita para que as instrues declaradas dentro do loop possam ser processadas; Uma expresso representando o incremento ou decremento da varivel de controle. for ( inicializao; condio; incremento ){ bloco de comandos }

for

Ex.:
Expresso booleana Incremento ou decremento da varivel

inicializao de uma varivel

int valor = 0; for ( int contador = 0; contador < 10; contador++ ){ valor += contador; } meuLabel.Text = valor.ToString( );

foreach
O foreach usado quando queremos percorrer todos os elementos de um array ou de colees de dados, como uma ArrayList. Ex.:

List<int> dados = new List<int>( ); dados.Add(1); dados.Add(2); int valor = 0; foreach (int a in dados){ valor += a; } meuLabel.Text = valor.ToString( );

Exerccio
1.

2.

3.

4.

Crie um Projeto chamado Estruturas de Controle, depois crie um Web Form chamado Index. Na pgina Index.aspx insira um Panel, um Button e um Label. Clique duas vezes no Button para criar uma ao para o boto. Dentro da ao do boto faa os exemplos dos slides apresentados anteriormente. Utilize o Label para mostrar o resultado de cada exemplo. Obs. Procure Ex.: nos slides.

Você também pode gostar