Estruturas de Controle em c# - fmsystem.files.wordpress.com · Estruturas de repetição: ... A...

21
Governo de Pernambuco Governo de Pernambuco Estruturas de Controle em c# Fábio Moura

Transcript of Estruturas de Controle em c# - fmsystem.files.wordpress.com · Estruturas de repetição: ... A...

Governo de PernambucoGoverno de

Pernambuco

Estruturas de Controle em c#

Fábio Moura

Agenda Tipos de estruturas de controle; if; if-else; if-else-if; switch-case; while; do-while; for; foreach; Exercício.

Tipos de Estruturas de Controle Estruturas de sequência: instruções de um

programa que são executadas na ordem que aparecem.

Estruturas de seleção: mecanismo onde uma ação é realizada dependendo se uma condição é satisfeita ou não.

Estruturas de repetição: instruções que são executas repetidamente dependendo se uma condição é satisfeita ou não.

Tipos de Estruturas de Controle Estruturas de sequência:

– Instruções comuns;

Estruturas de seleção:– if if – else if – else – if– switch – case

Estruturas de repetição:– while– do – while– for– foreach

if As linhas de comando dentro do bloco só serão

executadas se a condição booleana declarada for satisfeita.

if ( expressão booleana ){

comando

}

if ( expressão booleana ){

comando

}

if Ex.:int idade = 20;

if ( idade >= 18 ){

meuLabel.Text = “Maior Idade!”;

}

int idade = 20;

if ( idade >= 18 ){

meuLabel.Text = “Maior Idade!”;

}

if-else Uma ação será executada se a condição

booleana declarada for satisfeita. Caso contrário, outra ação deve ser realizada.

if (expressão booleana){

comando1

}else{

comando2

}

if (expressão booleana){

comando1

}else{

comando2

}

if-else Ex.:double media = 5.0;

if ( media < 6.0 ){

meuLabel.Text = “Reprovado”;

} else {

meuLabel.Text = “Aprovado”;

}

double media = 5.0;

if ( media < 6.0 ){

meuLabel.Text = “Reprovado”;

} else {

meuLabel.Text = “Aprovado”;

}

if-else-if Essa variação define estrutura if-else aninhadas.

if (expressão booleana){

bloco de comandos

}else if (expressão booleana){

bloco de comandos

}else {

bloco de comandos

}

if (expressão booleana){

bloco de comandos

}else if (expressão 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;

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 série de

estruturas case, as quais representam os possíveis valores que a expressão pode assumir.

A estrutura deve ainda utilizar uma instrução break, ao término de cada bloco.

switch-case A estrutura switch-case também pode fornecer

um bloco que deve ser processado caso a expressão fornecida não corresponda à nenhuma das opções definidas no case.

O bloco em questão deve ser definido com o nome default.

switch-case Ex.: char letra = ‘b’;

string resposta = “ “;switch( letra ) {

case ‘a’:resposta = “Resposta errada!”;break;

case ‘b’:resposta = “Resposta correta!”;break;

case ‘c’:resposta = “Resposta errada!”;break;

default:resposta = “Resposta inválida!”;

}meuLabel.Text = “resposta”;

char letra = ‘b’;string resposta = “ “;switch( letra ) {

case ‘a’:resposta = “Resposta errada!”;break;

case ‘b’:resposta = “Resposta correta!”;break;

case ‘c’:resposta = “Resposta errada!”;break;

default:resposta = “Resposta inválida!”;

}meuLabel.Text = “resposta”;

Tipo da expressão deve ser

byte, char, short ou int

Tipo da expressão deve ser

byte, char, short ou int

Executado somente

quando todos os outros

cases falham

Executado somente

quando todos os outros

cases falham

while Nesta estrutura, uma condição booleana é

testada antes de entrar no bloco while. Enquanto a condição booleana for satisfeita, os

comandos dentro do bloco while serão processados.

while ( expressão booleana ){

bloco de comandos

}

while ( expressão booleana ){

bloco de comandos

}

Teste é feito no inícioTeste é feito no início

while Ex.:

int contador = 0;int valor = 0;while ( contador < 10 ) {

valor += 10;contador ++;

}meuLabel.Text = valor.ToString( );

int contador = 0;int valor = 0;while ( contador < 10 ) {

valor += 10;contador ++;

}meuLabel.Text = valor.ToString( );

int numero = 0;while ( true) {

numero += 1;}

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 condição booleana é testada somente ao final.

do{

bloco de comandos

}while( expressão booleana );

do{

bloco de comandos

}while( expressão booleana );

Teste é feito no finalTeste é feito no final

do-while Ex.:

int contador = 20;int valor = 0;do {

valor += contador;contador ++;

} while ( contador < 10 );meuLabel.Text = valor.ToString( );

int contador = 20;int valor = 0;do {

valor += contador;contador ++;

} while ( contador < 10 );meuLabel.Text = valor.ToString( );

comandos são executados pelo menos uma vez

for Na estrutura for devem ser declaradas:

– Uma variável de controle para inicializar o loop; – Uma condição booleana, a qual deve ser satisfeita

para que as instruções declaradas dentro do looppossam ser processadas;

– Uma expressão representando o incremento ou decremento da variável de controle.

for ( inicialização; condição; incremento ){

bloco de comandos

}

for ( inicialização; condição; incremento ){

bloco de comandos

}

for Ex.:

int valor = 0;

for ( int contador = 0; contador < 10; contador++ ){

valor += contador;

}

meuLabel.Text = valor.ToString( );

int valor = 0;

for ( int contador = 0; contador < 10; contador++ ){

valor += contador;

}

meuLabel.Text = valor.ToString( );

inicialização de uma variávelinicialização de uma variável

Expressão booleanaExpressão booleana Incremento ou decremento da variável

Incremento ou decremento da variável

foreach O foreach é usado quando queremos percorrer

todos os elementos de um array ou de coleções 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( );

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( );

Exercício1. Crie um Projeto chamado ‘Estruturas de

Controle’, depois crie um Web Form chamado ‘Index’.

2. Na página Index.aspx insira um Panel, um Button e um Label.

3. Clique duas vezes no Button para criar uma ação para o botão.

4. Dentro da ação do botão faça os exemplos dos slides apresentados anteriormente. Utilize o Label para mostrar o resultado de cada exemplo. Obs. Procure Ex.: nos slides.